Da li neko zna rešenje sledećeg problema? Ali, ako je moguće, da se u ove dve klase reši stvar, dakle da iz podklase stavim akciju na dugmetu iz nadklase. Prva klasa izgleda ovako:
public class GlavnaKlasa extends JFrame {
JPanel pGlavni = new JPanel(new BorderLayout());
JPanel pPrvi = new JPanel(new FlowLayout());
JButton dugme = new JButton("Biljana");
public GlavnaKlasa() {
pPrvi.add(dugme);
pGlavni.add(pPrvi);
setContentPane(pGlavni);
}
public static void main(String[] arg) {
JFrame.setDefaultLookAndFeelDecorated(false);
JFrame Win1 = new GlavnaKlasa();
Win1.setDefaultCloseOperation(EXIT_ON_CLOSE);
Win1.setSize(600, 350);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = Win1.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
Win1.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
Win1.setVisible(true);
}
}
A druga:
public class Akcija extends GlavnaKlasa implements ActionListener {
public Akcija() {
dugme.addActionListener(); // ovde naravno crveni Idea
dugme.setActionCommand("Biljana");
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "Biljana") {
System.out.println("radi");
}
}
}
Dakle, ovo ne radi, tj. dugme ne prima komandu, odnosno, kako da stavim osluškivač na dugme u ovoj drugoj klasi? Znam da sve ovo može da radi iz jedne klase, to nije problem, ali može li ovako nešto da se izvede?
public class GlavnaKlasa extends JFrame {
JPanel pGlavni = new JPanel(new BorderLayout());
JPanel pPrvi = new JPanel(new FlowLayout());
JButton dugme = new JButton("Biljana");
public GlavnaKlasa() {
pPrvi.add(dugme);
pGlavni.add(pPrvi);
setContentPane(pGlavni);
}
public static void main(String[] arg) {
JFrame.setDefaultLookAndFeelDecorated(false);
JFrame Win1 = new GlavnaKlasa();
Win1.setDefaultCloseOperation(EXIT_ON_CLOSE);
Win1.setSize(600, 350);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = Win1.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
Win1.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
Win1.setVisible(true);
}
}
A druga:
public class Akcija extends GlavnaKlasa implements ActionListener {
public Akcija() {
dugme.addActionListener(); // ovde naravno crveni Idea
dugme.setActionCommand("Biljana");
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "Biljana") {
System.out.println("radi");
}
}
}
Dakle, ovo ne radi, tj. dugme ne prima komandu, odnosno, kako da stavim osluškivač na dugme u ovoj drugoj klasi? Znam da sve ovo može da radi iz jedne klase, to nije problem, ali može li ovako nešto da se izvede?
