首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不接受GraphicsConfiguration类命名的awt框架构造函数

不接受GraphicsConfiguration类命名的awt框架构造函数
EN

Stack Overflow用户
提问于 2014-11-27 15:28:11
回答 1查看 124关注 0票数 0

我刚刚开始我的Java努力,刚刚读完oracle网站上的学习java部分。所以我只是看了几个包裹看看什么是什么。

所以我看了一下awt包,我假设它是一个排序的图形包?

无论如何,我尝试使用以下方法创建一个框架:

代码语言:javascript
复制
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);
        }
}

当我试图编译时,会收到一个编译错误,如下所示:

代码语言:javascript
复制
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,因为它是一个抽象类,我不能用以下方法初始化它:

代码语言:javascript
复制
GraphicsConfiguration[] gc = GraphicsDevice.getConfiguration();

因为框架不接受GraphicsConfiguration[]作为构造函数。

任何帮助都将不胜感激,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-27 15:32:56

当您调用一个方法或构造函数时,您传递参数--值--您没有像声明方法或构造函数时那样声明参数。

所以应该是这样:

代码语言:javascript
复制
GraphicsConfiguration gc = ...; // Whatever you need to get a value
Frame f = new Frame(gc);

请注意,这与AWT无关。它只是调用方法或构造函数的基本语法。例如:

代码语言:javascript
复制
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,否则只需调用无参数构造函数:

代码语言:javascript
复制
Frame f = new Frame();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27174110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档