21. marts 2001 - 13:28Der er
15 kommentarer og 1 løsning
Dialogbokse
Jeg har et problem med en InputDialog boks.
koden er: String name = JOptionPane.showInputDialog (content, \"Indtast navnet på søgeordet:\", \"Søgeord\", JOptionPane.QUESTION_MESSAGE);
variablen \"name\" bliver sat til det som man indtaster i dialogboksen. Når dialogboksen kommer frem er der en \"OK\" og en \"CANCEL\" knap. Hvis man trykker på \"CANCEL\" kommer der en masse fejl meddelser. Hvordan fanger jeg disse fejl og hvordan sætter jeg en handling på en event knap, f.eks. System.out.println (\"du cancellede!\");
zyke, medarbejderne på havnen er mest interreseret i at få et system hvor de kan navigere rundt hurtigt (ekspert system, jf. ikke-funktionelle krav) derfor er en popup box irreterende. Ellers troede jeg aldrig jeg skulle kunne hjælpe dig med GUI i java.
name bliver NULL hvis der trykkes cancel, du kan evt. undgå det med:
String name = JOptionPane.showInputDialog (content, ... ; name = (name == null) ? \"\" : name;
accept.addActionListener(this); //knappen JButton accept får tilføjet en Actionlistener
public void actionPerformed(ActionEvent ae){ if (ae.getActionCommand().equals(\"Confirm\")){ (Her sætter du den kode du vil have udført } }
Der står equals Confirm fordi det er knappens tekst (som Cancel eller OK), det kan også gøres på andre måder, men dette virker fint du skal bare lave flere if sætninger afhængigt af hvor mange knapper du skal fange... Når du får fejl ved cancel skyldes det nok at du prøver at udføre den kode som udføres ved OK.
Nej Jeg kan bestemt ikke det hele, men hvis du forventer bedre svar, så er det ikke særligt opmuntrende at give et svar i retning af: \"Ja du har godt nok svaret, men nu har jeg slet ikke brug for at du har brugt tid på at finde ud af det, synd for dig...\" Det sidste indlæg fra dig før, mit svar virker ikke lige frem som om du har løst problemet. En kommentar om at du ønskede bedre svar ville have været helt fin :-)
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.