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.