actionListener を使用せずに JCheckBox から情報を取得する方法はありますか。私のコードでは、文字列のファイルをスキャンし、各行にデータがあり、選択した場合、プログラムの配列に追加する必要があります。問題は、JCheckBox がいくつあるかわからないことです。それはファイルに依存します。
だから、私の質問は、ボタンを押すだけで選択した文字列を配列(またはリスト)に入れる方法(OK)です。赤黒のツリーに配置するため、選択した文字列を putDataInTheTree メソッドにプッシュする必要があります)。
編集: また、既にプログラムに追加されている JCheckBox を表示しないことは可能ですか? IE で流体を選択した場合、次に入力メソッドを呼び出したときにパネルに流体が表示されませんか?
前もって感謝します!
見た目:
私のコードはこれまでです:
public void input() {
try {
mainWindow.setEnabled(false);
fromFile = new JFrame("Input from file");
fromFile.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
fromFile.setLayout(new BorderLayout());
fromFile.setSize(300,200);
panelFromFile = new JPanel();
panelFromFile.setLayout(new java.awt.GridLayout(0,1));
JScrollPane scrollPane2 = new JScrollPane(panelFromFile);
scrollPane2.setMaximumSize(new Dimension(300, 180));
FileReader File = new FileReader(data);
BufferedReader Buffer = new BufferedReader(File);
while ((info = Buffer.readLine()) != null) {
if (info != null) {
JCheckBox check = new JCheckBox(info);
panelFromFile.add(check);
}
}
ok = new JButton("ok");
ok.addActionListener(this);
fromFile.add(scrollPane2, BorderLayout.CENTER);
fromFile.add(ok, BorderLayout.SOUTH);
fromFile.setLocationRelativeTo(null);
fromFile.setResizable(false);
fromFile.setVisible(true);
}
catch(Exception e) {
text.append("Error in INPUT method");
text.append(System.getProperty("line.separator"));
}
}