Java eclipse中的windowbuilder,不确定如何显示窗口
我对Swing还比较陌生,所以我一直在使用windowbuilder尝试组装一个基本的GUI。设计界面工作得很好,但当我回到代码时,它是以一种我不熟悉的方式编写的,我正在努力让它真正运行 它生成的代码是:Java eclipse中的windowbuilder,不确定如何显示窗口,java,eclipse,swing,windowbuilder,Java,Eclipse,Swing,Windowbuilder,我对Swing还比较陌生,所以我一直在使用windowbuilder尝试组装一个基本的GUI。设计界面工作得很好,但当我回到代码时,它是以一种我不熟悉的方式编写的,我正在努力让它真正运行 它生成的代码是: public class GUIControls extends JFrame{ public GUIControls() { getContentPane().setLayout(new CardLayout(0, 0)); JPanel panel = new JPan
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的方法,但我不能在这里使用GUI控件,因为它不适用于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
布局,但我会尽可能避免使用它们-IMHOGUIControls从何扩展而来?啊,我的错,它在类GUIControls中,即:公共类GUIControls扩展JFrame,我会将其添加到主要帖子中。这很有效!谢谢。但接下来的问题是,“公共控制”到底是什么?它是实例化的,这是否意味着它是一个类?如果是这样的话,它怎么能不宣布自己是这样的呢?(另外,我在接下来的4分钟内不能接受你的答案,所以,嗯……期待着!)publicguicontrols
是一种称为构造函数的特殊方法。它用于初始化对象的新实例。因此,当您调用new GUIControls()
时,Java将为对象
分配内存,初始化任何实例字段并调用构造函数(由new
命令指定)