2014-08-29 69 views
0
JPanel panel1 =new JPanel(); 

panel1.setBorder(BorderFactory.createTitledBorder(black,"panel1"); 

Jlabel radiobuttons=new JLabel("Radio Buttons:"); 

JRadioButton b1=new JRadioButton("Yes"); 
radiobuttons.setLabelFor(b1); 

JRadioButton b=new JRadioButton("NO"); 
radiobuttons.setLabelFor(b2); 

這裏我將這兩個單選按鈕添加到按鈕組中,我使用setLabelFor()作爲單選按鈕,但ScreenReader僅讀取panel1是和Panel1不,但不讀取Panel1單選按鈕是和ading Panel1單選按鈕沒有去做 ?如何在Java Swing中使用setLabelFor和單選按鈕?

回答

1

您不能共享兩個組件的標籤,因此嘗試在單個標籤上使用兩次setLabelFor(...)方法是沒有意義的。

爲什麼你甚至有兩個單選按鈕?單選按鈕的目的是打開/關閉兩個狀態,選擇/取消選擇。所以有兩個單選按鈕「是/否」沒有意義。你應該只有一個標籤來描述按鈕的用途。

+0

setLabelFor()我只是用來指定單選按鈕屬於哪個標籤,爲什麼我不能爲兩個使用相同的標籤? – Nidhi 2014-09-01 06:14:59

+0

@Nidhi,你讀過API了嗎? setLabelFor(...)方法用於在指定的組件上調用requestFocus()。如果您嘗試指定兩個組件,該代碼如何工作。此外,該方法使用「設置」(而不是「添加」),所以無論何時您調用該方法您替換舊的屬性。這是所有「setter」方法的工作方式。 – camickr 2014-09-05 23:37:52