2013-04-10 64 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