Почему Java Jbutton неправильно вызывает JFileChooser? - PullRequest
0 голосов
/ 18 февраля 2010

Следующий код был сгенерирован автоматически 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 ]

2 голосов
/ 18 февраля 2010

Вы не должны использовать MouseListener для нажатия на кнопку. Вы должны использовать ActionListener.

Прочитайте JFileChooser API и перейдите по ссылке на учебник Swing в разделе «Как использовать средства выбора файлов», чтобы получить рабочий пример того, как отобразить средство выбора файлов. По сути, ваш код будет выглядеть примерно как код в ActionListener из примера программы.

2 голосов
/ 18 февраля 2010

JFileChooser не является компонентом как таковым, как кнопка. Это диалог. Так что это работает "правильно". Проверьте JFileChooser Java Doc о том, как использовать JFileChooser.

...