Чтение файла Scanner'om - Java
Формулировка задачи:
Приветствую.
Как сделать так, чтобы при сканировании файла информация добавлялась сразу а не после перезагрузки приложения?
Я просто ввожу что-либо в поле ввода, сохраняю в файл, нажимаю просмотр, но в открывшемся новом окне то, что я написал в полее ввода, не отображается, оно отобразится только после перезагрузки приложения. как решить, незнаю.
package Test1;
import javax.swing.JFrame;
public class Test{
static Test2 test2 = new Test2("Test 2");
static Test3 test3 = new Test3("Test 3");
public static void main(String[] args) {
Play();
}
public static void Play(){
test2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test2.setSize(100, 120);
test2.setVisible(true);
test2.setResizable(false);
test2.setLocationRelativeTo(null);
}
public void Winf(){
test3.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
test3.setSize(100, 120);
test3.setVisible(true);
test3.setResizable(false);
test3.setLocationRelativeTo(null);
}
}package Test1;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import javax.swing.*;
public class Test2 extends JFrame{
private JButton b1 = new JButton("save");
private JButton b2 = new JButton("exit");
private JButton b3 = new JButton("preview");
private JTextField t1 = new JTextField(10);
TtTtT tt = new TtTtT();
Test test = new Test();
File file = new File("src/test.txt");
public Test2(String s){
super(s);
setLayout(new FlowLayout());
b3.setEnabled(false);
add(t1);
add(b3);
add(b1);
add(b2);
b1.addActionListener(tt);
b2.addActionListener(tt);
b3.addActionListener(tt);
}
public class TtTtT implements ActionListener{
@Override
public void actionPerformed(ActionEvent ae) {
try{
if(ae.getSource() == b1){
String s1 = t1.getText();
try{
// записываем введенное в test.txt
FileWriter trt = new FileWriter(file);
trt.write(s1);
trt.close();
}catch(Exception r){
r.printStackTrace();
}
//t1.setEditable(false);
b3.setEnabled(true);
}
if(ae.getSource() == b2){
System.exit(0);
}
if(ae.getSource() == b3){
setVisible(false);
dispose();
test.Winf();
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
}package Test1;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Scanner;
import javax.swing.*;
public class Test3 extends JFrame{
private JLabel l1 = new JLabel();
private JButton b1 = new JButton("exit");
private JButton b2 = new JButton("back");
ioioio io = new ioioio();
Test test = new Test();
private String ss = "";
public Test3(String s){
super(s);
setLayout( new FlowLayout());
try{
Scanner scn = new Scanner(new File("src/test.txt"));
while(scn.hasNext())
ss += scn.nextLine();
l1.setText(ss);
scn.close();
}catch(Exception b){
b.printStackTrace();
}
add(l1);
add(b1);
add(b2);
b1.addActionListener(io);
b2.addActionListener(io);
}
public class ioioio implements ActionListener{
@Override
public void actionPerformed(ActionEvent ae) {
try{
if(ae.getSource() == b1){
System.exit(0);
}
if(ae.getSource() == b2){
setVisible(false);
dispose();
test.Play();
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
}Решение задачи: «Чтение файла Scanner'om»
textual
Листинг программы
public void Winf(String s1){
.......
test3.l1.setText(s1);
.......
}