我已经使用netbeans GUI构建器创建了2个自定义表单:
第一个是一个JPanel,其中包含几个JPanel和组件,中间是一个空的JPanel(JPanel1)。
第二个是JPanel表单,其中包含一些组件(jbutton等)。
我想做的是将第一个表单插入到JFrame中(我成功了),然后每次我单击第一个表单上的按钮时,它将第二个表单插入第一个表单的空JPanel中。我在第二部分上失败了。
我不会在此处发布完整的代码,因为它主要由netbeans生成,但这是第一种形式的按钮上的actionperformedevent
和我编写的测试JFrame类:
public class TABLE_1 extends javax.swing.JPanel {
/**
* Creates new form TABLE
*/
public TABLE_1() {
initComponents();
}
private void jButton29ActionPerformed(java.awt.event.ActionEvent evt) {
jPanel1.setLayout(new FlowLayout()); //empty Jpanel of 1st form
LigneProduit2 p1 = new LigneProduit2(); //p1 is the 2nd form(JPanel)
jPanel1.add(p1);
}
public class TABLE extends JFrame{
public static void main(String[] args) {
JFrame j1 = new JFrame();
TABLE_1 t1 = new TABLE_1(); // 1st form
j1.add(t1);
j1.pack();
j1.setVisible(true);
}
是的,p1不在t1中出现...
答案 0 :(得分:0)
您需要在jPanel1上调用validate(),这将布局面板的组件
jPanel1.validate();