Ind*_*411 1 java swing netbeans runtime jpanel
我正在使用Netbeans IDE制作一个gui应用程序.我有一个内置JPanel的JFrame.单击按钮后,我想在第一个内部显示不同的JPanel.另一个JPanel在另一个文件中.我该怎么做呢?如果这不实用,我不介意用第二个替换第一个JPanel.
我尝试了以下但它似乎不起作用.我是Java和Gui编程的新手,所以我很感激我能得到的任何帮助.
private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
JPanel2 jPanel2 = new JPanel2();
JPanel1.add(jPanel2);
}
Run Code Online (Sandbox Code Playgroud)
请参阅Container#add
方法的javadoc :
此方法更改与布局相关的信息,因此使组件层次结构无效.如果已显示容器,则必须在此后验证层次结构以显示添加的组件.
因此,添加面板是不够的,但您还必须再次验证层次结构,例如通过调用
JPanel1.validate();
JPanel1.repaint();
Run Code Online (Sandbox Code Playgroud)
CardLayout
在他的回答中使用as @Andrew可能是一个更好的选择,然后手动替换面板
两个旁注:
JPanel1.add
电话会变成jPanel1.add
Jxxx
Swing类.查看您的班级名称JPanel1
,JPanel2
您正是这样做的.最好使用可用的API来自定义这些类然后扩展它们. 归档时间: |
|
查看次数: |
9391 次 |
最近记录: |