리스너 내부에서 try/catch 블록에 대한 질문이 있습니다. 나는 JTextArea의 텍스트를 저장하는 경로를 제공하는 JDialog를 구현하려고 시도했다. 내 코드에서는 파일을 try로 저장하고 catch 부분의 메시지도 있습니다. 잘못된 경로를 삽입하면 내 캐치 만 캡처 (메시지 제공)하도록 변경해야합니까?(Java) try 및 try를 사용하여 actionlistener를 사용하는 방법?
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class MyFrame extends JFrame{
public MyFrame() {
super("SaveText");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new BorderLayout());
c.setPreferredSize(new Dimension(300, 400));
final JTextField tFileName = new JTextField();
final JTextArea tContent = new JTextArea();
JButton bSave = new JButton("Save to File");
JButton bReset = new JButton("Reset Content");
JPanel pFile = new JPanel();
pFile.setLayout(new GridLayout(2, 2));
pFile.add(new JLabel("Content:"));
c.add(pFile, BorderLayout.NORTH);
JPanel pForm = new JPanel();
pForm.setLayout(new GridLayout(1, 1));
pForm.add(tContent);
c.add(pForm, BorderLayout.CENTER);
JPanel pButtons = new JPanel();
pButtons.setLayout(new GridLayout(1, 2));
pButtons.add(bSave);
pButtons.add(bReset);
c.add(pButtons, BorderLayout.SOUTH);
bSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
JDialog dialog = new JDialog();
dialog.setTitle("Path");
JButton button= new JButton("Close");
dialog.add(tFileName);
dialog.add(button);
dialog.setSize(300, 100);
dialog.setLayout(new GridLayout(1,1));
dialog.setVisible(true);
tContent.write(new FileWriter(tFileName.getText()));
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.dispose();
}
});
} catch (IOException ex) {
System.out.println("Not possible to save the file ");
}
}
});
pack();
setVisible(true);
}
public static void main(String[] args) {
MyFrame test=new MyFrame();
}
}
당신이 무엇을 의미합니까 : 내 캐치는 캡처 있도록 변경할 필요가있는 무엇 (메시지를 제공합니다) 잘못된 경로를 삽입 했습니까? – ifly6
이 시점에서 올바른 경로 또는 잘못된 경로를 지정하면 코드가 작동합니다. 올바른 경로를 통해 파일을 저장하지만 캐치가 메시지를 반환합니다 ("파일을 저장할 수 없음"). 잘못된 경로로 메시지를 반환하십시오. Try 부분이 작동 할 때 무엇이 잘못 되었나요? 왜 catch 메시지도 반환합니까? 이 코드 부분에서 내가 뭘 잘못 했니? – Babi
나는 옳은 길을 따라 파일을 저장하지만 캐치가 메시지를 반환하는지 또는 캐치 메시지를 반환하는 이유를 이해하지 못합니다. – ifly6