【问题标题】:JAVA: size of frame and centering graphical objectsJAVA:框架的大小和居中的图形对象
【发布时间】:2012-08-27 12:00:49
【问题描述】:

这行代码有什么明显的错误吗?无论窗口大小如何,我都希望矩形保持居中。但这由于某种原因不起作用,矩形保持在同一个地方。

    public void run() {
    setSize(800, 800);
    createEntireFigure();


}
private void createEntireFigure(){
    int centerOfWindowWidth = getWidth() / 2;
    int centerOfWindowHeight = getHeight() / 2;

    GRectWithGLabel ("A String",centerOfWindowWidth, centerOfWindowHeight); 
}

【问题讨论】:

    标签: java frame centering


    【解决方案1】:

    您的矩形大小代码仅在创建矩形时调用,因此如果重新调整 GUI 大小,矩形的位置不会改变是有意义的。您需要以某种方式侦听 GUI 中的大小变化并调用代码重新定位矩形,然后才能使其正常工作。你用的是什么图形库?

    【讨论】:

    • acm.Graphics - 这是一个专门为学生设计的库,我正在关注斯坦福大学提供的编程方法课程。
    • @Tom:好的,我们这里的许多人都不熟悉这个库,因为它不是核心 Java 的一部分,但同样,要了解您在 createEntireFigure 方法中设置变量,但是这些变量一旦设置就不是很聪明,只有当你告诉他们改变时才会改变。要在重新调整窗口大小时更改它们,您必须以某种方式侦听重新调整大小的事件,然后在发生这种情况时重置这些变量。
    猜你喜欢
    • 2011-11-25
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多