2010-02-18 4 views
0

Следующий код был сгенерирован автоматически Netbeans 6.8 Mac версияПочему Java Jbutton не вызывает JFileChooser правильно?

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

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

2

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

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

Смежные вопросы