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

为什么我的CardLayout.show()没有做任何事情。。。Java Netbean,java,swing,netbeans,cardlayout,Java,Swing,Netbeans,Cardlayout,嘿,伙计们,我需要使用CardLayout来处理我现有的一个项目,但它从来都不起作用!所以我试着做了一个新的表格,而不是按照来自的教程,但我仍然无法让它工作。。。单击这些按钮后,将不会发生任何事情。需要帮忙吗 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { CardLayout card = (CardLayout)main_panel.getLayout(); card.show(

嘿,伙计们,我需要使用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");
}
您应该传递卡片名称,而不是卡片布局中子面板的变量名称。您当前传递的是面板名而不是卡名。通常netbeans会将卡名设置为
card1、card2…
等。您可以通过从导航中选择子面板[jpanel1,2..]来查看卡片名称,并且在属性窗口中,布局类别中有一行
cardname

看到这张图了吗

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

card.show(main_panel, "cardname");
但不是


card.show(主面板,“jButton1”)

天哪,太多了!最后我被困了整整4个小时。。。。。。。。。对不起我的愚蠢。。。太快了,蜗牛!
card.show(main_panel, "card2");