JAVA - Zapisanie TextField'a

0

Witam,

Żaden ze mnie "klikacz" a zabrałem się za walkę z czymś co pewnie można nazwać programowaniem (chociaż pewnie powinienem być daleki od używania tego określenia z moim poziomem wiedzy). Do sedna: Walczę z pracą magisterską i dotyczy ona Jakości Produkcji. W ramach pracy mam stworzyć "takie tam małe coś". I mam taki problem:

Stworzyłem 2 klasy, które są zależne od siebie i teraz przechodząc z jednej klasy do drugiej (z TabelaSO1 do D2Rev1, otwieranie w nowym oknie) dane wpisane w 1 klasie "przepadają". Docelowo zależy mi na tym żeby były one zapamiętane (z możliwością edycji).

A i poza tym, że będę ogromnie wdzięczy za pomoc. TO BARDZO PROSZĘ SIĘ NIE ŚMIAĆ Z TEGO CO ZROBIŁEM!! :D

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Savepoint;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class TabelaSO1 extends JFrame implements ActionListener
{
	JLabel lLp, l1, l2, l3, l4, l5, l6, lPrzyczynaPowstania, lWplywNaNiezgodnosc, lDotknieteStrony;
	JLabel lKlientProcesu, lUwaga1, lUwaga2, lUwaga3,lsprawdz;
	
	JTextField t1na1, t1na2, t1na3,t1na4, t1na5, t1na6, t2na1, t2na2, t2na3, t2na4, t2na5, t2na6, t3na1;
	JTextField t3na2, t3na3, t3na4, t3na5, t3na6, t4na1, t4na2, t4na3, t4na4, t4na5,t4na6;
	
	
	
	
	JButton bSprawdz, bDodajPlik, bPrzegladPlikow , bSpisTresci, bPowrot, bDalej;
	
	String s1na1; 
	
public TabelaSO1()
{
	setSize(1300,750);
	setTitle("TabelaSO1 D2");
	setLayout(null);
	
	lLp = new JLabel("Lp.");
	lLp.setBounds(50,50,20,20);
	add (lLp);
	
	l1 = new JLabel("1");
	l1.setBounds(50,80,20,20);
	add (l1);
	
	l2 = new JLabel("2");
	l2.setBounds(50,155,20,20);
	add (l2);
	
	l3 = new JLabel("3");
	l3.setBounds(50,230,20,20);
	add (l3);
	
	l4 = new JLabel("4");
	l4.setBounds(50,305,20,20);
	add (l4);
	
	l5 = new JLabel("5");
	l5.setBounds(50,380,20,20);
	add (l5);
	
	l6 = new JLabel("6");
	l6.setBounds(50,455,20,20);
	add (l6);
	

	
	lPrzyczynaPowstania = new JLabel("Przyczyna powstania problemu, problem.", JLabel.CENTER);
	lPrzyczynaPowstania.setBounds(100,50,250,20);
	add (lPrzyczynaPowstania);
	
	lWplywNaNiezgodnosc = new JLabel("Jak duży wpływ na niezgodnośc? (1-10)", JLabel.CENTER);
	lWplywNaNiezgodnosc.setBounds(400,50,250,20);
	add (lWplywNaNiezgodnosc);
	
	lDotknieteStrony = new JLabel("Dotknięte strony.", JLabel.CENTER);
	lDotknieteStrony.setBounds(725,50,100,20);
	add (lDotknieteStrony);
	
	lKlientProcesu = new JLabel("Klient procesu.", JLabel.CENTER);
	lKlientProcesu.setBounds(925,50,150,20);
	add (lKlientProcesu);
	
	lUwaga1 = new JLabel("UWAGA 1: Wez sobie cos tu dopisz");
	lUwaga1.setBounds(50,550,750,20);
	add (lUwaga1);
	
	lUwaga2 = new JLabel("UWAGA 2: Wez sobie cos tu dopisz");
	lUwaga2.setBounds(50,600,750,20);
	add (lUwaga2);
	
	t1na1 = new JTextField();
	t1na1.setBounds(100,80,250,45);
	add (t1na1);
	
	t1na2 = new JTextField();
	t1na2.setBounds(100,155,250,45);
	add (t1na2);
	
	t1na3 = new JTextField();
	t1na3.setBounds(100,230,250,45);
	add (t1na3);
	
	t1na4 = new JTextField();
	t1na4.setBounds(100,305,250,45);
	add (t1na4);

	t1na5 = new JTextField();
	t1na5.setBounds(100,380,250,45);
	add (t1na5);
	
	t1na6 = new JTextField();
	t1na6.setBounds(100,455,250,45);
	add (t1na6);

	t2na1 = new JTextField();
	t2na1.setBounds(500,80,50,30);
	add (t2na1);
	
	t2na2 = new JTextField();
	t2na2.setBounds(500,155,50,30);
	add (t2na2);
	
	t2na3 = new JTextField();
	t2na3.setBounds(500,230,50,30);
	add (t2na3);
	
	t2na4 = new JTextField();
	t2na4.setBounds(500,305,50,30);
	add (t2na4);
	
	t2na5 = new JTextField();
	t2na5.setBounds(500,380,50,30);
	add (t2na5);
	
	t2na6 = new JTextField();
	t2na6.setBounds(500,455,50,30);
	add (t2na6);
	
	t3na1 = new JTextField();
	t3na1.setBounds(675,80,200,30);
	add (t3na1);
	
	t3na2 = new JTextField();
	t3na2.setBounds(675,155,200,30);
	add (t3na2);

	t3na3 = new JTextField();
	t3na3.setBounds(675,230,200,30);
	add (t3na3);
	
	t3na4 = new JTextField();
	t3na4.setBounds(675,305,200,30);
	add (t3na4);
	
	t3na5 = new JTextField();
	t3na5.setBounds(675,380,200,30);
	add (t3na5);
	
	t3na6 = new JTextField();
	t3na6.setBounds(675,455,200,30);
	add (t3na6);
	
	t4na1 = new JTextField();
	t4na1.setBounds(950,80,110,30);
	add (t4na1);
	
	t4na2 = new JTextField();
	t4na2.setBounds(950,155,110,30);
	add (t4na2);
	
	t4na3 = new JTextField();
	t4na3.setBounds(950,230,110,30);
	add (t4na3);
	
	t4na4 = new JTextField();
	t4na4.setBounds(950,305,110,30);
	add (t4na4);
	
	t4na5 = new JTextField();
	t4na5.setBounds(950,380,110,30);
	add (t4na5);
	
	t4na6 = new JTextField();
	t4na6.setBounds(950,455,110,30);
	add (t4na6);
	
	bSprawdz = new JButton("SPRAWDŹ");
	bSprawdz.setBounds(1110,80,150,30);
	add (bSprawdz);
	
	lsprawdz = new JLabel("NOK/OK",JLabel.CENTER);
	lsprawdz.setBounds(1110,130,150,30);
	add (lsprawdz);
	
	bDodajPlik = new JButton("Dodaj plik");
	bDodajPlik.setBounds(1110,250,150,30);
	add (bDodajPlik);
	
	bPrzegladPlikow = new JButton("Przegląd plików");
	bPrzegladPlikow .setBounds(1110,300,150,30);
	add (bPrzegladPlikow );
	
	bSpisTresci = new JButton("Spis treści");
	bSpisTresci.setBounds(1110,400,150,30);
	add (bSpisTresci);
	
	bPowrot = new JButton("Powrót");
	bPowrot.setBounds(1110,450,150,30);
	add (bPowrot);
	bPowrot.addActionListener(this);

	
	bDalej = new JButton("Dalej");
	bDalej.setBounds(1110,500,150,30);
	add (bDalej);
	
	s1na1 = t1na1.getText();
	
	
}
	
	public static void main(String[] args) 
	{
		TabelaSO1 obiekt = new TabelaSO1();
		obiekt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		obiekt.setVisible(true);
	}

	
	public void actionPerformed(ActionEvent e)
	{
		Object źródło = e.getSource();
		
		if(źródło==bPowrot )
		{
			D2Rev1 obiekt = new D2Rev1();
			obiekt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			obiekt.setVisible(true);
			dispose ();
			
		}
	}

	
	
	
	
	
}

