为什么Java Jbutton没有正确调用JFileChooser?

时间:2010-02-18 06:28:31

标签: java swing netbeans6.8 jfilechooser

以下代码由Netbeans 6.8 Mac版自动生成

public class fileBrowser extends javax.swing.JPanel {

/** Creates new form fileBrowser */
public fileBrowser() {
    initComponents();
}

/** This method is called from within the constructor to
 * initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is
 * always regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

    jFileChooser1 = new javax.swing.JFileChooser();

    setName("Form"); // NOI18N

    jFileChooser1.setName("jFileChooser1"); // NOI18N

    org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
    this.setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
        .add(org.jdesktop.layout.GroupLayout.TRAILING, jFileChooser1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 590, Short.MAX_VALUE)
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
        .add(jFileChooser1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE)
    );
}// </editor-fold>


// Variables declaration - do not modify
private javax.swing.JFileChooser jFileChooser1;
// End of variables declaration

}

我正在尝试使用以下代码创建一个调用它的按钮(以允许用户选择文件):

 private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {
fileBrowser fileBrowser = new fileBrowser();
fileBrowser.setVisible(true);//why not working?

}

嗯......当我点击按钮时,我只得到一个空的表格......任何想法错误在哪里?

2 个答案:

答案 0 :(得分:2)

JFileChooser本身不是一个组件,就像一个按钮。这是一个对话。所以这是“正确”工作。查看JFileChooser Java Doc以了解如何使用JFileChooser。

答案 1 :(得分:2)

您不应该使用MouseListener单击按钮。您应该使用ActionListener。

阅读JFileChooser API并按照“如何使用文件选择器”的Swing教程链接获取如何显示文件选择器的工作示例。基本上,您的代码看起来类似于示例程序中ActionListener中的代码。