0

我已经通过 Netbeans Java 创建了一个 GUI,但是每当我最大化 GUI 窗口时,文本框就会错位。我使用 Netbeans 拖放功能来创建 GUI。我想知道为什么每当我最大化 GUI 时文本框就会错位

4

2 回答 2

1

我理解你的问题,因为我已经遇到了同样的问题,我对你的建议是你可以使用 netbeans 的拖放,但在使用它之前先制作一个面板,然后在该面板中放下你所有的东西,然后使用 JFrame 组件调整大小功能只需将面板放在您想要放置的任何位置,例如,如果您想将其居中对齐。

//if your class is extending JFrame
public static int getWIDTH(){
    return WIDTH;
}
public static int getHEIGHT() {
    return HEIGHT;
}
private void formComponentResized(java.awt.event.ComponentEvent evt) {
    // this is for setting panel in the middle of the JFrame horizontally
    int a = getWIDTH();
    int b = Panel.getWidth();
    a = a/2;
    b = b/2;
    int centerForX = b - a;
    // This is for setting the panel in the middle vertically
    int x = getHEIGHT();
    int y = Panel.getHeight();
    x = x/2;
    y = y/2;
    int centerForY = x - y;
    // Making a 'Point' object and then setting location of the Panel.
    Point p = new Point(centerForX , centerForY);
    Panel.setLocation(p);
}

一些关键点:
1) getWIDTH 和 getHEIGHT 方法将由 netbeans 在所有方法之外编写,但在类中 getwidth 和 getheight 并按 ctrl + 空格并按 enter 将分别生成 getWIDTH 和 getHEIGHT 方法。
2) formComponentResized 方法将由netbeans 生成,只需转到设计选项卡,然后在导航器中,它主要位于左下角,右键单击JFrame,然后转到事件,然后是组件,然后是componentResized。
3)如果您有任何问题,请不要犹豫,因为我对这个主题有详细的了解。

不要忘记这一步,否则整个帮助将毫无用处

于 2013-07-27T03:07:21.567 回答
1

这是布局的问题。

阅读使用布局:http ://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

如果您打算使用 Netbean 的 GUI 构建器,请完成教程。它将帮助您更好地了解如何使用构建器。https://netbeans.org/kb/docs/java/quickstart-gui.html

于 2013-07-26T16:44:16.340 回答