Zelle in einer Tabelle - beim anklicken Markieren

DerLukasz

Grünschnabel
Hi!

So langsam aber sicher bin ich am verzweifeln.

Ich möchte, dass wenn ich in einer dynamisch erstellen Zelle in einer Tablle anklicke, der Text markiert wird.

Ich weiss, dass man mit tc.setCellEditor(new MyTableCellRenderer()); wobei tc ein TableColumn ist, ein verhalten beim Editieren erstellen kann.

Soweit bin ich zZ:


Java:
public class TableCellEditor extends AbstractCellEditor implements TableCellEditor
{

	private static final long serialVersionUID = 5911643513144038817L;
	private JFormattedTextField ff = new JFormattedTextField();

	public TableCellNumberEditor()
	{
		super();
		this.ff.setHorizontalAlignment(SwingConstants.RIGHT);
		this.ff.addFocusListener(this.getFocusListener());
	}
	

	private FocusListener getFocusListener()
	{
		return new FocusAdapter()
		{
			@Override
			public void focusGained(FocusEvent e)
			{
				ff.setValue(123);
				ff.selectAll();
			}
		};
	}

...
...

Das komischeist, dass er den Wert 123 einfügt, aber nicht alles markiert mit selectAll() Wie kann das sein?
Könnte sowas an einer anderen stelle im Projekt üerbschrieben worden sein (also der Listener), oder hab ich etwas elementares übersehen?

Gruß Luke
 
Ich bin mir nicht sicher und kann es nicht gerade testen, aber ich glaub du musst noch
Java:
setSelectionColor(Color c)
aufrufen, damit du es wirklich siehst. Der Text sollte auch sonst markiert werden, kannst ja mal mit
Java:
getSelectedText()
überprüfen.
Mit der Klasse SystemColor und textHighlight und textHighlightText kannst du die systemspezifischen Farben rausfinden.
 
Zuletzt bearbeitet:
Zurück