在应用程序中添加到JPanel

时间:2012-03-10 22:39:37

标签: java swing jpanel jbutton repaint

当单击某个特定按钮时,我想要将另一组按钮添加到面板中,但是当我这样做的时候,我可以根据需要添加它们多次,我需要这个按钮只能进行一次。最好的方法是设置在while循环中添加按钮和字段吗?

   if(e.getSource() == selectScript){

                while(scriptB < 1 ){
                imageID = new JTextField("INT");
                imageDescription = new JTextField("imgDescription");
                imagePath = new JTextField("imagePath");
                manageImageTab.add(imageID);
                manageImageTab.add(imageDescription);
                manageImageTab.add(imagePath);
                insertImage = new JButton("Add an Image");
                insertImage.addActionListener(new dbaccess());
                manageImageTab.add(insertImage);

                manageImageTab.revalidate();
                validate();
                scriptB++;

                }
}

2 个答案:

答案 0 :(得分:3)

也许不是添加和删除JButton,您可以在代码开始时添加按钮一次,只是在您需要它们之前不要让它们可见,或者更好地将它们放在一起在一个不可见的JPanel上,然后在需要时显示。不要忘记在包含按钮及其面板的容器上拨打revalidate()repaint()

答案 1 :(得分:1)

如果我理解正确的话,我会使用一个标志已经添加,开始为false,在添加控件后设置为true,然后在此之后不允许添加。