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