Avatar billede flinkemike Nybegynder
24. april 2001 - 13:32 Der er 2 kommentarer og
1 løsning

få JTable til at virke som fx excel

jeg har et JTable og når man bruger tab til at komme hen til cellen er det markeret, men når man begynder at skrive kommer det til at stå efter det der var der i forvejen.

den funktionalitet jeg vil have er : når en celle er markeret skal den gamle tekst overskrives, når man begynder at skrive.
ligesom et felt i fx. excel.

såvidt jeg kan se skal man lave sin egen celleditor, men hvordan laver man en celleditor der kan det.
Avatar billede logical Nybegynder
29. april 2001 - 21:51 #1
Du kan komme over det ved at lave et lille hack til din cell editor, a.la.

class MyEditor extends DefaultCellEditor {
    MyEditor() {
        super(new JTextField());
    }
    public Component getTableCellEditorComponent(JTable table,
                Object value, boolean isSelected, int row, int col) {
        Component c = super.getTableCellEditorComponent(table,
                    value, isSelected, row, col);
        ((JTextField) c).setText(\"\");
        return c;
    }
}

Brug evt. den til den class, som du anvender i din JTable, i stil med:

JTable t = new JTable(new Model());
t.setDefaultEditor(Integer.class, new MyEditor());
Avatar billede tommygj Nybegynder
30. oktober 2001 - 14:03 #2
Smukt !! :) - Lige hvad jeg også skulle bruge.
Avatar billede tommygj Nybegynder
30. oktober 2001 - 14:39 #3
For at undgå at indholdet forsvinder, hvis man nu går ind i det kan man bruge:
((JTextField) c).selectAll();
istedet for
((JTextField) c).setText(\"\");
Nu overskrives indholdet hvis du blot taster i cellen, men hvis du klikker dig ind i den, forbliver indholdet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester