2013-04-10 34 views
0

我不知道如何在单击JButton时用JRadioButton代替JButton。所以说,如果我有Jpanel设置为一个网格布局,奠定了4行(3 JLabels和JButton)。所以当用户点击JButton时,JButton将被替换为JRadioButton在java中替换JButton

我会使用CardLayout来达到这个目的吗,还是有一种简单的方法来取代JButton

+0

不是有ISN '有一些问题,但不得不通过持有它的ZOrder编号来添加JComponents,然后调用重新验证并重新绘制其容器 – mKorbel 2013-04-10 11:40:59

+0

*“我会为此使用'CardLayout'”,*当然,它可以进入'GridBagLayout'。为了更快地获得更好的帮助,请发布[SSCCE](http://sscce.org/)。 – 2013-04-10 11:41:14

+0

感谢您的建议家伙。非常感谢 – 2013-04-10 11:56:07

回答

-1

你可以做的是从pannle删除按钮,并在其位置添加一个单选按钮

示例代码

static JButton button1 = new JButton("Test"); 
    static JPanel panel1 = new JPanel(): 
    public static void main(String[] args{ 
    panel1.add(button1); 
    } 
    public void ActionListener(ActionEvent e){ 
    if(e.equals("Test"){ 
    panel1.remove(button1); 
    panel1.add(radiobutton1); 
    } 

从这里你可以添加你radieo按钮

+0

非常感谢答复。所以在我的情况下,我可以将位置3(第四行JButton)的radioButton添加到JPanel。我正在考虑太多。再次感谢 – 2013-04-10 11:55:03

+0

这种方法是不必要的和越野车。特别是如果单选按钮大于按钮。结合糟糕的格式并忘记通知GUI更新布局,-1。提示到OP - *使用'CardLayout'。* – 2013-04-10 23:21:06

+0

此代码仅用于了解如何刷出按钮。当我写这个时,我不知道cardlayouts。如果你想说我的想法很糟糕并且提出一个提示,请给出一些代码,以便提出问题的人以及阅读此问题的人有关于如何去做你所说的事情的想法 – fftk4323 2013-04-11 01:50:02