JListで複数項目の選択が行えるコードで、実行すると1つしか選択できません
"Japan","America","Europa","Asia","Africa","Other"が表示されて、"Japan"を選択をすると
JLabelに選択した"Japan"がはいりますが、次を選ぶと"Japan"の選択が消えてしまいます
どこが悪いのでしょうか。
よろしくお願いいたします。
Sample3_23 import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class SampleApp extends JFrame{ private static final long serialVersionUID =1L; JLabel l1; JList<String> lt1; String[] items = {"Japan","America","Europa","Asia","Africa","Other"}; public SampleApp() { this.setSize(300,200); l1 = new JLabel(); this.add(l1,BorderLayout.NORTH); lt1 = new JList<String>(items); lt1.setSize(100,50); lt1.addListSelectionListener(new MyListSelectionAdapter()); this.add(lt1,BorderLayout.CENTER); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } public static void main(String[] args) { new SampleApp(); } class MyListSelectionAdapter implements ListSelectionListener{ @Override public void valueChanged(ListSelectionEvent e) { String str = ""; for(int i=0; i < items.length; i++) { if(lt1.isSelectedIndex(i)) str += items[i] + " "; } l1.setText(str); } } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/29 08:37