【发布时间】:2013-03-11 04:45:34
【问题描述】:
我正在使用 Netbeans 创建一个 GUI,我的问题是“如何删除 jpanel”... 层次顺序,因为它存在 Jframe->Jscrollpane->Jpanel->Jbutton。通过单击 Jbutton 我想删除 jpanel 的所有组件,包括 Jbutton(我正在单击)和面板本身。请提前帮助。紧急。谢谢
-赛扬坦
private void b4ActionPerformed(java.awt.event.ActionEvent evt) {
final JPanel jp;
JTextField tf,of1,of2,xf,yf;
int i=1;
int m=(int)sp3.getValue();
JButton jb;
jp=new JPanel();
//jp.setLayout(new GridBagLayout());
DesignGridLayout layout = new DesignGridLayout(jp);
jsp2.getViewport().add(jp);
while(i<=m){
tf=new JTextField(5);
of1=new JTextField(5);
of2=new JTextField(5);
layout.row().grid(new JLabel("Type:")).indent(9).add(tf).grid(new JLabel("Length:")).indent().add(of1).grid(new JLabel("Breadth:")).indent().add(of2).empty();
fields1.add(tf);
fields1.add(of1);
fields1.add(of2);
xf=new JTextField(5);
yf=new JTextField(5);
layout.row().grid(new JLabel("X-axis:")).indent(9).add(xf).grid(new JLabel("Y-axis:")).indent().add(yf).empty(2);
fields1.add(xf);
fields1.add(yf);
i++;
}
jb=new JButton("Submit");
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
for(JTextField field: fields1){
String s=field.getText();
lbr.setText(lbr.getText()+s);
}
lb3.setVisible(false);
sp3.setVisible(false);
b4.setVisible(false);
//jp.setVisible(false);
//jp.removeAll();
// jp.revalidate();
//jp.repaint();
// jsp2.remove(jp);
//jsp2.revalidate();
//jsp2.repaint();
}
});
layout.emptyRow();
layout.row().right().add(jb);
jp.revalidate();
jp.repaint();
// jsp2.revalidate();
//jsp2.repaint();
}
注意:我使用的是 DesignGridLayout 包。
【问题讨论】:
-
你可以更简单的示例代码。
-
目前正在发生什么(或没有发生什么?)告诉我们您目前的结果是什么,我们可以提供更好的帮助。
-
谁在教这些奇怪的用户界面概念?
-
哈哈哈@gilbert...我在自己制作这个界面时面临
-
@steve: 如果我使用的是 jpanel.renoveAll();只有 jbutton 被删除,一切都保持不变。