public class Pierwsza {
public static void main(String[] args) {
new Druga().okno();
}
}
import javax.swing.*;
public class Druga extends JFrame {
private JButton button=new JButton("cos");
public JButton getButton() {
return button;
}
public void okno(){
JPanel panel=new JPanel();
panel.add(button);
getContentPane().add(panel);
new Trzecia().zmien(getButton());
setVisible(true);
pack();
setSize(300,200);
}
}
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Trzecia {
public void zmien(JButton button)
{
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
button.setText("zmieniam na cos innego");
}
});
}
}
Tak wszystko działa. Teraz chce utworzyć 4 klasę i zrobić to w taki sposób.
public class Czwarta {
public void zmienn2()
{
Trzecia trzecia=new Trzecia();
Druga druga=new Druga();
trzecia.zmien(druga.getButton());
}
}
I w drugiej zamiast tej linii "new Trzecia().zmien(getButton());" daj ta "new Czwarta().zmienn2();" i nie działa. To takie próby na mniejszym programie, ponieważ w wiekszym mam taki sam problem. Tak jakbym nie dostawał referencji do tego obiektu.