24. februar 2003 - 11:45Der er
4 kommentarer og 1 løsning
Dynamisk JTable med knapper
Jeg har et lille problem med JTable og knapper. Jeg har en vector med vectorer og for hver vektors sidste plads i hovedvektoren skal der være en knap. Dette må ikke ske når jeg laver vektoren men skal ske efter jeg har sat den in di tabellen. Det store problem er Actionlistener. Der skal jo tilføjes en Actionlistener til hver knap, men for at kunne gøre det skal knappen jo have en specifikt navn. Hvordan gøres dette??? Kan jeg oprette knapper i en for med forskellige navne??? Er det ikke noget med at man kan have en ActionPerformed til mange knapper, hvis jeg bruger f.eks. navnet på knappen til at identifisere hvilken event det er???
//Det er i denne for jeg gerne vil have //en knap med ationlistener på. for (int i=0; i<vec.size(); i++) { Vector mid = vec.elementAt(i); t.addRow(mid); JButton infoknap = new JButton("Info"); infoknap.setName(mid.elementAt(1)); infoknap.addActionlis.......... table.setValueAt(infoknap, t.getRowCount(), 7); } }
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg ved ikke hvor mange undervektorer du har, men jeg håber da det er et fast antal. Hvis det ikke er et fast antal får du et problem med at identificere de enkelte knapper...
public void actionPerformed(ActionEvent event) { for( int i = 0; i < mainVector.size(); i++ ) { Vector v = (Vector)mainVector.get(i); if( event.getSource() == v.lastElement() ) { switch(i) { case 1: { ... } break; case 2: { ... } break; ... } } } }
Det kan du selvfølgelig også.. så slipper du også for at lave opslag i hovedvektoren. Det fylder så bare en anelse mere i koden, men det er vel til at leve med.
Synes godt om
Ny brugerNybegynder
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.