为了账号安全,请及时绑定邮箱和手机立即绑定

如果我注释一些代码,JButton 就会消失

如果我注释一些代码,JButton 就会消失

万千封印 2022-06-15 17:02:53
如果我按所示注释代码,JButtons 就会消失public class analisi_spesa {public static void main(String[] args) {    JFrame mainFrame = new JFrame("Java SWING Examples");    mainFrame.setSize(400,400);    mainFrame.setLayout(new GridLayout(3, 1));/*    JLabel headerLabel = new JLabel("headerLabel",JLabel.CENTER );    JLabel statusLabel = new JLabel("statusLabel",JLabel.CENTER);            statusLabel.setSize(350,100);*/    mainFrame.addWindowListener(new WindowAdapter() {        public void windowClosing(WindowEvent windowEvent){            System.exit(0);        }            });        JPanel controlPanel = new JPanel();    controlPanel.setLayout(new FlowLayout());/*    mainFrame.add(headerLabel);    mainFrame.add(controlPanel);    mainFrame.add(statusLabel);*/      mainFrame.setVisible(true); //          headerLabel.setText("Control in action: Button");    JButton okButton = new JButton("OK");    JButton submitButton = new JButton("Submit");    JButton cancelButton = new JButton("Cancel");    okButton.setActionCommand("OK");    submitButton.setActionCommand("Submit");    cancelButton.setActionCommand("Cancel");    okButton.addActionListener(new ButtonClickListener());     submitButton.addActionListener(new ButtonClickListener());     cancelButton.addActionListener(new ButtonClickListener());     controlPanel.add(okButton);    controlPanel.add(submitButton);    controlPanel.add(cancelButton);           mainFrame.setVisible(true);}}我希望他们显示出来,因为我不评论代码。我从https://www.tutorialspoint.com/swing/swing_event_handling.htm拿了这个例子 谢谢大家,我正在等待答案。
查看完整描述

3 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

不要评论这部分:


mainFrame.add(controlPanel);

因为以后你会


controlPanel.add(okButton);

controlPanel.add(submitButton);

controlPanel.add(cancelButton); 

因此,您将所有按钮添加到“controlPanel”,但如果您不将 controlPanel 添加到 mainFrame,则按钮将不会显示


查看完整回答
反对 回复 2022-06-15
?
弑天下

TA贡献1818条经验 获得超8个赞

controlPanel从未添加,mainFrame因为您评论了它。此外,组件应该添加到contentPaneof 中mainFrame,而不是mainFrame自身:

mainFrame.getContentPane().add(controlPanel);

代替:

mainFrame.add(controlPanel);

另外,设置的布局contentPane

mainFrame.getContentPane().setLayout(new GridLayout(3, 1));


查看完整回答
反对 回复 2022-06-15
?
跃然一笑

TA贡献1826条经验 获得超6个赞

你有一个环绕的BLOCK评论:

mainFrame.add(controlPanel);

因此该行没有被执行,因此带有按钮的面板不会添加到您的框架中。

这就是全部。真正的答案在这里:细节很重要。您放入源代码中的每个字符都很重要。


查看完整回答
反对 回复 2022-06-15
  • 3 回答
  • 0 关注
  • 186 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号