Začínám s GUI a mám problém. Jedu dle koupené knížky Herouta. Potřebuji poradit.
- chtěl bych vytvořit po stisknutí (eventu) tlačítka3, které zároveň mění barvu hlavního okna vytvořit nové okno. Chtěl jsem to vytvořit analogicky jako vnitřní třídu class Tlacitko33 extends Frame kdy konstruktor Tlacitko33() by vytvořil podobné okenko s jedním buttonem ale nějak to nejde. Nemůžete mi někdo poradit? Předem díky
import java.awt.*;
import java.awt.event.*;
class Tlacitko32 extends Frame {
Button Tlacitko1,Tlacitko2,Tlacitko3;
Label Navesti1,Navesti2;
Tlacitko32() {
super.setTitle("Nazev xx okenka");
this.setBackground(Color.MAGENTA);
this.setLayout(new FlowLayout());
Tlacitko1 = new Button("Zmena textu 1");this.add(Tlacitko1);
Navesti1 = new Label("Kecy cislo 1");this.add(Navesti1);
Tlacitko2 = new Button("Zmena textu 2");this.add(Tlacitko2);
Navesti2 = new Label("Kecy cislo 2");this.add(Navesti2);
Tlacitko3 = new Button("Zmena barvy okenka");this.add(Tlacitko3);
Tlacitko1.addActionListener(new callTlacitko1());
Tlacitko2.addActionListener(new callTlacitko2());
Tlacitko3.addActionListener(new callTlacitko3());
this.addWindowListener(new Ukonceni());
this.setSize(450,250); }
class callTlacitko1 implements ActionListener {
public void actionPerformed(ActionEvent arg0) { Navesti1.setText("Snadne kecy");} }
class callTlacitko2 implements ActionListener {
public void actionPerformed(ActionEvent arg0) { Navesti2.setText("Jine kecy");} }
class callTlacitko3 implements ActionListener {
public void actionPerformed(ActionEvent arg0) {
Tlacitko3.setBackground(Color.blue); } }
class Ukonceni extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(1); } } }
class ZmenaBarvy extends Tlacitko32 implements ActionListener{
int cervena=255;
ZmenaBarvy() { // konstruktor
Tlacitko3.addActionListener(this);
Color pozadi = new Color(cervena,0,0);
this.setBackground(pozadi); }
public void actionPerformed(ActionEvent e) {
cervena =(cervena - 25) > 0 ? cervena - 25: 255;
this.setBackground(new Color(cervena,0,0)); } }
public class GUI020 {
public static void main(String [] args) {
new ZmenaBarvy().setVisible(true);
}
}