i jeszcze jedna


import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class D2Rev1 extends JFrame implements ActionListener
{
	JLabel lWprowadzenie1, lWprowadzenie2, lWprowadzenie3, lWprowadzenie4, lWprowadzenie5;
	JButton bDiagramIshikawy, bArkuszKalkulacyjny, bTabelaSO1 ;
	
	public D2Rev1()
	{
		setSize(1450,750);
		setTitle("D2");
		setLayout(null);
		
		lWprowadzenie1 = new JLabel("Pierwszym etapem działania aplikacji jest: ",JLabel.CENTER);
		lWprowadzenie1.setBounds(20,40,400,20);
		add (lWprowadzenie1);
		
		lWprowadzenie2 = new JLabel("ZIDENTYFIKOWANIE I ILOŚCIOWE OKREŚLENIE PRZYCZYN ", JLabel.CENTER);
		lWprowadzenie2.setBounds(20,70,400,20);
		add (lWprowadzenie2);
		
		lWprowadzenie3 = new JLabel("ZIDENTYFIKOWANIE KLIENTA I DOTKNIĘTYCH STRON ",JLabel.CENTER);
		lWprowadzenie3.setBounds(20,100,400,20);
		add (lWprowadzenie3);
		
		lWprowadzenie4 = new JLabel("Do realizacji zostaną wykorzystane metody: ", JLabel.CENTER);
		lWprowadzenie4.setBounds(20,130,400,20);
		add (lWprowadzenie4);
		
		bDiagramIshikawy = new JButton ("Diagram Ishikawy");
		bDiagramIshikawy.setBounds(100,200,200,20);
		add(bDiagramIshikawy);
		bDiagramIshikawy.addActionListener(this);
		
		bArkuszKalkulacyjny = new JButton ("Arkusz Kalkulacyjny");
		bArkuszKalkulacyjny.setBounds(100,240,200,20);
		add(bArkuszKalkulacyjny);
		bArkuszKalkulacyjny.addActionListener(this);
		
		lWprowadzenie5 = new JLabel("Efektem wykorzystania narzędzi będzie prawidłowe uzupełninie: ", JLabel.CENTER);
		lWprowadzenie5.setBounds(20,350,400,20);
		add (lWprowadzenie5);
		
		bTabelaSO1 = new JButton ("Tabela SO1");
		bTabelaSO1.setBounds(100,400,200,20);
		add(bTabelaSO1);
		bTabelaSO1.addActionListener(this);
	}
	
	
	public static void main(String[] args) 
	
	{
		D2Rev1 obiekt = new D2Rev1();
		obiekt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		obiekt.setVisible(true);
			
	}


	@Override
	public void actionPerformed(ActionEvent e) 
	{
Object źródło = e.getSource();
		
		if(źródło==bDiagramIshikawy ||źródło==bArkuszKalkulacyjny )
		{
			JFileChooser fileChooser=new JFileChooser();  
			 File F = new File ("C:/zdjecia/ULA - konserwacja");
			 fileChooser.setCurrentDirectory(F);
			 
			 int a=fileChooser.showOpenDialog(null); 
			 
			 
			 if(a==JFileChooser.APPROVE_OPTION)  
			 {   
			  File fileToOpen=fileChooser.getSelectedFile();  
			  
			  try  
			  {  
			   Desktop.getDesktop().open(fileToOpen);  
			  }  
			  catch(Exception exception)  
			  {  
			   System.out.println("Problem occour when to open the file");  
			  }  
			 }
		
		}
		
		if (źródło==bTabelaSO1)
		{
			TabelaSO1 obiekt = new TabelaSO1();
			obiekt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			obiekt.setVisible(true);
			dispose();
		}
	}
}

Pozdrawiam i proszę o wyrozumiałość :D I tak się jeszcze zastanawiam, czy przechodzenie z jednej klasy do drugiej jest jakoś sensownie rozwiązane.

0

Zainteresuj się klasą JTable (na youtubie bardzo krótkie i proste tutoriale jak wykorzystać). Jest to komponent, który w tym przypadku będzie odpowiedni.

1 użytkowników online, w tym zalogowanych: 0, gości: 1