Let the window system pick a spot to place the application
windows. This avoids having them all sit on top of one another.
Signed-off-by: Keith Packard <keithp@keithp.com>
+ private void Close() {
+ setVisible(false);
+ dispose();
+ --number_of_windows;
+ if (number_of_windows == 0)
+ System.exit(0);
+ }
+
public void actionPerformed(ActionEvent ev) {
if ("Exit".equals(ev.getActionCommand()))
System.exit(0);
public void actionPerformed(ActionEvent ev) {
if ("Exit".equals(ev.getActionCommand()))
System.exit(0);
+ else if ("Close".equals(ev.getActionCommand()))
+ Close();
else if ("Open".equals(ev.getActionCommand()))
SelectFile();
else if ("Download".equals(ev.getActionCommand()))
else if ("Open".equals(ev.getActionCommand()))
SelectFile();
else if ("Download".equals(ev.getActionCommand()))
fileMenu.add(preferencesAction);
preferencesAction.addActionListener(this);
fileMenu.add(preferencesAction);
preferencesAction.addActionListener(this);
+ JMenuItem closeAction = new JMenuItem("Close");
+ fileMenu.add(closeAction);
+ closeAction.addActionListener(this);
+
JMenuItem exitAction = new JMenuItem("Exit");
fileMenu.add(exitAction);
exitAction.addActionListener(this);
JMenuItem exitAction = new JMenuItem("Exit");
fileMenu.add(exitAction);
exitAction.addActionListener(this);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
- setVisible(false);
- dispose();
- --number_of_windows;
- if (number_of_windows == 0)
- System.exit(0);
Dimension ps = pane.getPreferredSize();
ps.width += i.left + i.right;
ps.height += i.top + i.bottom;
Dimension ps = pane.getPreferredSize();
ps.width += i.left + i.right;
ps.height += i.top + i.bottom;
+// setPreferredSize(ps);
+ setLocationByPlatform(true);