Eu criei duas classes, e chamei de Primeira.class e Segunda.class. Eu preciso usar em uma classe, uma variável X que está em outra classe, e não sei fazer a referência a isso.
Na Primeira.class eu digito um valor em uma JTextField, capturo esse valor em uma String, converto essa String para uma double X. Veja como eu fiz o código da Primeira.class:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Primeira extends JFrame implements ActionListener
{
JTextField T2;
JButton B3, B4;
public static void main(String[] args)
{
JFrame Janela = new Primeira();
Janela.setVisible(true);
WindowListener x = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
};
Janela.addWindowListener(x);
}
public Primeira()
{
setTitle("Título da janela");
setSize(280,200);
getContentPane().setLayout(new FlowLayout());
T2 = new JTextField(" ");
B3 = new JButton("Confirma");
B4 = new JButton("Sair");
getContentPane().add(T2);
getContentPane().add(B3);
getContentPane().add(B4);
B3.addActionListener(this);
B4.addActionListener(this);
}
public void actionPerformedd(KeyEvent e)
{
if (e.getSource() ==B3)
{
String valor = T2.getText();
double X = Double.parseDouble(valor);
}
if (e.getSource() ==B4)
{
System.exit(0);
}
}
}
Agora eu tenho uma outra classe, a Segunda.class, que vai precisar usar essa variável double X. Na Segunda.class eu digito um valor numérico em uma JTextField(T1), ao clicar no JButton (B1), capturo esse valor em uma String, converto esse valor para uma double A, crio uma double B que multiplica a double A por 0.18 (ou seja, calcula 18% de A), e preciso criar uma double C que multiplique a double B por aquela double X que foi criada na Primeira.class. Mas eu não sei fazer referência para poder usar uma variável que esteja em outra classe. Veja meu código desta Segunda classe.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Segunda extends JFrame implements ActionListener
{
JTextField T1;
JButton B1, B2;
public static void main(String[] args)
{
JFrame Janela = new Segunda();
Janela.setVisible(true);
WindowListener x = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
};
Janela.addWindowListener(x);
}
public Segunda()
{
setTitle("Título da janela");
setSize(280,200);
getContentPane().setLayout(new FlowLayout());
T1 = new JTextField(10);
getContentPane().add(T1);
B1 = new JButton("Calcula");
B1.addActionListener(this);
getContentPane().add(B1);
B2 = new JButton("Abre a Primeira");
B2.addActionListener(this);
getContentPane().add(B2);
}
public void actionPerformedd(KeyEvent e)
{
if (e.getSource() ==B1)
{
String st1 = T1.getText();
double A = Double.parseDouble(st1);
double B = A * 0.18;
/* Aqui eu preciso criar uma variável C assim:
double C = B * X;
mas acontece que a variável X está lá na
Primeira.class. Não sei fazer a referência a
uma variável que está em outra classe. */
T1.setText(C);
}
if (e.getSource() ==B2)
{
// Aqui eu preciso de uma rotina que abra a Primeira.class
}
}
}
Nesse final do código, quando eu clicar no JButtom (B2) eu desejo que abra a janela da Primeira.class, mas não sei fazer isto. Então, são dois problemas que não sei resolver. Se alguém puder me ajudar completando esse código aí acima, eu agradeço demais. Abraço a todos.
Marco