なぜすべてが2回印刷されているのかわかりません。たとえば、 "Male"を押すと、プログラムは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);
}
);
}
ためHow to Write a List Selection Listenerの読み取りを持つことができますか? –
1)すぐに役立つようにするには、[MCVE]または[短く、自己完結型の正しい例](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'の各選択に対して2つのイベントとは対照的に)。 –