如何在 Java 中從 JTextField 中讀取輸入值並將其新增到 JList 中?


JList 作為 JComponent 類的子類,允許使用者選擇單選多選。JList 類本身不支援捲軸。要新增捲軸,我們必須將 JScrollPane 類與 JList 類一起使用。然後,JScrollPane 會自動管理捲軸。DefaultListModel 類提供列表模型的簡單實現,可用於管理由 JList 控制元件顯示的專案。我們可以透過使用 DefaultListModel 類的 addElement() 方法向 JList 新增專案或元素。我們還可以透過從文字欄位讀取輸入值向 JList 中新增專案或元素。

示例

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JTextfieldToJListTest extends JFrame {
   private DefaultListModel model;
   private JList list;
   private JTextField jtf;
   public JTextfieldToJListTest() {
      setTitle("JTextfieldToJList Test");
      model = new DefaultListModel();
      jtf = new JTextField("Type something and Hit Enter");
      jtf.addMouseListener(new MouseAdapter() {
         public void mouseClicked(MouseEvent me) {
            jtf.setText("");
         }
      });
      list = new JList(model);
      list.setBackground(Color.lightGray);
      jtf.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent event) {
            model.addElement(jtf.getText());
            JOptionPane.showMessageDialog(null, jtf.getText());
            jtf.setText("Type something and Hit Enter");
         }
      });
      add(jtf,BorderLayout.NORTH);
      add(new JScrollPane(list),BorderLayout.CENTER);
      setSize(375, 250);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new JTextfieldToJListTest();
   }
}

輸出

更新時間:10-Feb-2020

1K+ 瀏覽量

開啟 事業

完成課程以獲得認證

開始
廣告
© . All rights reserved.