btn_checkをクリックした場合のようにしたいので、txt_msg(JTExtArea)にエラーメッセージが表示されます。私はコマンドラインを使ってこのコードを実行しました。それは私のGUIでそれを適用したいだけです。メインクラスからtextAreaを呼び出すにはどうすればいいですか?私は別のクラスでそれを使うことができますか?
これは私のメインクラスです
public void actionPerformed(ActionEvent e) {
Object click = e.getSource();
if (click == btn_check){
BufferedReader br = null;
try {
String line;
br = new BufferedReader(new FileReader(txt_file.getText()));
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
} // end while in try
String everything = sb.toString();
} catch (IOException error) {
error.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
} //end try - catch - finally
File filename = new File(txt_area.getText());
try {
txt_msg.setText("Yes in Main");
// Scan file - read tokens
Scanner scanner = new Scanner(new UnicodeEscapes(new FileReader(filename)));
// Parse the file
parser parser = new parser(scanner);
parser.parse();
parser p = new parser(txt_msg); //this is where I want to pass my text area to parser class
} catch (Exception err) {
syntax_err = true;
}
}
}
これは私がnew_txt_msg.setText(m.toString())
を使用することを試みたが、それはうまくいきませんでした
JTextArea new_txt_msg;
public parser(JTextArea a) {
new_txt_msg = a;
}
public void report_error(String message, Object info) {
StringBuffer m = new StringBuffer("Error ");
if (info instanceof java_cup.runtime.Symbol)
m.append("("+info.toString()+")");
m.append(" : "+message);
System.out.println(m); //m holds the error message
}
私のパーサクラスです。
'mainclass.JTextArea.getText()'と同じように単純になると思いますが、セッターとゲッター。 –