Thread View: be.comp.programming
9 messages
9 total messages
Started by Passero
Wed, 10 Mar 2004 13:02
[java] paint vraagje
Author: Passero
Date: Wed, 10 Mar 2004 13:02
Date: Wed, 10 Mar 2004 13:02
24 lines
1982 bytes
1982 bytes
Wanneer ik volgende code uitvoer wilt hij pas mijn pnlCenter tonen wanneer
ik het JFrame heb vergroot of verkleind. De bedoeling is dus dat hij het
direct toont zonder dat ik eerst moet verkleinen ofzo.
Je moet ook weten dat deze paint methode de paint methode is van een JPanel
dat toegevoegd wordt aan een JFrame. Het is dus niet de paint methode van de
JFrame. Het is een eigen panel dat ik heb gemaakt en dat eigen panel maakt
gebruik van een ander panel.
public void paint(Graphics g)
{
super.paint(g);
setLayout(new BorderLayout());
breedte = (int)getSize().getWidth();
hoogte = (int)getSize().getHeight();
this.add(pnlCenter,BorderLayout.CENTER);
}
Hopelijk is het een beetje duidelijk
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.600 / Virus Database: 381 - Release Date: 28/02/2004
Re: [java] paint vraagje
Author: Suzan Foster
Date: Wed, 10 Mar 2004 13:36
Date: Wed, 10 Mar 2004 13:36
25 lines
2098 bytes
2098 bytes
Passero wrote:
> Wanneer ik volgende code uitvoer wilt hij pas mijn pnlCenter tonen wanneer
> ik het JFrame heb vergroot of verkleind. De bedoeling is dus dat hij het
> direct toont zonder dat ik eerst moet verkleinen ofzo.
> Je moet ook weten dat deze paint methode de paint methode is van een JPanel
> dat toegevoegd wordt aan een JFrame. Het is dus niet de paint methode van de
> JFrame. Het is een eigen panel dat ik heb gemaakt en dat eigen panel maakt
> gebruik van een ander panel.
>
> public void paint(Graphics g)
> {
> super.paint(g);
> setLayout(new BorderLayout());
> breedte = (int)getSize().getWidth();
> hoogte = (int)getSize().getHeight();
> this.add(pnlCenter,BorderLayout.CENTER);
> }
>
> Hopelijk is het een beetje duidelijk
probeer eens de super.paint(g) als laatste uit te voeren in plaats van
als eerste.
groetjes, su.
Re: [java] paint vraagje
Author: Passero
Date: Wed, 10 Mar 2004 13:53
Date: Wed, 10 Mar 2004 13:53
34 lines
2136 bytes
2136 bytes
"Suzan Foster" <su@islief.nl> schreef in bericht
news:404f19d2$0$559$e4fe514c@news.xs4all.nl...
>
> probeer eens de super.paint(g) als laatste uit te voeren in plaats van
> als eerste.
>
Nope werkt niet. Op school hebben ze me altijd gezegd dat de super.paint(g)
als eerste moet staan dus...
Kheb nu wel een oplossing gevonden maar of die goed en performant is weet ik
niet. Ze werkt wel:
Kheb volgende code toegevoegd aan de paint methode:
if(!vlag)
{
this.updateUI();
vlag = true;
}
vlag is een boolean die standaard of false staat. Zo wordt die structuur
maar 1 keer uitgevoerd en dat is als het frame geladen wordt. Nu komt mijn
grafiek er wel degelijk van de eerste keer op maar ik vermoed dat er wel
betere oplossingen bestaan
> groetjes, su.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.600 / Virus Database: 381 - Release Date: 28/02/2004
Re: [java] paint vraagje
Author: Martijn Mulder
Date: Wed, 10 Mar 2004 14:17
Date: Wed, 10 Mar 2004 14:17
36 lines
2630 bytes
2630 bytes
"Passero" <bla@bla.bla> wrote in message
news:c5F3c.29718$3L7.2140290@phobos.telenet-ops.be...
>
> "Suzan Foster" <su@islief.nl> schreef in bericht
> news:404f19d2$0$559$e4fe514c@news.xs4all.nl...
>
> >
> > probeer eens de super.paint(g) als laatste uit te voeren in plaats van
> > als eerste.
> >
>
> Nope werkt niet. Op school hebben ze me altijd gezegd dat de super.paint(g)
> als eerste moet staan dus...
>
> Kheb nu wel een oplossing gevonden maar of die goed en performant is weet ik
> niet. Ze werkt wel:
> Kheb volgende code toegevoegd aan de paint methode:
>
> if(!vlag)
> {
> this.updateUI();
> vlag = true;
> }
>
> vlag is een boolean die standaard of false staat. Zo wordt die structuur
> maar 1 keer uitgevoerd en dat is als het frame geladen wordt. Nu komt mijn
> grafiek er wel degelijk van de eerste keer op maar ik vermoed dat er wel
> betere oplossingen bestaan
>
Je moet geen panel laden in de paint() method. Die wordt reuze vaak opgeroepen
en daardoor zou je steeds opnieuw een panel toevoegen. Als je dingen wilt
instellen voor je pas toegevoegde panel, moet je dat in de addNotify() method
doen.
M
Re: [java] paint vraagje
Author: Passero
Date: Wed, 10 Mar 2004 14:25
Date: Wed, 10 Mar 2004 14:25
25 lines
2083 bytes
2083 bytes
"Martijn Mulder" <mbmulder_remove_this_@home.nl> schreef in bericht news:c2n7fd$bc2$1@news4.tilbu1.nb.home.nl... > > > > Je moet geen panel laden in de paint() method. Die wordt reuze vaak opgeroepen > en daardoor zou je steeds opnieuw een panel toevoegen. Als je dingen wilt > instellen voor je pas toegevoegde panel, moet je dat in de addNotify() method > doen. > Waar moet ik dan wel de regel add(pnlCenter,....) schrijven? > M > > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.600 / Virus Database: 381 - Release Date: 28/02/2004
Re: [java] paint vraagje
Author: Martijn Mulder
Date: Wed, 10 Mar 2004 15:48
Date: Wed, 10 Mar 2004 15:48
5 lines
1476 bytes
1476 bytes
> Waar moet ik dan wel de regel add(pnlCenter,....) schrijven? In de constructor van het Frame, bij voorbeeld.
Re: [java] paint vraagje
Author: Passero
Date: Wed, 10 Mar 2004 16:03
Date: Wed, 10 Mar 2004 16:03
21 lines
2041 bytes
2041 bytes
"Martijn Mulder" <mbmulder_remove_this_@home.nl> schreef in bericht news:c2ncos$n4m$1@news1.tilbu1.nb.home.nl... > > > > Waar moet ik dan wel de regel add(pnlCenter,....) schrijven? > > In de constructor van het Frame, bij voorbeeld. > > Het is dus wel de bedoeling dat het frame pnlCenter niet kent h�. Hij mag enkel het parent panel kennen. Die parent heeft een borderLayout en verschillende panels. De frame mag die dus niet kennen dus die regel kan ik daar toch niet schrijven --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.600 / Virus Database: 381 - Release Date: 28/02/2004
Re: [java] paint vraagje
Author: Martijn Mulder
Date: Wed, 10 Mar 2004 16:28
Date: Wed, 10 Mar 2004 16:28
11 lines
1904 bytes
1904 bytes
> > > Waar moet ik dan wel de regel add(pnlCenter,....) schrijven? > > In de constructor van het Frame, bij voorbeeld. > Het is dus wel de bedoeling dat het frame pnlCenter niet kent h�. Hij mag > enkel het parent panel kennen. Die parent heeft een borderLayout en > verschillende panels. De frame mag die dus niet kennen dus die regel kan ik > daar toch niet schrijven Nou, dan doe je add(pnlCenter,...) in de constructor van de parent van het Panel, h�
Re: [java] paint vraagje
Author: Passero
Date: Wed, 10 Mar 2004 17:54
Date: Wed, 10 Mar 2004 17:54
23 lines
2278 bytes
2278 bytes
"Martijn Mulder" <mbmulder_remove_this_@home.nl> schreef in bericht news:c2nf59$tgp$1@news2.tilbu1.nb.home.nl... > > Nou, dan doe je add(pnlCenter,...) in de constructor van de parent van het > Panel, h� > > OK bedankt nu werkt het maar het probleem lag em ook ergens anders dus wanneer ik die in de constructor zette wou het nog niet direct werken maar nu werkt alles zoals het hoort :). Ik voegde bij een panel met een borderlayout een panel met een null layout toe en blijkbaar wil dat niet zo goed lukken. Kheb er dan nen gridlayout van gemaakt ipv null layout en nu werkt ie wel woohoo ;) Bedankt voor de moeite --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.600 / Virus Database: 381 - Release Date: 28/02/2004
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads