Error met JOptionPane(test.this,"errorblaat",JOptionPane.ERR

Pagina: 1
Acties:
  • 197 views sinds 30-01-2008
  • Reageer

  • degroot
  • Registratie: December 2003
  • Niet online
Ik ben bezig met een java applicatie.
Voor de gui gebruik ik swing, hier ben ik pas mee aan het stoeien

Nu wil ik dat als ik dat er eerst gecontroleerd word of de telknop al minstens 3x ingedrukt is voordat de applicatie gesloten worden...
Zo niet , dan moet er een foutmelding komen , en de applicatie kan dan niet afsluiten.

Dat doe ik dmv onderstaande code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import java.awt.Component;
import javax.swing.*;
import java.awt.event.*;

public class test extends JFrame
{
    private JButton telknopje,exitknopje;
    
    public static void main(String[] args)
    {
        new test();
    }
    
    public test()
    {
        setSize(400,200);
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        setTitle("Knopjes programma");
        
        JPanel paneeltje = new JPanel();
        
      addWindowListener(new WindowAdapter()
      {   
             public void WindowClosing(WindowEvent e)
            {
                exitknopje.doClick();
             }
       });
        
       Klikluisteraar cl = new Klikluisteraar();
        telknopje = new JButton("Klik me!");
        telknopje.addActionListener(cl);
        
        exitknopje = new JButton("Sluit App");
        exitknopje.addActionListener(cl);
        
        paneeltje.add(telknopje);
        paneeltje.add(exitknopje);
        add(paneeltje);
        
        setVisible(true);        
    }
    
   private class Klikluisteraar implements ActionListener
   {
       private int teller = 0;
       public void actionPerformed(ActionEvent e)
       {
           if(e.getSource() == telknopje)
           {
               teller++;
               telknopje.setText("Ik ben al "+teller+" keer geklikt");
           }
           else if(e.getSource() == exitknopje)
           {
               if(teller > 2 )
               {
                   System.exit(0);
               }
               else
               {
                   JOptionPane.showMessageDialog(test.this,"Sorry je bent te snel met klikken . bewaar je werk eerst",JOptionPane.ERROR_MESSAGE);
               }
           }
       }
   }
}

En dan gaat het waarschijnlijk op de volgende regel fout....

JOptionPane.showMessageDialog(test.this,"Sorry je bent te snel met klikken . bewaar je werk eerst",JOptionPane.ERROR_MESSAGE);

Want bij mijn IDE(Netbeans 5.0) krijg ik de volgende error
code:
1
2
3
4
5
6
7
8
9
10
11
12
C:Documents and  SettingsAdministratorJavaApplication7
srcjavaapplication7test.java:62: cannot resolve symbol

symbol  : method showMessageDialog (test,java.lang.String,int)

location: class javax.swing.JOptionPane

                   JOptionPane.showMessageDialog(test.this,"Sorry je bent te snel met klikken . bewaar je werk eerst",JOptionPane.ERROR_MESSAGE);

1 error

BUILD FAILED (total time: 1 second)

Ik vermoed dus dat het iets met de test.this heeft te maken , dat deze niet goed naar iets verwijst....maar wat weet ik niet precies omdat ik nog maar een beginneling in java ben...
Op google heb ik al wat rond gezocht , maar met tutorials staat er steeds:
This
of
Null
Dat heb ik ook allemaal geprobeerd , maar helaas zonder resultaat , en nu kom ik er niet helemaal meer aan uit.
Hopelijk kunnen jullie mij weer ietswat opweg helpen

www.degroot-it.nl


Verwijderd

Probeer eens :
OptionPane.showMessageDialog(this.test() ,"Sorry je bent te snel met klikken . bewaar je werk eerst",JOptionPane.ERROR_MESSAGE);

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 18-02 10:22

NetForce1

(inspiratie == 0) -> true

Je vergeet een titel mee te geven. Het moet zijn:
Java:
1
JOptionPane.showMessageDialog(test.this,"Sorry je bent te snel met klikken . bewaar je werk eerst", "Insert title here",JOptionPane.ERROR_MESSAGE);

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Het zal inderdaad de titel zijn, zoals NetForce1 zegt.
Wat PhiRo zegt klopt niet, this.test() wil de constructor van het reeds bestaande object aanroepen, dat kan niet.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


  • degroot
  • Registratie: December 2003
  • Niet online
Inderdaad de oplossing van NetForce klopt ,
Ik ben JAVA aan het leren met swing vanuit het boek "\JAVA for Dummies" , maar daar kon ik er niets over terugvinden , er stond ook geen titel oid bij die ik moest toevoegen. en er zaten toch aardig wat voorbeeldjes van in met een ERROR_MESSAGE.

ThnQ voor jullie hulp , nu is het gelijk een stukje duidleijker allemaal voor me

www.degroot-it.nl