Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #442
| From | "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> |
|---|---|
| Subject | Re: closing a specific JF |
| Message-ID | <X0Jhh.1712$uX4.1314@newsfe09.phx> (permalink) |
| Newsgroups | comp.lang.java.gui |
| References | <1166480819.702914.157250@n67g2000cwd.googlegroups.com> |
| Date | 2011-04-27 15:27 +0000 |
| Organization | TDS.net |
To: comp.lang.java.gui
William Z. wrote:
> I have a JFrame that, when I click "new" in the menu bar, creates
> another JFrame like that of the first. It just runs the following code
> ...
>
> EventQueue.invokeLater(new Runnable() {
> public void run() {
> MyApp app = new MyApp();
> app.createGUI();
> }
> });
>
> And inside the createGUI() method is this ...
>
> addWindowListener(new WindowListener() {
> public void windowOpened(WindowEvent arg0) {}
> public void windowClosed(WindowEvent arg0) {}
> public void windowIconified(WindowEvent arg0) {}
> public void windowDeiconified(WindowEvent arg0) {}
> public void windowActivated(WindowEvent arg0) {}
> public void windowDeactivated(WindowEvent arg0) {}
> public void windowClosing(WindowEvent arg0) {
> System.exit(0);
> }
> });
>
> As it works right now, when I close a window, all the windows close and
> I'd just like to close only that specific window in which the user
> clicked the close button.
>
> Any help much appreciated.
>
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class test extends JFrame implements ActionListener {
JButton openButton,closeButton;
JFrame frame;
public test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
openButton = new JButton("Open");
openButton.addActionListener(this);
add(openButton);
closeButton = new JButton("Close");
closeButton.setEnabled(false);
closeButton.addActionListener(this);
add(closeButton);
frame = new JFrame("extra frame");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
test.this.actionPerformed(new ActionEvent(
closeButton,ActionEvent.ACTION_PERFORMED,"Close"));
}
});
frame.setSize(400,300);
frame.setLocationRelativeTo(null);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
String ac = ae.getActionCommand();
if (ac.equals("Open")) {
openButton.setEnabled(false);
frame.setVisible(true);
closeButton.setEnabled(true);
} else if (ac.equals("Close")) {
closeButton.setEnabled(false);
frame.setVisible(false);
openButton.setEnabled(true);
}
}
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
new test();
}
};
EventQueue.invokeLater(r);
}
}
--
Knute Johnson
email s/nospam/knute/
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
Back to comp.lang.java.gui | Previous | Next — Previous in thread | Find similar
closing a specific JFrame "William Z." <william.z.@THRWHITE.remove-dii-this> - 2011-04-27 15:27 +0000
Re: closing a specific JF "Daniel Pitts" <daniel.pitts@THRWHITE.remove-dii-this> - 2011-04-27 15:27 +0000
Re: closing a specific JF "William Z." <william.z.@THRWHITE.remove-dii-this> - 2011-04-27 15:27 +0000
Re: closing a specific JF "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> - 2011-04-27 15:27 +0000
csiph-web