stoukou | bonjour à tous,
j'ai une jtable qui se construit dynamiquement à partir d'une base de données, il y a des cellules qui vont contenir des text un peu ce que je veux faire c'est au moment de la selection de la cellule en question il une bule qui s'affiche (pareil à la bulle d'aide d'eclipse) mais qui permet l'edition du contenue de la cellule ce que j'ai reussie à faire c'est ça
Code :
- public class TextEdit extends AbstractCellEditor implements TableCellEditor,ActionListener {
- JButton button;
- String value;
- JWindow dialog;
- protected static final String EDIT = "edit";
- JScrollPane scroll;
- JTextArea text;
-
- /* (non-Javadoc)
- * @see javax.swing.table.TableCellEditor#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)
- */
- public TextEdit(JFrame arg){
-
-
- button = new JButton();
- button.setActionCommand(EDIT);
- button.addActionListener(this);
- button.setBorderPainted(false);
- dialog = new JWindow();
- dialog.setSize(301,71);
- dialog.setLayout(null);
- text=new JTextArea();
- scroll=new JScrollPane();
- scroll.setViewportView(text);
- scroll.setBounds(0, 0, 300, 70);
- dialog.add(scroll);
- dialog.setEnabled(true);
-
- }
-
-
-
-
- public Component getTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) {
- // TODO Auto-generated method stub
- value= arg1.toString();
- dialog.setLocation(MouseInfo.getPointerInfo().getLocation());
-
- return button;
- }
- /* (non-Javadoc)
- * @see javax.swing.CellEditor#getCellEditorValue()
- */
- public Object getCellEditorValue() {
- // TODO Auto-generated method stub
-
- return value;
- }
- /* (non-Javadoc)
- * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
- */
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- if (EDIT.equals(e.getActionCommand())) {
- //The user has clicked the cell, so
- //bring up the dialog.
- button.setText(value);
- text.setText(value);
- dialog.setVisible(true);
- dialog.toFront();
- //edit.setVisible(true);
- //Make the renderer reappear.
- fireEditingStopped();
- } else { //User pressed dialog's "OK" button.
- value = text.getText();
-
- }
- }
|
mais j'ai des probleme avec ça, c'est que le jwindow ne s'affiche pas en premiers plan et je peux pas editer le text la dedans
et ça me rend merci |