我如何獲得選定的項目?Swing JList和DefaultListModel。
我在我的代碼中有一個簡單的要求:我需要得到一個選定的項目來實現ActionListener
這是啓用JButton
。
public class Tela extends JFrame{
private static final long serialVersionUID = 1L;
private DefaultListModel<String> model;
private JList<String> list;
public Tela(){
setTitle("Maquina de Refrigerante");
String labels[] = { "Coca-Cola", "Fanta Laranja", "Fanta-Uva",
"Sprite"};
//Cria os Paineis no Frame
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
JPanel leftPanel = new JPanel();
JPanel rightPanel = new JPanel();
JPanel downPanel = new JPanel();
leftPanel.setLayout(new BorderLayout());
rightPanel.setLayout(new BoxLayout(rightPanel, BoxLayout.Y_AXIS));
list = new JList<String>(labels);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
JScrollPane pane = new JScrollPane();
pane.getViewport().add(list);
leftPanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
leftPanel.add(pane);
final JButton comprar = new JButton("Comprar");
comprar.setEnabled(false);
rightPanel.add(comprar);
rightPanel.add(Box.createRigidArea(new Dimension(0,4)));
rightPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20));
panel.add(leftPanel);
panel.add(rightPanel);
panel.add(downPanel);
add(panel);
setSize(450, 350);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
comprar.addActionListener(new Paga());
}
}
我想要實現的ActionListener
是獲得該項目選擇等啓用jbutton("Comprar")
,但我沒有在這個時候任何的想法去做。
由於它的工作原理註冊一個動作監聽你的按鈕和How to use lists的詳細信息! –
@韋斯利,很高興聽到這個消息。但是要小心,'ListSelectionListener'會在一個項目的選擇丟失時被觸發兩次,而另一個項目的選擇增益 – Sage