有没有办法让 Java 应用程序的框架停留在我使用 .setLocation 显示的位置?我想禁用它由用户在屏幕上移动的能力。
最佳答案
以下是防止移动 JFrame 的方法。在生产应用程序中使用它不是一个好主意,因为当用户尝试最小/最大帧时,它会激怒用户并导致其他错误。
public static void main(String args[]) throws Exception {
class JFrameTypeLocking extends JFrame {
Point locked=null;
public JFrameTypeLocking(String string) {
super(string);
super.addComponentListener(new ComponentAdapter(){
public void componentMoved(ComponentEvent e) {
if (locked!=null) JFrameTypeLocking.this.setLocation(locked);
}});
}
public void lockLocation() {
locked=super.getLocation();
}
}
JFrameTypeLocking f = new JFrameTypeLocking("");
f.setSize(300,300);
f.setLocation(300,300);
f.setVisible(true);
f.lockLocation();
}
关于Java 制作 JFrame "stay put",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9708751/