基本的にここで行っているのは、テキスト ファイルの内容をユーザー入力フィールドにインポートすることです (そのうちの 7 つがあります。コマンド [i] のためにループを実行してそれらを調べます。コードはコンソール内で正常に動作しますが、各フィールドの最後の行を入力するだけなので、GUI では機能しません。
http://imageshack.us/f/692/21778853.jpg
ご覧のとおり、コンソールに正常に出力されますが、GUI で [インポート] をクリックしてデータをインポートすると、txt ファイルの最後のコマンドが表示されます。
私のコードは次のとおりです。
final JTextField Command[];//Create one dimensional array
Command = new JTextField[8];//Declare Command as a JTextField
for (int i = 1; i < 8; i++)//Run the loop through each selection
{
Command[i] = new JTextField(i);//Read through each text field
}
//Add user input fields including their absolute position on the panel
Command[1].setText("Please enter the commands...");//Starting text
Command[1].setBounds(121, 13, 236, 25);//Set the position of the text field
getContentPane().add(Command[1]);//Add this text field to the content
Command[2].setBounds(121, 47, 236, 25);/fsdfsdf
getContentPane().add(Command[2]);
Command[3].setBounds(121, 83, 236, 25);/fasdfasd
getContentPane().add(Command[3]);
Command[4].setBounds(121, 119, 236, 25);/fsfasdasdf
getContentPane().add(Command[4]);
Command[5].setBounds(121, 155, 236, 25);
getContentPane().add(Command[5]);
Command[6].setBounds(121, 191, 236, 25);
getContentPane().add(Command[6]);
Command[7].setBounds(121, 227, 236, 25);
getContentPane().add(Command[7]);
//IMPORT FILE
JMenuItem Import = new JMenuItem("Import");
File.add(Import);
Import.addActionListener(new ActionListener() {//Call up ActionListener function
public void actionPerformed(ActionEvent arg0) {//Event handler
try {
//use buffering, reading one line at a time
//FileReader always assumes default encoding is OK!
BufferedReader input = new BufferedReader(new FileReader("W:\\EclipsePortable\\Data\\workspace2\\" +
"RobotController\\src\\RobotController\\Import commands.txt"));
try {
String line = null; //not declared within while loop
while (( line = input.readLine()) != null) {
System.out.println(line);//Print the lines
for(int i = 1; i < 8; i++) {
Command[i].setText(line);
}
}}
finally {
input.close();
}
}
catch (IOException ex){
ex.printStackTrace();
}
}});`