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(); } }
ผลลัพธ์