Tom*_*m C 1 java swing jframe actionevent
我正在尝试JFrame使用 5 个按钮(北、东、南、西和中心)在 Windows 中移动,目前所有当前代码都已就位,并且在使用时可以正常工作;
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
Run Code Online (Sandbox Code Playgroud)
然而,作为任务的一部分,我需要使用 Java 工具包来计算getScreenSize宽度和高度,并使用计算来计算出屏幕的边界并将“北”发送到setLocation()(如上所示)。但是,使用此方法会引发错误,"No suitable method found"我不确定如何解决此问题。下面的计算代码目前仅适用于北向。
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);
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。谢谢!
这里您传递两个参数,X 和 Y:
setLocation(500,500);
Run Code Online (Sandbox Code Playgroud)
你正在经过一个,但它是哪一个呢?X还是Y?如果是 X,Y 在哪里?:
int north = ((screenWidth - width)/2);
setLocation(north);
Run Code Online (Sandbox Code Playgroud)
编译器告诉您它没有一种setLocation()采用一个参数的方法。它需要 2D 空间中的一个位置:即 X和Y。您可能想要的是:
setLocation(north, 0);
Run Code Online (Sandbox Code Playgroud)