JTextField editable dans JList
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:
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();
}
} |