我刚刚开始我的Java努力,刚刚读完oracle网站上的学习java部分。所以我只是看了几个包裹看看什么是什么。
所以我看了一下awt包,我假设它是一个排序的图形包?
无论如何,我尝试使用以下方法创建一个框架:
import java.awt.*;
class WindowTest{
public static void main(String[] args){
Frame f = new Frame(GraphicsConfiguration gc);
Rectangle bounds = gc.getBounds();
f.setLocation(10 + bounds.x, 10 + bounds.y);
}
}当我试图编译时,会收到一个编译错误,如下所示:
main.java:5: error: ')' expected
Frame f = new Frame(GraphicsConfiguration gc);
^
main.java:5: error: illegal start of expression
Frame f = new Frame(GraphicsConfiguration gc);
^
2 errors我知道我不能实例化GraphicsConfiguration,因为它是一个抽象类,我不能用以下方法初始化它:
GraphicsConfiguration[] gc = GraphicsDevice.getConfiguration();因为框架不接受GraphicsConfiguration[]作为构造函数。
任何帮助都将不胜感激,谢谢。
发布于 2014-11-27 15:32:56
当您调用一个方法或构造函数时,您传递参数--值--您没有像声明方法或构造函数时那样声明参数。
所以应该是这样:
GraphicsConfiguration gc = ...; // Whatever you need to get a value
Frame f = new Frame(gc);请注意,这与AWT无关。它只是调用方法或构造函数的基本语法。例如:
public class Test {
public static void main(String[] args) {
someMethod(10); // Fine; uses an integer literal
int a = 10;
someMethod(a); // Fine; uses the value of a variable
someMethod(int b); // Invalid syntax
}
public static void someMethod(int x) {
System.out.println(x);
}
}但是,在这种特殊情况下,除非您有要指定的特定GraphicsConfiguration,否则只需调用无参数构造函数:
Frame f = new Frame();https://stackoverflow.com/questions/27174110
复制相似问题