Syk3r
I quit My Job for Folding
Código:
public class GUI extends JFrame{
ArrayList AL = new ArrayList();
public GUI(String titulo) {
super(titulo);
JMenuBar barra = new JMenuBar();
JMenu cri = new JMenu("Criação");
JMenu man = new JMenu("Manutenção");
JMenu gest = new JMenu("Gestão");
JMenuItem mi1 = new JMenuItem("Patrao");
JMenuItem mi2 = new JMenuItem("Trab. a Hora");
JMenuItem mi3 = new JMenuItem("Trab. a Comissão");
JMenuItem mi4 = new JMenuItem("Alterar");
JMenuItem mi5 = new JMenuItem("Eliminar");
JMenuItem mi6 = new JMenuItem("Listar");
TrataEv t = new TrataEv();
mi1.addActionListener(t);
mi2.addActionListener(t);
mi3.addActionListener(t);
mi4.addActionListener(t);
mi5.addActionListener(t);
cri.add(mi1);
cri.add(mi2);
cri.add(mi3);
man.add(mi4);
man.add(mi5);
gest.add(mi6);
barra.add(cri);
barra.add(man);
barra.add(gest);
setJMenuBar(barra);
this.setSize(400, 300);
this.setVisible(true);
addWindowListener(new Terminator());
}
class TrataEv implements ActionListener { // Classe interna
public void actionPerformed(ActionEvent e){
if (e.getSource() instanceof JMenuItem) {
[B][U]if(e.getActionCommand().equals("Patrao")) {
Dialog1 d1 = new Dialog1(GUI.this, "Patrao", true);[/U][/B]
}
}
}
}
class Terminator extends WindowAdapter { //Classe interna
public void windowClosing(WindowEvent e) {
dispose();
}
}
}
class Dialog1 extends JDialog
{
[B][U]ArrayList AL = new ArrayList();[/U][/B]
JTextField txt2, txt4;
JLabel txt1, txt3;
JButton ok, cancel;
public Dialog1(GUI g1, String titulo, boolean modal)
{
super(g1, titulo, modal);
this.setSize(200, 120);
txt1 = new JLabel("Nome:");
txt2 = new JTextField("", 10);
txt2.setEditable(true);
txt3 = new JLabel("Salário:");
txt4 = new JTextField("", 10);
txt4.setEditable(true);
ok = new JButton("Ok");
cancel = new JButton("Cancelar");
ok.addActionListener(new criar());
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.add(txt1);
c.add(txt2);
c.add(txt3);
c.add(txt4);
c.add(ok);
c.add(cancel);
addWindowListener(new Terminator());
this.setVisible(true);
}
class Terminator extends WindowAdapter { //Classe interna
public void windowClosing(WindowEvent e) {
dispose();
}
}
class criar implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if (e.getSource() instanceof JButton)
{
String nome = txt2.getText();
int sal = Integer.parseInt(txt4.getText());
Trabalhador t = new Patrao(nome, sal);
[B][U]AL.add(t);[/U][/B]
JOptionPane.showMessageDialog(null, AL);
}
}
}
}
Ora bem, a minha dúvida é a seguinte: Precisava que o ArrayList AL fosse uma variável que fosse alterada em ambas as classes. Sim, isto é o mesmo .java e a classe Dialog1 está fora da classe GUI. Manias de fazer GUI's à pata
PS: Há pequenas coisas que estão mal feitas, ou por fazer, eu sei disso mas a minha dúvida é só aquela. Agracedia que se não se desviassem muito