24. september 2005 - 13:51Der er
4 kommentarer og 1 løsning
itemStateChanged og rækkeskift i tabel
Jeg er ved at udvikle en database-applikation i Java, hvori jeg har en tabel, og en tilhørende combobox. Når en ny række/post vælges i tabellen, skifter det valgte item ligeledes i combobox'en. Jeg har det lavet sådan, at når et item i combobox'en ændres til en given post, aktiveres en "gem-knap". Det er lavet på flg. simple måde:
public void itemStateChanged(ItemEvent e) { if (e.getStateChange() != ItemEvent.SELECTED) { jBSave.setEnabled(false); //Gem-knappen } } MEN problemet er, at denne kode afvikles også når en ny række vælges i tabellen, uden at jeg har valgt et nyt item i ombobox'en. Det er på sin vis, og logisk nok, når den valgte post er forskellige fra den "gamle" post.
Jeg forestiller mig lidt, at problemet kan løses ved at ignorere et itemskift når en ny post vælges.
Hertil tænker jeg på noget i retningen af flg. kode:
int sel = jdbTable2.getEditingRow(); selRow[1] = selRow[0]; selRow[0] = sel;
Der skal istedet stå: jBSave.setEnabled(true) Det virker desværre ikke. Når jeg printer isFocusOwner(), ser jeg, at metoden hele tiden er False, ligemeget om jeg trykker på comboboxen eller tabellen. Jeg vil lige understrege, at knappen kun skal aktiveres, når brugeren ændre et item i comboboxen med f.eks. musen, og altså ikke når det ændres som følge af et rækkeskifte i tabellen.
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.