java按钮传递列表模型
我需要一个带jlist和两个按钮的盒子。一个按钮将关闭该框,另一个按钮将显示一个文本框,用户可以填写该文本框以向jlist添加元素
到目前为止,我所拥有的:
import java.awt.FlowLayout;
import javax.swing.*;
public class Main {
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame box = new JFrame("Course List");
box.setSize(600,300);
box.setLayout(new FlowLayout());
box.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
box.setVisible(true);
DefaultListModel listModel = new DefaultListModel();
JList list = new JList(listModel);
list.setSelectedIndex(1);
box.add(new JScrollPane(list));
box.pack();
JButton button1 = new JButton("Add Course");
box.add(button1);
HandlerClass handler = new HandlerClass();
button1.addActionListener(handler);
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;
class HandlerClass implements ActionListener{
public void actionPerformed(ActionEvent e) {
String input;
input = JOptionPane.showInputDialog(null, "Enter in course name");
}
}
我的问题是我不知道如何通过“ListModel”,或者这是否可能,这样我就可以做类似ListModel的事情。添加元素(输入)并将文本从文本添加到jlist
编辑:
所以我不知道这是不是应该这样做,但我只是在我的main中创建了一个无限循环,在handler类中创建了一些setter和getter。这是可行的,但我的建议不是正确的方法
# 1 楼答案
一般来说,不要(传递列表模型),而是使用
JDialog
或JOptionPane
从用户处收集所需的详细信息,当它们关闭时,从用户处检索所需的详细信息有关更多详细信息,请查看How to make dialogs