我对 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(事实上,我什至不确定它是什么时候没有返回值,它仍然是一种方法吗?)。
有谁知道我如何运行它?
谢谢