[debutant] [swing] bulle d'aide à la eclipse

bulle d'aide à la eclipse [debutant] [swing] - Java - Programmation

Marsh Posté le 02-11-2005 à 11:32:03    

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 :
  1. public class TextEdit extends AbstractCellEditor implements TableCellEditor,ActionListener {
  2.     JButton button;
  3.     String value;
  4.     JWindow dialog;
  5.     protected static final String EDIT = "edit";
  6.     JScrollPane scroll;
  7.     JTextArea text;
  8.    
  9.     /* (non-Javadoc)
  10.      * @see javax.swing.table.TableCellEditor#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)
  11.      */
  12.     public TextEdit(JFrame arg){
  13.        
  14.        
  15.         button = new JButton();
  16.         button.setActionCommand(EDIT);
  17.         button.addActionListener(this);
  18.         button.setBorderPainted(false);       
  19.         dialog = new JWindow();
  20.         dialog.setSize(301,71);
  21.         dialog.setLayout(null);       
  22.         text=new JTextArea();
  23.         scroll=new JScrollPane();
  24.         scroll.setViewportView(text);
  25.         scroll.setBounds(0, 0, 300, 70);
  26.         dialog.add(scroll);       
  27.         dialog.setEnabled(true);       
  28.        
  29.     }
  30.    
  31.    
  32.    
  33.    
  34.     public Component getTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) {
  35.         // TODO Auto-generated method stub
  36.         value= arg1.toString();
  37.         dialog.setLocation(MouseInfo.getPointerInfo().getLocation());       
  38.        
  39.         return button;
  40.     }
  41.     /* (non-Javadoc)
  42.      * @see javax.swing.CellEditor#getCellEditorValue()
  43.      */
  44.     public Object getCellEditorValue() {
  45.         // TODO Auto-generated method stub
  46.      
  47.         return value;
  48.     }
  49.     /* (non-Javadoc)
  50.      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
  51.      */
  52.     public void actionPerformed(ActionEvent e) {
  53.         // TODO Auto-generated method stub
  54.         if (EDIT.equals(e.getActionCommand())) {
  55.             //The user has clicked the cell, so
  56.             //bring up the dialog.             
  57.             button.setText(value);
  58.             text.setText(value);           
  59.             dialog.setVisible(true);         
  60.             dialog.toFront();
  61.             //edit.setVisible(true);
  62.             //Make the renderer reappear.
  63.             fireEditingStopped();
  64.         } else { //User pressed dialog's "OK" button.
  65.             value = text.getText();
  66.      
  67.         }
  68.     }


 
 
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  :fou:  
 
merci

Reply

Marsh Posté le 02-11-2005 à 11:32:03   

Reply

Marsh Posté le 02-11-2005 à 15:17:48    

up

Reply

Marsh Posté le 03-11-2005 à 12:40:19    

up up :(

Reply

Marsh Posté le 03-11-2005 à 18:21:29    

Citation :

dialog = new JWindow();


Je crois que le problème vient de là; ton objet "dialog" n'est pas lié à ta fenêtre principale, et s'affiche donc derrière.
Essaye à la place de faire :

Code :
  1. dialog = new JWindow(arg);


Message édité par post_it le 03-11-2005 à 18:22:04
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed