代码之家  ›  专栏  ›  技术社区  ›  M. A. Kishawy Andy Guibert

为什么javajbutton没有正确调用JFileChooser?

  •  0
  • M. A. Kishawy Andy Guibert  · 技术社区  · 14 年前

    下面的代码是由netbeans6.8mac版本自动生成的

    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?
    
    }
    

    好吧…当我点击按钮时,我只得到一个空表单…你知道bug在哪里吗?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Will Hartung    14 年前

    JFileChooser本身并不像按钮那样是一个组件。这是一个对话。所以这是工作“正确的”。查看jfilechooserjava文档了解如何使用JFileChooser。

        2
  •  2
  •   camickr    14 年前

    你不应该用鼠标听筒来点击按钮。你应该使用ActionListener。

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