Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะอ่านค่าอินพุตจาก JTextField และเพิ่มไปยัง JList ใน Java ได้อย่างไร


JList เป็นคลาสย่อยของ JComponent คลาสที่อนุญาตให้ผู้ใช้เลือก การเลือกเดียว หรือ หลายตัวเลือก . คลาส JList นั้นไม่รองรับแถบเลื่อน ในการเพิ่มแถบเลื่อน เราต้องใช้ JScrollPane คลาสร่วมกับคลาส JList จากนั้น JScrollPane จะจัดการแถบเลื่อนโดยอัตโนมัติ DefaultListModel คลาสจัดเตรียมการใช้งานโมเดลรายการอย่างง่าย ซึ่งสามารถใช้เพื่อจัดการไอเท็มที่แสดงโดยคอนโทรล JList เราสามารถเพิ่มรายการหรือองค์ประกอบลงใน JList โดยใช้ addElement() วิธีการของ DefaultListModel ระดับ. เรายังเพิ่มรายการหรือองค์ประกอบลงใน 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();
   }
}

ผลลัพธ์

จะอ่านค่าอินพุตจาก JTextField และเพิ่มไปยัง JList ใน Java ได้อย่างไร