java - 为什么我的标签没有沿 y 轴居中? (斯坦福SEE CS106A)

标签 java graphics alignment acm-java-libraries

我正在尝试使用斯坦福的在线 CS106A 类(class)学习 Java。该类(class)使用来自 http://jtf.acm.org/ 的 acm 库包

谁能告诉我为什么下面的代码没有使标签沿 y 轴居中?

import acm.program.*;
import acm.graphics.*;

public class CenterLabel extends GraphicsProgram {
    public void run() {
        GLabel text = new GLabel("HELLO!");
        text.setFont("Arial-200");
        double cy = (getHeight() / 2) + (text.getAscent() / 2);
        text.setLocation(0, cy);
        add(text);
    }
}

当我运行这个程序时,我得到这个:http://i.imgur.com/rriSX.jpg

编辑: 另一件让我困扰的事情是作业中运行的样本似乎也有同样的对齐问题。 (见下面的链接,Ex3)

http://see.stanford.edu/materials/icspmcs106a/13-assignment-2-simple-java.pdf

仔细看图,类框里面的标签也没有居中?

最佳答案

您可以使用 setBounds 方法将标签定位在您想要的位置。它需要四个 int 参数。例如:

text.setBounds(20,20,20,20);

关于java - 为什么我的标签没有沿 y 轴居中? (斯坦福SEE CS106A),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9958338/

相关文章:

JAVA SQL 将所有通配符分配为 null

r - ggplotify 包中的函数 as.ggplot() 出现奇怪的错误

Android RelativeLayout alignParentRight 没有正确对齐 Imageview

.net - 用 CSS 修复我的 UI 问题?

html - 如何水平居中元素?

java - 为什么 Spring 会尝试使用属性变量引用字符串而不是值?

c# - 针对游戏的替代 Java 或 C# UI 库

java.lang.UnsatisfiedLinkError no *****.dll in java.library.path

algorithm - 使用 3D 像素(体素)绘制球体

c++ - C++的简单图形