-1

テキスト ファイルから行を読み取って JTextField に入れる方法がわかりません。これまでのところ、テキスト ファイルを作成し、JTextFields を変更してその中のテキストを変更できるようにしています。この例:

  public void outputFile() throws FileNotFoundException{

    PrintStream output = new PrintStream(new FileOutputStream("test"));
    output.println(jtextfield1.getText());

  }

ボタンをクリックすると、このメソッドが実行されます。それは機能し、テキストファイルは実際に変更されています。問題は、この新しく変更されたテキストを JTextField に読み込もうとしていることです。その理由は、このプログラムのパネル間で変更するときに removeAll() メソッドを使用するためです。したがって、JTextField はデフォルト (空) として設定されます。再びこのパネルに戻ります。

たとえば、JTextField に「abc」と書き込んで「OK」ボタンをクリックした場合、JTextField を使用してパネルに戻ると、JTextField は「abc」のままで、リセットされないようにする必要があります (したがって、空になります)。これに対する解決策は、ファイル (ただし、多くの JTextField があるため 1 行のみ) から JTextField に読み込むことです。

4

3 に答える 3

0

Scanner クラスを使用して、ファイルを 1 行ずつ読み込むことができます。次のようなものがあります。

Scanner s = new Scanner(new File("test"));

if(s.hasNextLine()){
    jtextfield1.setText(s.nextLine());
}

お役に立てれば。

于 2014-05-12T11:59:17.353 に答える
0

removeAll は使用しないでください。削除する必要があるものだけを削除してください。

または、すべてをクリアする直前にボックスの内容を保存し、その一時値に設定した直後に一時変数を作成することもできます

String temp = textfield1.getText(); //Creates temporary string to hold the data in the text field
removeAll(); // your remove all call
textfield1.setText(temp); // sets the text to the temp variable you created earlier

st text メソッドが頭のてっぺんから呼び出されることを知らないので、これは正確ではないかもしれませんが、フィールドのテキストを設定するのと似たようなものでなければなりません

于 2014-05-12T12:23:13.867 に答える