java - Eclipse 中的 windowbuilder,不确定如何显示窗口

标签 java eclipse swing windowbuilder

我对 Swing 相当陌生,所以我一直在使用 windowbuilder 来尝试组合一个基本的 GUI。设计屏幕工作正常,但当我返回代码时,它是以我不熟悉的方式编写的,我正在努力让它真正运行。

它生成的代码是:

public class GUIControls extends JFrame{

public GUIControls() {
    getContentPane().setLayout(new CardLayout(0, 0));

    JPanel panel = new JPanel();
    getContentPane().add(panel, "name_36737116256884");
    panel.setLayout(null);

    JButton InsertionSortButton = new JButton("Insertion Sort");
    InsertionSortButton.setBounds(32, 16, 101, 56);
    panel.add(InsertionSortButton);

    JPanel panel_1 = new JPanel();
    getContentPane().add(panel_1, "name_36737137352442");
    InsertionSortButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
            CardLayout cardLayout = (CardLayout) getContentPane().getLayout();
            cardLayout.show(getContentPane(), "name_36737137352442");
        }
    });
}

(鼠标单击按钮时采取的操作是我编写的,我没有测试它,因为我无法运行该东西)

通常我会这样做:

public void runGUI(){
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            createGUI();

        }
    });
}

createGUI 是我用来创建一个没有 windowbuilder 的(完全可怕的)GUI 的方法,但我不能在其中使用 GUIControls,因为它不能与 runnable 一起使用(事实上,我什至不确定它是什么)是当某些东西没有返回值时,它仍然是一个方法吗?)。

有人知道我如何运行它吗?

谢谢

最佳答案

您需要实例化 GUIControls 的实例并使其可见,例如...

public void runGUI(){
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            GUIControls guiControls = new GUIControls();
            guiControls.pack();
            guiControls.setLocationRelativeTo(null);
            guiControls.setVisible(true);
        }
    });
}

ps-我知道 Window Builder 喜欢使用 null 布局,但我会尽可能避免使用它们 - 恕我直言

关于java - Eclipse 中的 windowbuilder,不确定如何显示窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694995/

相关文章:

javascript - 无法通过getRequestDispatcher转发到jsp页面

Java:Gson - 自定义 JsonSerializer 中的 HashMap 到 JSON

java - 根据用户 TextField 和 JComboBox 输入将节点附加到 Parent

java - 使用反射从 ClassLoader 获取 DefineClass 时出现 NoSuchMethodException

java - 使用带有数据和 header 的 ApacheHttpClient 进行 REST 调用

java - 使用 sqlite 数据库并强制关闭

java - Jenkins Android 库 - 不支持的 Major.minor 版本 51.0

java - 从java代码调用rabbitmqpublisher

java - 在激活菜单项时显示标签

java - ActionListener 的语法错误