그러나 파일을 열거 나 단순히 대화 상자를 닫을 때 파일 선택기 대화 상자에서 파일을 열려고합니다. 대화 상자가 다시 나타나고 두 번 닫아야합니다. 여기 내 코드는 두 번째 embeding 한JFileChooser 구성 요소가 이상하게 표시됩니다.
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);
}
}
환영합니다 – mKorbel
@Truong Thanh Dung 코드 라인별로 단계별 코드 줄을 디버깅해야합니다. [FileInputStream 시뮬레이션]도 예외가 아닙니다. (http://www.java2s.com/Tutorial/Java/) 0240__Swing/1260__JFileChooser.htm) – mKorbel
Tks mate, 나는 그것을 마침내 얻었다. 왜냐하면 ObjectOutputStream을 사용하여 예외 처리를했기 때문이다. 그 변수가 null 일 때 nullpointer를 표시한다. – babygau