N
NoUseForAName
Gast
Hallo,
ich habe eine kleine GUI geschrieben..
diese funktioniert auch wunderbar.. solange ich GradientPaint nicht benutze...
denn sobald ich den Hintergrund meiner JPanels damit färben lasse, verbraucht mein Prog. zu viele Ressourcen meines PC (und ich arbeite gerade an einem P4 3,2 Ghz und 2 GB Ram) und baut sich nur ganz langsam auf...
gibt es eine alternative zu GradientPaint, die nicht so aufwändig für den PC ist?
oder.. wie bekomme ich mein programm schneller...
grobe beschreibung.. es gibt ein JPanel (art) rechts:
sowas gibt es auch noch für die die mitte (center) und eine weiteren klasse füllt den unteren (south) bereich...
in einer weiteren Klasse, lasse ich einen gemeinsamen Rahmen um die JPanels rechts und mitte (center) zeichnen..
wie schon gesagt, es sieht zwar so aus, wie ich es mir vorstelle.. aber es dauert einfach zu lange, bis sich das Bild aufgebaut hat... wenn ich "paint2=new GradientPaint(1,0,Color.white,this.getWidth(),0,Color.blue.darker(),true);" rausstreiche (auch in der nicht geposteten Klasse, welche in der mitte (center) ist), baut es sich schnell auf...
diese Klassen werden während dem aufbau recht häufig neu gezeichnet .. obwohl es reichen würde, diese einmal zu zeichnen, nur in dem JPanel im unteren (SOUTH) Bereich läuft anfangs ein kleine animation...
hat jemand eine idee, wie ich es schneller bekomme?
ich habe eine kleine GUI geschrieben..
diese funktioniert auch wunderbar.. solange ich GradientPaint nicht benutze...
denn sobald ich den Hintergrund meiner JPanels damit färben lasse, verbraucht mein Prog. zu viele Ressourcen meines PC (und ich arbeite gerade an einem P4 3,2 Ghz und 2 GB Ram) und baut sich nur ganz langsam auf...
gibt es eine alternative zu GradientPaint, die nicht so aufwändig für den PC ist?
oder.. wie bekomme ich mein programm schneller...
grobe beschreibung.. es gibt ein JPanel (art) rechts:
Code:
class EPanel extends JPanel {
GradientPaint paint2;
@Override
protected void paintComponent(Graphics g){
super.paintComponent( g );
Graphics2D g2 = (Graphics2D)g;
//fülle Hintergrund mit einem Farbverlauf:
paint2=new GradientPaint(1,0,Color.white,this.getWidth(),0,Color.blue.darker(),true);
g2.setPaint(paint2);
g2.fill(new Rectangle2D.Double(0,1,this.getWidth()/3*2,this.getHeight()-3));
g2.fill(new RoundRectangle2D.Double(0,1,this.getWidth()-1,this.getHeight()-3,40,40));
System.out.println("East paint: ");
}
}
sowas gibt es auch noch für die die mitte (center) und eine weiteren klasse füllt den unteren (south) bereich...
in einer weiteren Klasse, lasse ich einen gemeinsamen Rahmen um die JPanels rechts und mitte (center) zeichnen..
Code:
class MPanel extends JPanel {
@Override
public void paintChildren(Graphics g) {
super.paintChildren(g);
//zeichnet den Rahmen um alle "Children"
g.setColor(Color.DARK_GRAY);
g.drawRoundRect(1,1,this.getWidth()-3,this.getHeight()-3,40,40);
System.out.println("Middle paintChildren");
}
}
wie schon gesagt, es sieht zwar so aus, wie ich es mir vorstelle.. aber es dauert einfach zu lange, bis sich das Bild aufgebaut hat... wenn ich "paint2=new GradientPaint(1,0,Color.white,this.getWidth(),0,Color.blue.darker(),true);" rausstreiche (auch in der nicht geposteten Klasse, welche in der mitte (center) ist), baut es sich schnell auf...
diese Klassen werden während dem aufbau recht häufig neu gezeichnet .. obwohl es reichen würde, diese einmal zu zeichnen, nur in dem JPanel im unteren (SOUTH) Bereich läuft anfangs ein kleine animation...
hat jemand eine idee, wie ich es schneller bekomme?