【发布时间】:2016-04-10 00:18:36
【问题描述】:
在我的代码中,我有一个打开主菜单的 JFrame,在该菜单中您可以单击选项,这将带您进入选项菜单。在那个选项菜单上,我想创建一个后退按钮,它将自己定位在屏幕左上角的某个位置。当我运行程序并转到选项菜单时,JButton 不会出现。我的代码一定有问题。有什么帮助吗?下面是我第一次声明 JButton 的地方。
static JButton optionsBackButton = new JButton("<html><font size = 5
color = green>Back</font></html>");
这是与 JButton 相关的另一部分代码。
//Options Menu
JPanel optionsPanel = new JPanel();
JLabel optionsOptionsTitle = new JLabel("<html><font size = 7 color = blue>Options</font></html>");
JPanel optionsOptionsTitlePanel = new JPanel();
JPanel optionsBackButtonPanel = new JPanel();
optionsPanel.setLayout(null);
optionsBackButton.setBounds(100,100,50,50);
optionsBackButtonPanel.add(optionsBackButton);
optionsOptionsTitlePanel.add(optionsOptionsTitle);
optionsPanel.add(optionsOptionsTitlePanel);
optionsPanel.add(optionsBackButtonPanel);
optionsBackButton.addActionListener(this);
//Add panels to the card
panel.add("Home Screen", homePanel);
panel.add("Options Menu", optionsPanel);
//card.add("Game screen", gamePanel);
cardLayout.show(panel, "HomeScreen");
contentPane.add(panel);
【问题讨论】:
-
您有很多需要纠正的地方,包括过度使用静态字段、在可能应该使用 JDialog 的地方使用 JFrame,以及最重要的是使用
null布局和setBounds(...)应该使用有效的布局管理器。不过,要获得更全面的帮助,请发布您最好的 minimal reproducible example,让我们帮助您改进这一点。
标签: java swing jbutton layout-manager cardlayout