Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để đọc giá trị đầu vào từ JTextField và thêm vào JList trong Java?


JList là một lớp con của JComponent lớp cho phép người dùng chọn một lựa chọn duy nhất hoặc nhiều lựa chọn . Bản thân một lớp JList không hỗ trợ thanh cuộn. Để thêm thanh cuộn, chúng tôi phải sử dụng JScrollPane lớp cùng với lớp JList. Sau đó JScrollPane tự động quản lý một thanh cuộn. A DefaultListModel lớp cung cấp một triển khai đơn giản của một mô hình danh sách, có thể được sử dụng để quản lý các mục được hiển thị bởi một điều khiển JList. Chúng tôi có thể thêm các mục hoặc phần tử vào JList bằng cách sử dụng addElement () phương thức của DefaultListModel lớp. Chúng tôi cũng có thể thêm các mục hoặc phần tử vào JList bằng cách đọc giá trị đầu vào từ trường văn bản.

Ví dụ

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();
   }
}

Đầu ra

Làm cách nào để đọc giá trị đầu vào từ JTextField và thêm vào JList trong Java?