我在这里面临一个小问题。
我试图保存jFrame的实际位置,并在再次创建此框架后恢复该位置。
这是“保存”过程:
private void formWindowClosing(java.awt.event.WindowEvent evt) {
Parent.Throttle_vorhanden = 0;
root.Hauptfenster.LastPositionThrottlePlate=this.getLocation();
this.dispose();
}
在这里,我尝试再次设置旧位置:
public Throttle(Hauptfenster parent, root.rs232.rs232Connection Conn, Integer throttlePosition) {
super();
Parent = parent;
conn = Conn;
actualThrottlePosition = throttlePosition;
initComponents();
jScrollBar2.setValue(root.Hauptfenster.MPR);
this.setTitle("Throttle");
this.setVisible(true);
if (root.Hauptfenster.LastPositionThrottlePlate!=null) {
this.setLocation(root.Hauptfenster.LastPositionThrottlePlate);
}
稍为改变一下,我看到框架处于旧位置,但随后在屏幕中间“跳跃” ...
谁能想象为什么jFrame这样的行为?
对不起我的英语不好...
最佳答案
正确放置JFrame之后,将其设置为可见。
只需反转上次操作的顺序即可:
if (root.Hauptfenster.LastPositionThrottlePlate!=null) {
this.setLocation(root.Hauptfenster.LastPositionThrottlePlate);
}
this.setVisible(true);