Witam. Podczas pisania programu w Eclipse, napotkałem na pewien problem.
W oknie znajdują się 2 pola JTextField, w które użytkownik wpisuje kwotę i czas, a po kliknięciu przycisku Oblicz, otwiera się kolejne okno, w którym muszę wykorzystać te wartości do pewnych obliczeń. Niestety nie wiem jak odczytać te zmienne (którym wartości są nadane w metodzie ActionPerformed buttona) w nowej klasie.
Oto kod okna z przyciskiem Oblicz:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Okno_Wprowadzanie_Danych extends JFrame implements ActionListener{
private JButton button;
private JLabel lKwota, lCzas;
private JTextField tKwota, tCzas;
public double kwota;
public int czas;
public Okno_Wprowadzanie_Danych() {
setTitle("Wprowadzanie danych");
setSize(500,500);
setResizable(false);
setLocationRelativeTo(null);
setLayout(null);
lKwota = new JLabel("Kwota do inwestycji (zł):");
lKwota.setBounds(50, 70, 200, 50);
add(lKwota);
tKwota = new JTextField("");
tKwota.setBounds(250, 70, 200, 50);
add(tKwota);
lCzas = new JLabel("Na jaki czas lokata (dni):");
lCzas.setBounds(50, 150, 200, 50);
add(lCzas);
tCzas = new JTextField("");
tCzas.setBounds(250, 150, 200, 50);
add(tCzas);
button = new JButton("Oblicz");
button.setBounds(150,250,200,70);
add(button);
button.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
kwota = Double.parseDouble(tKwota.getText());
czas = Integer.parseInt(tCzas.getText());
AppUser userApp = new AppUser();
userApp.setVisible(true);
}
public double getKwota(){
return kwota;
}
public int getCzas(){
return czas;
}
}
Próbowałem w nowej klasie czegoś takiego:
Okno_Wprowadzanie_Danych okno = new Okno_Wprowadzanie_Danych();
double zysk = okno.getKwota()*okno.getCzas();
System.out.println("Zysk wynosi "+ zysk);
Jednak wartości zmiennych są wtedy równe 0.