Avatar billede adflicto Nybegynder
11. januar 2007 - 16:53 Der er 3 kommentarer

ClassCastException ved JOptionPane

Jeg har følgende kode til en knap i et gui program:



JButton delete = new JButton("Slet opgave");
delete.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
final JOptionPane confirm = new JOptionPane();

confirm.showConfirmDialog(Main.main,"Ønsker du at slette opgave: <ID> fra systemet?","Advarsel!",JOptionPane.YES_NO_OPTION);   
int value = ((Integer)confirm.getValue()).intValue();
if("Slet opgave".equals(e.getActionCommand()))
{
      if(value == JOptionPane.YES_OPTION)
      {
            //Slet opgave fra databasen
      }
}
}
});


Jeg får en ClassCastException ved den linje, hvor jeg prøver at caste valget fra brugeren i JOptionPane'et til et Integer.
Jeg er har prøvet at printe value ud, før denne castes og den er
uninitializedValue
Avatar billede arne_v Ekspert
11. januar 2007 - 17:31 #1
proev og udskriv confirm.getValue().getClass().getName() og se hvad den
indeholder
Avatar billede mikkelbm Nybegynder
11. januar 2007 - 17:32 #2
Normalt bruger man de statiske metoder der findes på en JOptionPane:

int value = JOptionPane.showConfirmDialog(Main.main,"Ønsker du at slette opgave: <ID> fra systemet?","Advarsel!",JOptionPane.YES_NO_OPTION);

if("Slet opgave".equals(e.getActionCommand()))
{
      if(value == JOptionPane.YES_OPTION)
      {
            //Slet opgave fra databasen
      }
}

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JOptionPane.html
Avatar billede mikkelbm Nybegynder
25. januar 2007 - 23:36 #3
Kommet videre?
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