Чтение файла 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);
- .......
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д