当前位置: 首页 > 知识库问答 >
问题:

GUI不出现

朱浩大
2023-03-14

我有一个Main类,它有一个公共的静态void Main(String[]args){}。我还有一个叫做appGUI的类。我一直在尝试在运行主类时加载GUI,但什么都没有发生,甚至没有任何错误…:(

这里是主类:

    public class Main {

    /**
     * @param args
     */

    public static void main(String[] args) throws Exception {

        appGUI gui = new appGUI();
    }

}

这里是appGUI类:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*
 * Created by JFormDesigner on Wed Apr 03 19:24:35 BST 2013
 */



/**
 * @author Hrach Ghapantsyan
 */
public class appGUI extends JFrame {
    public appGUI() {
        initComponents();
    }

    private void loginButtonActionPerformed(ActionEvent e) {
        // TODO add your code here
    }

    private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
        // Generated using JFormDesigner Evaluation license - Hrach Ghapantsyan
        loginPasswordField = new JPasswordField();
        loginUsernameField = new JTextField();
        usernameLabel = new JLabel();
        passwordLabel = new JLabel();
        loginButton = new JButton();
        titleLabel = new JLabel();

        //======== this ========
        setTitle("Experimental X | Administrator Login");
        Container contentPane = getContentPane();
        contentPane.setLayout(null);
        contentPane.add(loginPasswordField);
        loginPasswordField.setBounds(80, 65, 100, loginPasswordField.getPreferredSize().height);
        contentPane.add(loginUsernameField);
        loginUsernameField.setBounds(80, 35, 100, loginUsernameField.getPreferredSize().height);

        //---- usernameLabel ----
        usernameLabel.setText("Username:");
        contentPane.add(usernameLabel);
        usernameLabel.setBounds(20, 40, 55, usernameLabel.getPreferredSize().height);

        //---- passwordLabel ----
        passwordLabel.setText("Password:");
        contentPane.add(passwordLabel);
        passwordLabel.setBounds(20, 70, 55, passwordLabel.getPreferredSize().height);

        //---- loginButton ----
        loginButton.setText("Login");
        loginButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                loginButtonActionPerformed(e);
            }
        });
        contentPane.add(loginButton);
        loginButton.setBounds(80, 95, 100, loginButton.getPreferredSize().height);

        //---- titleLabel ----
        titleLabel.setText("Experimental X | Administrator Login");
        contentPane.add(titleLabel);
        titleLabel.setBounds(45, 10, 190, titleLabel.getPreferredSize().height);

        { // compute preferred size
            Dimension preferredSize = new Dimension();
            for(int i = 0; i < contentPane.getComponentCount(); i++) {
                Rectangle bounds = contentPane.getComponent(i).getBounds();
                preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
            }
            Insets insets = contentPane.getInsets();
            preferredSize.width += insets.right;
            preferredSize.height += insets.bottom;
            contentPane.setMinimumSize(preferredSize);
            contentPane.setPreferredSize(preferredSize);
        }
        setSize(270, 170);
        setLocationRelativeTo(getOwner());
        // JFormDesigner - End of component initialization  //GEN-END:initComponents
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    // Generated using JFormDesigner Evaluation license - Hrach Ghapantsyan
    private JPasswordField loginPasswordField;
    private JTextField loginUsernameField;
    private JLabel usernameLabel;
    private JLabel passwordLabel;
    private JButton loginButton;
    private JLabel titleLabel;
    // JFormDesigner - End of variables declaration  //GEN-END:variables
}

我尝试过在Eclipse和netbean上运行主类,但是它运行了几秒钟后就停止了。我没有得到任何错误。在座的各位有什么建议吗?谢谢。

共有3个答案

司马彬
2023-03-14
public class appGUI extends JFrame {

    setVisible(true);

   // ----
}

放置此代码以使其可见。

武晨
2023-03-14

确保在GUI上调用setVisible(true)。

权烨磊
2023-03-14

您尚未调用JFrame#setVisible

gui.setVisible(true);

一些注意事项:

  • 避免使用null布局。始终使用布局管理器
  • 不要使用setXXXSize方法。覆盖getPreferredSize方法以确定组件大小
  • 与扩展JFrame不同,您通常希望创建一个JFrame并直接使用它
  • 考虑使用初始线程在EDT中创建JFrame
 类似资料:
  • 用户输入员工的出生日期,但任务要求您验证条目。 我希望应用程序显示的是一个错误,当用户输入生日的日期为33或什么,因为在B. O. D.中没有这样的一天。 此外,当用户单击“保存”时,文本字段中的数据应保存到arraylist中。当用户单击“打印”时,保存在arraylist中的数据应显示为以前的信息。

  • 大家好,我是JavaFXFXML的初学者,我正在用FXMLTable view进行测试,但是netbeans在我的代码中没有显示任何错误,我无法运行我的GUI应用程序。 这里是我的fxmldocument.fxml代码。 这是一个fxml控制器代码。 这里是Person类代码。(Person.java) 这是主要的table.java代码。 当我运行我的项目时,GUI没有出现,它显示了许多类似的错

  • 问题内容: 如何将stdout数据重定向到tkinter文本小部件? 问题答案: 您需要创建一个类似文件的类,其方法改为写入Tkinter小部件,然后执行。 示例(从链接复制): 然后,在您的Tkinter小部件中:

  • 我的工作在窗口和视觉工作室和我的目标是尝试定义一个语法来识别一些短语的部分我遵循这个指南https://theantlrguy.atlassian.net/wiki/display/ANTLR4/Getting开始与ANTLR v4 一封又一封,当我 grun你好r-gui cmd没有显示任何内容,它没有显示任何类型的错误我该如何解决这个问题?谢谢大家!!! PS指南告诉添加antlr-4.5-c

  • 我有一个简单的TKinter GUI,它有一个文本输入框和一个按钮。我想输入文本,点击按钮,让我的程序打印文本。GUI工作正常,除了单击文本输入框并键入时,在调整窗口大小或单击按钮之前,我看不到光标或文本。单击按钮时,文本将显示在输入框中并返回。当我输入文本时,GUI没有更新。我正在OSX10.10上运行Python 3.4。任何想法都欢迎。 下面是代码:

  • 问题内容: 我的问题是我的ListView没有在GUI上显示任何内容,我添加了一个占位符进行测试,它的确显示了占位符文本,但除此之外我无法添加到列表中。 我的目标是要列出我所有客户帐户的列表,我已经包含了Account类,我想在ListView中显示所有帐户ID。 由于某些原因,它不起作用,我尝试仅输入随机数据只是为了查看是否是问题所在,但仍然不走运。 我的Main.class文件中有一个名为al