Bonjour,
j'aimerais avoir une list de JTextField editable dans mon JPanel.
J'ai essayé en créant des JTextField dans le ListCellRenderer mais ils ne sont pas éditable... Aurais-je oublié quelque chose ou faut-il faire autrement?
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import javax.swing.DefaultListModel; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.ListCellRenderer; public class ListJTextField { JFrame frame; public ListJTextField() { frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panelMain = new JPanel(); panelMain.setLayout(new BorderLayout()); panelMain.setPreferredSize(new Dimension(300, 300)); JList list = new JList(); list.setCellRenderer(new ListCellRenderer(){ public Component getListCellRendererComponent(JList arg0, Object arg1, int arg2, boolean arg3, boolean arg4) { JTextField text = new JTextField(arg1.toString()); text.setEditable(true); return text; } }); DefaultListModel model = new DefaultListModel(); model.addElement("20"); model.addElement("essai"); model.addElement("coucou"); list.setModel(model); panelMain.add(list); frame.setContentPane(panelMain); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new ListJTextField(); } }
Partager