これはばかげた質問かもしれませんが、プログラムを実行すると、定義されていないシンボルが表示される独自のクラスを使用するコントローラーを介して、新しいGuiからテキスト領域にアクセスしようとしています(非常に単純です)。どこが間違っているのかわかりません。
コードは次のとおりです。
外部クラス
package dataget;
import java.io.*;
public class ReadWrite {
public void ReadFileContents(String fileName) {
try {
BufferedReader in = new BufferedReader(new FileReader(fileName));
int lineNumber = 0;
int currentLine;
String lines[];
while (in.readLine() != null) {
lineNumber++;
}
in.close();
lines = new String[lineNumber];
BufferedReader inLines = new BufferedReader(new FileReader(fileName));
for (currentLine = 0; currentLine < lineNumber;) {
lines[currentLine] = inLines.readLine();
txtareaOutput.appendText(lines[currentLine]);
currentLine++;
}
inLines.close();
txtareaStatus.appendText("Lines in File: " + lineNumber);
} catch (IOException ioe) {
System.out.println("File not found!");
}
}
そして今、コントローラークラス:
public class MainController implements Initializable {
@FXML
private TextField txtName;
@FXML
private TextField txtAge;
@FXML
private ComboBox comboGender;
@FXML
private Button btnRead;
@FXML
private Button btnWrite;
@FXML
private TextArea txtareaStatus;
@FXML
private TextArea txtareaOutput;
@FXML
public void clickRead(){
ReadWrite read = new ReadWrite();
read.ReadFileContents("data/dylans/data.txt");
}
}
無関係なので、数行を省略しました (それらはすべて同じ DataGet パッケージ内にあります)。
そして、「エラー:シンボルが見つかりません」というメッセージが表示され続けます:
Compiling 2 source files to C:\Apps\NetBeans 7.3.1\Dylans Projects\DataGet\build\classes
C:\Apps\NetBeans 7.3.1\Dylans Projects\DataGet\src\dataget\ReadWrite.java:28:
error: cannot find symbol txtareaOutput.appendText(lines[currentLine]);
symbol: variable txtareaOutput
location: class ReadWrite
C:\Apps\NetBeans 7.3.1\Dylans Projects\DataGet\src\dataget\ReadWrite.java:34:
error: cannot find symbol txtareaStatus.appendText("Lines in File: " + lineNumber);
symbol: variable txtareaStatus
location: class ReadWrite 2 errors
オブジェクトが作成された元のクラス ファイル内でテキストエリアを宣言する必要がありますか?
ありがとう。