왜 모든 것이 두 번 인쇄되고 있는지 잘 모르겠습니다. 예를 들어 "남성"을 누르면 프로그램에서 MaleMale을 인쇄합니다. 이것은 더 큰 프로그램의 일부입니다. 성 (String)이 마지막 선택을 저장하기를 원합니다. 이 코드가 그렇게하고 있습니까?이중 인쇄 JList
DefaultListModel toAdd = new DefaultListModel();
toAdd.addElement("Male");
toAdd.addElement("Female");
toAdd.addElement("Others");
JList list = new JList();
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setBorder(new TitledBorder(null, "How do you identify yourself?", `
TitledBorder.CENTER, TitledBorder.TOP, null, null));
list.setBackground(SystemColor.info);
list.setBounds(57, 85, 244, 97);
list.setModel(toAdd);
frame.getContentPane().add(list);
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged (ListSelectionEvent event) {
int lastSelIx = list.getMaxSelectionIndex();
gender = (String) list.getModel().getElementAt(lastSelIx);
System.out.print(gender);
}
);
}
당신이 모든 변화를위한이'valueChanged' 이벤트를 받고 있는가에 대한 How to Write a List Selection Listener의 읽기를 할 수 있습니까? –
1) 더 나은 도움을 받으려면 [MCVE] 또는 [Short, Self Contained, Correct Example] (http://www.sscce.org/)를 게시하십시오. 2) Java GUI는 다른 로케일에서 다른 PLAF를 사용하여 다른 OS, 화면 크기, 화면 해상도 등에서 작동해야합니다. 따라서, 픽셀 완벽한 레이아웃에 도움이되지 않습니다. 대신 레이아웃 관리자 또는 [조합] (http://stackoverflow.com/a/5630271/418556)과 [공백] 레이아웃 채우기 및 테두리 (http://stackoverflow.com/a/17874718/)를 사용하십시오. 418556). 3)''어떻게 당신 자신을 식별 할 수 있습니까? ''성별로 .. –
.. 'ButtonGroup'에서 라디오 버튼 ('JRadioButton')으로 표현되는 경우가 많습니다. 'ActonListener'를 각 버튼에 추가하여 각 선택에 대해 단일 액션 이벤트를 얻습니다 ('JList'의 각 선택 항목에 대한 두 개의 이벤트와 반대 됨). –