按钮油漆窗格

时间:2014-01-02 15:24:28

标签: java swing jtable jbutton

我正在尝试向我的JTable添加数据。我有以下代码,它不会引发任何错误,但是当我运行预览模式并单击按钮时,什么都没发生。

Object[][] data = null;
String[] columnNames = new String[2];

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    columnNames = new String[] {"Title", "Author"};
    data = new Object[1][2];
    data[0][0] = JOptionPane.showInputDialog("Enter a book title");
    data[0][1] = JOptionPane.showInputDialog("Enter author name");
    jTable1.setModel(new DefaultTableModel(data, columnNames));
}   

1 个答案:

答案 0 :(得分:2)

  

[...]但是当我运行预览模式并单击按钮时没有   一切都好了。

基于引用行和您的code我怀疑您正在运行NetBeans GUI Designer预览模式:

enter image description here

如果是这样,则不会发生任何事情,因为此选项旨在显示设计的GUI但不与其交互。因此,您可以整天按下该按钮而不会产生任何结果。相反,您需要在面板中显示JFrameJDialog,如下所示:

public class Test {

    private void createAndShowGUI() {
        JPanel bookStoreSystem  = new BookStoreSystem();

        JFrame frame = new JFrame("Test");      
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.getContentPane().add(bookStoreSystem);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) {   
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Test().createAndShowGUI();
            }
        });
    }
}

更新

  

书店系统无法找到

根据您的文件树:

http://puu.sh/66Ooz.png

由于缺少对此类的导入,因此无法找到BookStoreSystem类。首先在默认包中创建类不是一个好习惯,所以你应该重命名这个包(比如说gui):右键单击包 - >重构 - >改名。第二步是在BookStore类中添加正确的导入:

import gui.BookStoreSystem;

这应该可以解决你的问题。