gpt4 book ai didi

java - Java AWT 的不正确对齐错误。无法移动我的标签

转载 作者:行者123 更新时间:2023-11-30 04:51:49 25 4
gpt4 key购买 nike

我已将标签放入框架中,但它拒绝移动。 SetBounds() 不起作用,如果我将任何参数放在“Result”下面,并且不是 0、1 或 2,那么我会收到不正确的对齐错误,而这些参数都没有将其放置在正确的位置。这是我声明标签的地方:

标签结果 = new Label("结果。", 3);

这是 SetBounds 语句:

结果.setBounds(0, 1500, 100, 20);

我正在编写的这个程序,我只是想让用户输入 2 个数字,将它们相加,然后使用 GUI 组件打印结果。结果是标签拒绝改变。整个程序的代码如下,程序还没有完成,但是如果你编译它,结果总是粘在左边,我希望它与文本字段处于同一水平。这个问题实际上发生在其他标签 Help1 和 Help2 上。请不要告诉我我必须使用 swing!我不喜欢 Swing 。

我尚未将事件更改为添加用户输入的位置。我从以前的程序中复制了该事件。

代码:(抱歉没有评论,但这不是一个很大的程序)

import java.awt.*;
import java.awt.event.*;

public class MouseClick {
TextField number1;
TextField number2;

public static void main(String[] args) {
MouseClick MC = new MouseClick();
}

public MouseClick() {
Frame f = new Frame("Addition Time!");
Button button = new Button("Click Here To Add The Two Numbers.");
button.setBounds(175, 250, 230, 30);
button.addMouseListener(new MyMouseListener());
f.add(button);
Label help1 = new Label("Enter the first number below.");
Label help2 = new Label("Enter the second number below.");
Label exprsn1 = new Label("+", 0);
Label exprsn2 = new Label("=", 0);
Label result = new Label("Result.", 3);
number1 = new TextField("TextField1", 100);
number2 = new TextField("TextField2", 100);
help1.setBounds(50, 80, 150, 20);
help2.setBounds(250, 80, 150, 20);
exprsn1.setBounds(00, 80, 30, 30);
exprsn2.setBounds(00, 80, 30, 30);
number1.setBounds(50, 100, 100, 20);
number2.setBounds(250, 100, 100, 20);
result.setBounds(0, 1500, 100, 20);
f.add(number1);
f.add(number2);
f.add(help1);
f.add(help2);
f.add(result);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
f.setSize(600, 300);
f.setVisible(true);
}

public class MyMouseListener extends MouseAdapter {
public void mouseClicked(MouseEvent me) {
String S = number1.getText();
number2.setText(S);
}
}
}

最佳答案

错误是因为 3 不是构造函数中参数“alignment”的允许值

Label(String text, int alignment) 

您是否对具有类似构造函数的 TextField() 感到困惑?

TextField(String text, int columns)

标签未出现在正确位置的原因是您没有明确指定使用空布局。你需要这一行:

public MouseClick() {
Frame f = new Frame("Addition Time!");
f.setLayout(null); // add this line

关于java - Java AWT 的不正确对齐错误。无法移动我的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9670084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com