Thread View: be.comp.programming
3 messages
3 total messages
Started by Passero
Mon, 08 Mar 2004 19:41
[Java] GUI probleem grrrr
Author: Passero
Date: Mon, 08 Mar 2004 19:41
Date: Mon, 08 Mar 2004 19:41
62 lines
3313 bytes
3313 bytes
Volgende code blijkt niet te werken. Ik heb me al doodgezocht en vind het
niet. Hij tekent mijn labels niet. De berekeningen kloppen want die heb ik
al uitvoerig gecontroleerd. Kheb ook al vanalles geprobeerd zoals in de
methode tekenKlimatogram de container van het venster mee te geven maar
tevergeefs. Hij wil dus echt mijn paneel niet tonen :s
Wie o wie kan mij helpen.
Dit is de methode:
public JPanel tekenKlimatogram(int hoogte,int breedte)
{
//initialisatie enzo
JLabel[] balken = new JLabel[12];
double hoogste = hoogsteTemp();
double laagste = laagsteTemp();
int witruimte = 5;
int breedteBalk = (int)(breedte/12 - 13*witruimte);
int x = witruimte,y=0;
JPanel grafiek = new JPanel(null);
grafiek.setSize(hoogte,breedte);
schaal = new Schaal(hoogste,laagste,hoogte);
//tekenen van de grafiek zelf
for(int i = 0;i < tempLijst.length;i++)
{
balken[i] = new JLabel();
balken[i].setBackground(new Color(12,12,12));
grafiek.add(balken[i]);
balken[i].setBounds(x,y,breedteBalk,(int)schaal.berekenHoogte(tempLijst[i]))
;
x += breedteBalk + witruimte;
}
grafiek.setBackground(new Color(200,30,100));
return grafiek;
}
in de testklasse staat dit:
public Test()
{
super("Klimatogram");
Container c = this.getContentPane();
c.setLayout(new BorderLayout());
JPanel grafiek = Test.klimatogram.tekenKlimatogram(700,600);
grafiek.setSize(700,600);
setBounds(0,0,800,600);
setVisible(true);
}
de main methode zorgt voor het opvullen van de arrays en die zijn static dus
ze blijven bestaan daar ben ik zeker van, daar ligt het echt niet aan want
ik heb gecontroleerd op de hoogte van de labels en die kloppen. Het is dus
iets anders.
Een externe klasse gebruiken die zelf grafieken tekent gaat ook niet want
het is voor een project voor school.
---
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] GUI probleem grrrr
Author: Kristoffel
Date: Mon, 08 Mar 2004 22:57
Date: Mon, 08 Mar 2004 22:57
71 lines
3768 bytes
3768 bytes
Passero wrote:
> Volgende code blijkt niet te werken. Ik heb me al doodgezocht en vind het
> niet. Hij tekent mijn labels niet. De berekeningen kloppen want die heb ik
> al uitvoerig gecontroleerd. Kheb ook al vanalles geprobeerd zoals in de
> methode tekenKlimatogram de container van het venster mee te geven maar
> tevergeefs. Hij wil dus echt mijn paneel niet tonen :s
> Wie o wie kan mij helpen.
>
> Dit is de methode:
>
> public JPanel tekenKlimatogram(int hoogte,int breedte)
> {
> //initialisatie enzo
> JLabel[] balken = new JLabel[12];
> double hoogste = hoogsteTemp();
> double laagste = laagsteTemp();
> int witruimte = 5;
> int breedteBalk = (int)(breedte/12 - 13*witruimte);
> int x = witruimte,y=0;
> JPanel grafiek = new JPanel(null);
> grafiek.setSize(hoogte,breedte);
> schaal = new Schaal(hoogste,laagste,hoogte);
> //tekenen van de grafiek zelf
> for(int i = 0;i < tempLijst.length;i++)
> {
> balken[i] = new JLabel();
> balken[i].setBackground(new Color(12,12,12));
> grafiek.add(balken[i]);
>
> balken[i].setBounds(x,y,breedteBalk,(int)schaal.berekenHoogte(tempLijst[i]))
> ;
> x += breedteBalk + witruimte;
> }
> grafiek.setBackground(new Color(200,30,100));
> return grafiek;
> }
>
> in de testklasse staat dit:
>
> public Test()
> {
> super("Klimatogram");
> Container c = this.getContentPane();
> c.setLayout(new BorderLayout());
> JPanel grafiek = Test.klimatogram.tekenKlimatogram(700,600);
> grafiek.setSize(700,600);
> setBounds(0,0,800,600);
> setVisible(true);
> }
>
> de main methode zorgt voor het opvullen van de arrays en die zijn static dus
> ze blijven bestaan daar ben ik zeker van, daar ligt het echt niet aan want
> ik heb gecontroleerd op de hoogte van de labels en die kloppen. Het is dus
> iets anders.
> Een externe klasse gebruiken die zelf grafieken tekent gaat ook niet want
> het is voor een project voor school.
>
Uw JPanel (grafiek) is niet toegevoegd aan uw parent window (JApplet?):
toevoegen in methode Test ():
c.add (grafiek);
wat het zelfde is als :
this.getContentPane ().add (grafiek);
Ik denk dat je ook de positie in de Applet of parent window moet bepalen
in de methode Test () met :
grafiek.setLocation (x, y);
/ x en y zijn de co�rdinaten in parent window (JApplet ?)
K
Re: [Java] GUI probleem grrrr
Author: Passero
Date: Tue, 09 Mar 2004 15:35
Date: Tue, 09 Mar 2004 15:35
25 lines
2022 bytes
2022 bytes
"Kristoffel" <knospam@yahoo.com> schreef in bericht news:nT63c.28120$y55.1805421@phobos.telenet-ops.be... > > Uw JPanel (grafiek) is niet toegevoegd aan uw parent window (JApplet?): > toevoegen in methode Test (): > c.add (grafiek); > Je hebt gelijk maar dat was het niet. Ik was dit er blijkbaar vergeten bijzetten. Het probleem is dat de labels transparant zijn waardoor ze niet getoond worden, zelfs niet als ik de achtergrond inzet. Ik moet gewoon: balken[i].setOpaque(true); zetten en het werkt. Hoe lang ik daar niet heb op zitten zoeken pfffffff > > K --- 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