以下代码由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?
}
嗯......当我点击按钮时,我只得到一个空的表格......任何想法错误在哪里?
答案 0 :(得分:2)
JFileChooser本身不是一个组件,就像一个按钮。这是一个对话。所以这是“正确”工作。查看JFileChooser Java Doc以了解如何使用JFileChooser。
答案 1 :(得分:2)
您不应该使用MouseListener单击按钮。您应该使用ActionListener。
阅读JFileChooser API并按照“如何使用文件选择器”的Swing教程链接获取如何显示文件选择器的工作示例。基本上,您的代码看起来类似于示例程序中ActionListener中的代码。