java - 根据用户输入自动添加行

标签 java swing row

我想要做的是我的表格应该根据我在文本框中输入的行数自动添加行。例如,如果用户在文本框中输入 3,然后我单击他单击了 jbutton,则表将自动包含 3 行带有空值的行。我是编程新手,这是我们昨天做的一项实验 Activity ,但似乎没有人这样做

private JPanel contentPane;
private JTable table;
private JTextField textField;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                WindowwwTry frame = new WindowwwTry();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public WindowwwTry() {
    DefaultTableModel dm = new DefaultTableModel();
    addWindowListener(new WindowAdapter() {
        @Override

        public void windowOpened(WindowEvent e) {
            table.setModel(dm);
            dm.addColumn("PROCESS");
            dm.addColumn("CPU Time");
            dm.addColumn("Arrival Time");
        }
    });
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    table = new JTable();
    table.setBounds(177, 123, 1, 1);
    contentPane.add(table);

    textField = new JTextField();
    textField.setBounds(92, 24, 86, 20);
    contentPane.add(textField);
    textField.setColumns(10);

    JButton btnNewButton = new JButton("New button");
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
                try{
            int ps = Integer.parseInt(textField.getText());



            for(int x=0; x<ps; x++){
                dm.addRow(new Object[]{x});
            }
            }catch(Exception e){
                e.printStackTrace();
            }   
        }
    });
    btnNewButton.setBounds(206, 23, 89, 23);
    contentPane.add(btnNewButton);
}

最佳答案

你的代码工作得很好。您遇到的问题是您看不到结果,因为表的大小非常非常小。将设置边界的行更改为如下所示:

    table.setBounds(177, 123, 200, 100);

关于java - 根据用户输入自动添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28965535/

相关文章:

c++ - 使用 For 循环更改二维数组中一行的值

python - 如何获取 Pandas 数据框中行列表的最小值

java - Swing 应用程序中的 JTable 设计指南

java - 设置 Windows 变量以执行 Java 程序

java - 在调用方法之前使用 'this'。

java - Resilience4J Retry 的预期行为是什么?

java - 为 JTable 构建并发 TableColumnAdjuster

java - 将超链接附加到 JEditorPane

python - 使用 pandas 按行值索引列值

java - fragment 中的 float 操作按钮