2012-05-12 13 views
2

ファイルを開いたとき、または単にダイアログを閉じるときに、ファイル選択ダイアログでファイルを開こうとしています。ダイアログが再び表示され、2回閉じる必要があります。ここに私のコードは、第二の埋込みする1JFileChooserコンポーネントが奇妙に表示される

JFileChooser openFileChooser = new JFileChooser(); 
openFileChooser.setDialogType(JFileChooser.SAVE_DIALOG); 
openFileChooser.showOpenDialog(null); 
openFileChooser.setCurrentDirectory(new File(".")); 
if (openFileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){ 
    input = new ObjectInputStream(new FileInputStream(openFileChooser.getSelectedFile())); 
    input.close(); 
} 

とコード行の残りの部分を最初に作成する

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {           
    try { 
     // TODO add your handling code here: 
     ObjectInputStream input; 
     JFileChooser openFileChooser = new JFileChooser(); 
     openFileChooser.setDialogType(JFileChooser.SAVE_DIALOG); 
     openFileChooser.showOpenDialog(null); 
     openFileChooser.setCurrentDirectory(new File(".")); 
     if (openFileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){ 
      input = new ObjectInputStream(new FileInputStream(openFileChooser.getSelectedFile())); 
      input.close(); 
     } 
     javax.swing.JFrame openFileFrame = new javax.swing.JFrame();   
     openFileFrame.setLayout(new BorderLayout()); 
     openFileFrame.setLocationRelativeTo(null); 
     openFileFrame.add(openFileChooser, BorderLayout.CENTER); 
     openFileFrame.pack(); 
     openFileFrame.setVisible(true); 
    } catch (IOException ex) { 
     Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex); 
    } 

} 

答えて

2

このコード行それで間違っているかわからない、ある1

javax.swing.JFrame openFileFrame = new javax.swing.JFrame();   
openFileFrame.setLayout(new BorderLayout()); 
openFileFrame.setLocationRelativeTo(null); 
openFileFrame.add(openFileChooser, BorderLayout.CENTER); 
openFileFrame.pack(); 
openFileFrame.setVisible(true); 
+0

あなたは歓迎です – mKorbel

+0

@Truong Thanh Dungコードラインごとにステップコード行をデバッグする必要があります。[FileInputStreamをシミュレートしたときに例外はありません](http://www.java2s.com/Tutorial/Java/) 0236__Swing/1260__JFileChooser.htm) – mKorbel

+0

Tks mate、私は最終的に儀式を得ました。ObjectOutputStreamで例外処理を行い、その変数がnullのときにnullpointerを表示するからです:) – babygau

1

openFileChooser.showOpenDialog(null)の最初のオカレンスを削除します。

+0

nullpointerエラーを表示するのを助けてくれません – babygau

+0

これらの呼び出しのうち、開いているファイルウィンドウが作成されます。また、それはOPEN_DIALOGであってはなりませんか? – user845279

+0

私はそれを最終的に、tks非常に仲間を固定しました:) – babygau

関連する問題