为什么我的CardLayout .show()没有做任何事...... Java Netbean

时间:2015-09-13 12:34:13

标签: java swing netbeans cardlayout

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {  
    CardLayout card = (CardLayout)main_panel.getLayout();
    card.show(main_panel, "jPanel1");
}                                        

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { 
    CardLayout card = (CardLayout)main_panel.getLayout();
    card.show(main_panel, "jPanel2");
}

嘿伙计我需要使用CardLayout来处理我现有的项目之一,但它永远不会工作!所以我尝试制作一个新的表格,而不是按照How to use CardLayout with Netbeans GUI Builder的教程,但我仍然无法让它工作......单击这些按钮后什么都不会发生。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

card.show(main_panel, "cardname");

您应该在卡片布局中传递卡片名称而不是子面板的变量名称。您目前已通过面板名称而不是卡名称。通常netbeans将卡名称设置为card1,card2...等。您可以通过从导航中选择子面板[jpanel1,2 ..]来查看卡片名称,在属性窗口中,布局类别中有一行cardname

看到这张图片

enter image description here

在此示例(图片)中,您可以看到cardname为card2,因此如果您想显示此选定按钮,则应使用

card.show(main_panel, "card2");

但不是

<击> card.show(main_panel, "jButton1");