login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > Object georiënteerd

[JAVA] componenten paneel niet weergeven (Opgelost)

koenvandalen – 06/05/2010 17:16
Beste mensen,

Ik ben een inteface voor een programma aan het ontwerpen en ik loop tegen een probleem aan. Deze code genereert het paneel van het JFrame:

  1. public class Paneel extends JPanel
  2.  
  3. {
  4. private JButton knop;
  5. private JTextField tekst1, tekst2;
  6.  
  7. public TekenPaneel() {
  8. knop = new JButton ( "Teken" );
  9.  
  10. tekst1 = new JTextField (10);
  11. tekst2 = new JTextField (10);
  12. add ( new JLabel ( " Aantal" ) );
  13. add ( tekst1 );
  14. add ( tekst2 );
  15. add ( knop );
  16.  
  17. }
  18.  
  19. public void paint (Graphics g) {
  20. g.drawImage( buffer, 0, 0, null );
  21. }
  22.  
  23. }



Als ik deze code gebruik compileert alles goed, maar als ik dan het programma start zie ik mijn invoer en knop pas als ik er met mijn muis overheen ga. Hoe kan ik het aanpassen dat het wel werkt? Ik ben trouwens nog maar een beginnen in Java.

Alvast bedankt,

Koen


Pagina:

11 antwoorden

Gesponsorde links

cloudstrife – 06/05/2010 17:43
Ik denk dat je best de volledige code eens post. Want hiermee is men niet veel denk ik. Waar roep je bv die TekenPaneel() aan? Wat zit er in de variable buffer, etc...

koenvandalen – 06/05/2010 17:59 (Laatst gewijzigd op 24/04/2011 22:53)
De link naar de volledige code :
(Is iets anders)

Groeten,

Koen

Stijn – 06/05/2010 18:06
Waarom overschrijf je die paint methode? Als je toch een goeie reden hebt, plaats dan volgende regel bij je paint():

  1. super.paint(g);


MiST – 06/05/2010 18:27
én een '@override' annotatie. Ineens goede gewoonten aanleren ;)

Stijn – 06/05/2010 18:42
MiST schreef:
én een '@override' annotatie. Ineens goede gewoonten aanleren ;)
@Override, leer het dan tenminste goed aan .

koenvandalen – 06/05/2010 18:45 (Laatst gewijzigd op 06/05/2010 18:46)
Als ik super.paint(g) toevoeg:
  1. public void paint (Graphics g) {
  2.  
  3. g.drawImage( buffer, 0, 0, null );
  4. super.paint(g);
  5. }


dan worden de buttons enzo goed weergeven, maar dan werkt mijn klasse niet meer. Deze klasse is om een aantal veelhoeken op het scherm te tekenen. Dit lost dus het button probleem op, maar de figuren verschijnen niet meer.

Koen

Stijn – 06/05/2010 18:48
Die @Override moet voor public komen (of erboven). Dat is een methode annotatie. Kan je eens een screenshot geven van voor het plaatsen van de buttons en dan ééntje van na het plaatsen van de buttons.

koenvandalen – 06/05/2010 18:49
Citaat:
Kan je eens een screenshot geven van voor het plaatsen van de buttons en dan ééntje van na het plaatsen van de buttons.


Hoe bedoel je? Ik snap het niet.

Koen

Stijn – 06/05/2010 18:52
Geef een screenshot van je programma...

koenvandalen – 06/05/2010 18:59 (Laatst gewijzigd op 24/04/2011 22:54)
Aha,

zie screen1.jpg

En als ik dan de vakjes invul en op teken druk gebeurd er niets.

Koen

EDIT: Ik heb het probleem opgelost door de functie paint() te hernoemen naar paintComponent();

Gesponsorde links


Pagina:

Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.161s