Przycisk wylaczajacy okno

0

Witam,

Jak w Swingu zaprogramowac przycisk (JButton) tak, zeby po jego kliknieciu zniknelo okno, w ktorym jest on wyswietlany? Chodzi mi o okno tylko z komunikatem i przyciskiem 'OK', po nacisnieciu ktorego okno znika.

Pozdrawiam

0

Metoda dispose() klasy Window zamyka okienko.
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html#dispose()

Ogólnie do komunikatów jest klasa JOptionPane...
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JOptionPane.html

Pozdrawiam,
Sylwester.

0

Hmmm, nie bardzo wiem jak moge zastosowac dispose() klasy Window w moim przypadku.... Kod wyglada nastepujaco:

public class WrongDataWindow extends JApplet{
	
	private JLabel label = new JLabel("You used wrong data format!!");
	private JButton button = new JButton("OK");
	
	class ButtonListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			///po nacisnieciu przycisku OK okno ma zniknac!!
		}
	}
	
	ButtonListener bl = new ButtonListener();
	
	public void init() {
		button.addActionListener(bl);
		Box bh1 = Box.createHorizontalBox();
		bh1.add(label);
		Box bh2 = Box.createHorizontalBox();
		bh2.add(button);
		Box bv = Box.createVerticalBox();
		bv.add(Box.createVerticalStrut(20));
		bv.add(bh1);
		bv.add(Box.createVerticalStrut(20));
		bv.add(bh2);
		Container cp = getContentPane();
		cp.setLayout(new FlowLayout());
		cp.add(BorderLayout.NORTH,bv);
	}
	
	public static void main(String[] args) {
		//Console.run(new WrongDataWindow(), 200, 125);
	}
}

Czy da sie jakos zamknac to okno przyciskiem 'OK', nie zamykajac przy okazji poprzedniego, z ktorego to zostalo powolane do zycia i nie przerabiajac grunownie kodu?

Pozdrawiam

0

Jeśli to ma być okno będące częścią normalnej aplikacji to należałoby dziedziczyć po JFrame, a nie po JApplet... A listenera napisałbym jako klasę anonimową, dzięki czemu miałby on dostęp do składowych okna. Coś w stylu:

button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        dispose();
    }
});

Mimo to nadal proponuję zapoznać się z JOptionPane.

Sylwester.

1 użytkowników online, w tym zalogowanych: 0, gości: 1