有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    一般来说,不要(传递列表模型),而是使用JDialogJOptionPane从用户处收集所需的详细信息,当它们关闭时,从用户处检索所需的详细信息

    有关更多详细信息,请查看How to make dialogs