Привет всем, у меня очередной вопрос: Можно ли в этом примере сделать так, чтобы при нажатии кнопи "Cancel" происходила запись актуального состояния Frame в registry?
| Код | import javax.swing.*; import java.awt.*; import java.awt.event.WindowEvent; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.event.WindowAdapter; import java.util.prefs.Preferences;
public class view {
Preferences root = Preferences.userRoot(); Preferences node; JFrame frame;
public view(String FrameName) { super();
frame = new JFrame(); frame.setName(FrameName); frame.setTitle(FrameName); getPref(frame); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.getContentPane().add(new JScrollPane(Panel())); frame.setVisible(true);
}
JPanel Panel() { JPanel panel; panel = new JPanel(); panel.setLayout(new FlowLayout(FlowLayout.LEFT,10,10)); JButton but = new JButton("CLOSE"); but.addActionListener(getButtonCancel()); panel.add(but); return panel;
}
public void getPref(final JFrame frame){
String CurFrame = frame.getName(); node = root.node("testen/preferences/"+ CurFrame);
int left = node.getInt("left", 0); int top = node.getInt("top", 0); int width = node.getInt("width", 400); int height = node.getInt("height", 300);
frame.setBounds(left, top, width, height);
frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { node.putInt("left", frame.getX()); node.putInt("top", frame.getY()); node.putInt("width", frame.getWidth()); node.putInt("height", frame.getHeight()); } });
}
public ActionListener getButtonCancel() { return new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } };
}
}
|
|