我正在尝试使用 5 个按钮(北、东、南、西和中心)在 Windows 中移动 JFrame
目前,所有当前代码都已就位,并且在使用时可以工作;
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==northButton)
{
setLocation(500,500);
}
} //works
public void actionPerformed(ActionEvent e)
{
if(e.getSource()== northButton)
{
setLocation(north);
}
} //doesn't work
但是,作为任务的一部分,我需要使用 Java 工具包来 getScreenSize
宽度和高度,并使用计算来计算出屏幕的边界并将“北”发送到 setLocation( )
(如上)。但是,使用此方法会引发错误“找不到合适的方法”
我不确定如何解决此问题。下面的计算代码目前仅针对北。
int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
int width = this.getWidth();
int height = this.getHeight();
int north = ((screenWidth - width)/2);
任何帮助将不胜感激。 谢谢!
最佳答案
这里传递两个参数,X 和 Y:
setLocation(500,500);
你正在经过一个,但它是哪一个呢? X还是Y?如果是 X,Y 在哪里?:
int north = ((screenWidth - width)/2);
setLocation(north);
编译器告诉您它没有采用一个参数的 setLocation()
方法。它需要 2D 空间中的一个位置:即 X 和 Y。可能您想要的是:
setLocation(north, 0);
关于java - 使用 setLocation 在 Windows、Java 中移动 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21921135/