startCellEditing -> JTabel ?

vrcat

Mitglied
Hallo zusammen,

ich versuche schon länger das Problem mit dem DoubleClick zu lösen vieleicht kann mir jemand von Euch helfen.
Ich möchte gerne Felder in meiner Tabelle Editieren das geht auch alles super nur muss ich immer DoubleClicken damit die Zelle Makiert wird und der Cursor blinkt. Wie bekomme ich es hin das ich nur einmal Clicken muss. Im Netz habe ich eine Funktion "startCellEditing" gefunden die man überschreiben soll und zuück geben kann wie offt man die Celle ancklicken muss um sie editieren zu können. Jedoch habe ich keine Ahnung wo ich diese Funktion überschreiben soll.
 
Tach,
hilft Dir sowas vielleicht?

Code:
      yourTable.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(MouseEvent e)
      { }

      public void mousePressed(MouseEvent e)
      { }

      public void mouseReleased(MouseEvent e)
      {
        selectEditingCell();
      }
    });
//
  /**
   * Markiert Einträge in einer Tabellenzelle bei einfachem Mausklick.
   * Dadurch kann sofort der alte Inhalt überschrieben werden
   * 
   */
  public void selectEditingCell()
  {
    // Wird die Tabelle editiert, so sollte der schon eingetragene Wert
    // selektiert werden
    if (yourTable.isEditing())
    {
      try
      {
        DefaultCellEditor editor = (DefaultCellEditor) yourTable.getCellEditor();
        JTextField text = (JTextField) editor.getComponent();
        text.selectAll(); // Zum Überschreiben wird der alte Inhalt komplett selektiert
      } catch (ClassCastException ex)
      {
        // Kein Textfeld, also passiert nichts
      } catch (Exception exc)
      {
        // Sonstige Exceptions dürften hier eigentlich nicht auftreten
      }
    }
  }
 
Zurück