最初のフレームには、フォーム レイアウトのパネルがあり、「追加」ボタンがあります。ユーザーが [追加] ボタンをクリックすると、2 番目のフレームが表示されます。2 番目のフレームは、ユーザーが A.java でボタンを作成するために必要な情報を入力できるように表示されます。
A.java のフレームの ADD ボタン:
JButton button_3 = new JButton("ADD");//ADD ROW
button_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
addCHECKUP addC = new addCHECKUP();//note that addCHECKUP is B.java
addC.setVisible(true);
addC.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
});
A.java のフレーム:
A.javaのフレームでADD ボタンをクリックすると、B.java のフレームが表示されます。
B.java のフレーム:
ユーザーが B.java のフレームですべての入力を終了したら、ADD ボタンをクリックします。次に、B.java のフレームでのユーザー入力に基づいて、A.java のフレームに新しいボタンが作成されます。
これまでは、B.java のフレームにある ADD ボタンをクリックすると、情報がテキスト ファイルに保存されていました。以下は、ADD ボタンのコードです。
JButton btnAdd = new JButton("ADD");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.out.println(comboBox_1.getSelectedItem()); //getActivity
if (chckbxNewCheckBox.isSelected()){//if complication
System.out.println("*"+textField.getText());//setTaskName have * sign
}
else{
System.out.println(textField.getText());
}
System.out.println(comboBox.getSelectedItem()); //getDay
String filename = "c:" + File.separator + "Text File from B.java Class.txt";
File f = new File(filename);
PrintWriter pw = null;
try {
pw = new PrintWriter(f);
pw.println(comboBox_1.getSelectedItem());
if (chckbxNewCheckBox.isSelected()){//if complication
pw.println("*"+textField.getText());
}
else{
pw.println(textField.getText());
}
pw.println(comboBox.getSelectedItem());
pw.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
if(pw!=null){
pw.close();
}
}
JOptionPane.showMessageDialog(null,"Successfully added !");
}
});
ここで、テキスト ファイルにアクセスし、テキスト ファイルの情報に基づいて新しいボタンを作成するつもりです。テキスト ファイルの情報に基づいて新しいボタンを作成する方法がわかりません。他にもっと簡単な方法があれば教えてください。
このようなボタンを作成したい: これを B.java に置く
JButton btn_34 = new JButton("Uptitrate BB");//Task Name
BigPanel.add(btn_34, "12, 11"); //12 and 11 is based on Activity and Day
しかし、BigPanel.add のエラー