0

以下のコードは、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?

}

ええと...ボタンをクリックすると、空のフォームしか表示されません...バグはどこにあるのでしょうか?

4

2 に答える 2

2

ボタンをクリックするために MouseListener を使用しないでください。ActionListener を使用する必要があります。

JFileChooser API を読み、「ファイル チューザーの使用方法」に関する Swing チュートリアルへのリンクに従って、ファイル チューザーを表示する方法の実例を確認してください。基本的に、コードはサンプル プログラムの ActionListener のコードのようになります。

于 2010-02-18T06:49:02.590 に答える
2

JFileChooser は、それ自体はボタンのようなコンポーネントではありません。ダイアログです。したがって、これは「正しく」機能しています。JFileChooser の使用方法については、JFileChooser Java Doc を確認してください。

于 2010-02-18T06:33:54.553 に答える