如何在 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.