4つのテキストフィールドと1つのテキスト領域、およびテキストフィールドとテキスト領域を1行に1つの要素でテキストファイルに保存するボタンがある宿題の割り当てに取り組んでいます。次に、ファイルが保存されたことをユーザーに通知するダイアログが表示されます。ダイアログを閉じると、テキストフィールドとテキスト領域が空になります。ただし、プログラムに問題があります。
ダイアログウィンドウに関して、コンパイルしようとすると、プログラムは次のエラーを表示します。
emailProg.java:81: error: no suitable method found for showMessageDialog(emailProg.sendAction, String)
JOptionPane.showMessageDialog(this, "Saved");
^
次に、ダイアログを閉じた後、テキストフィールドとテキストエリアを空にする方法がわかりません。テキストフィールドを空にすることは、次のようなコードを使用して実行できることを知っています。
[textfield].setText("");
しかし、ダイアログを閉じた後でのみこれを行う方法がわかりません。
これが私のコードです:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class emailProg extends JFrame {
private JPanel panNorth;
private JPanel panCenter;
private JPanel panSouth;
private JLabel toLabel;
private JLabel ccLabel;
private JLabel bccLabel;
private JLabel subLabel;
private JLabel msgLabel;
private JTextField toField;
private JTextField ccField;
private JTextField bccField;
private JTextField subField;
private JTextArea msgArea;
private JButton send;
//The Constructor
public emailProg() {
setTitle("Compose Email");
setLayout(new BorderLayout());
panNorth = new JPanel();
panNorth.setLayout(new GridLayout(4, 2));
JLabel toLabel = new JLabel("To:");
panNorth.add(toLabel);
JTextField toField = new JTextField(15);
panNorth.add(toField);
JLabel ccLabel = new JLabel("CC:");
panNorth.add(ccLabel);
JTextField ccField = new JTextField(15);
panNorth.add(ccField);
JLabel bccLabel = new JLabel("Bcc:");
panNorth.add(bccLabel);
JTextField bccField = new JTextField(15);
panNorth.add(bccField);
JLabel subLabel = new JLabel("Subject:");
panNorth.add(subLabel);
JTextField subField = new JTextField(15);
panNorth.add(subField);
add(panNorth, BorderLayout.NORTH);
panCenter = new JPanel();
panCenter.setLayout(new GridLayout(2, 1));
JLabel msgLabel = new JLabel("Message:");
panCenter.add(msgLabel);
JTextArea msgArea = new JTextArea(5, 15);
panCenter.add(msgArea);
add(panCenter, BorderLayout.CENTER);
panSouth = new JPanel();
panSouth.setLayout(new FlowLayout());
JButton send = new JButton("Send");
panSouth.add(send);
add(panSouth, BorderLayout.SOUTH);
send.addActionListener (new sendAction());
}
private class sendAction implements ActionListener {
public void actionPerformed (ActionEvent event) {
try {
PrintWriter outfile = new PrintWriter("email.txt");
outfile.print("To: ");
outfile.println(toField.getText());
outfile.print("CC: ");
outfile.println(ccField.getText());
outfile.print("Bcc: ");
outfile.println(bccField.getText());
outfile.print("Subject: ");
outfile.println(subField.getText());
outfile.print("Message: ");
outfile.println(msgArea.getText());
JOptionPane.showMessageDialog(this, "Saved");
}
catch(FileNotFoundException e) {
System.out.println("File not found.");
}
}
}
public static void main(String[] args) {
emailProg win = new emailProg();
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.pack();
win.setVisible(true);
}
}
私はあなたが提供できるどんな助けにも感謝します。