kilka paneli a rysowanie

0

witam
mam taki problem :
okno mojej aplikacji sklada się z 4 JPaneli z czego na dwóch z nich chcę rysować obiekty Graphics2D.
ogólnie wymyślilem że do JFrame wrzucam JPanel o takich samych jak JFrame wymiarach a do tego JPanela 3 JPanele poukladane na nim i w 2 z nich chce rysować.kazdy z tych 3 paneli ma swoja klase i jak wywoluje repaint() w nich to sie po prostu nie rysuje nawet do metody paint nie wchodzi.

nie wiem czy dobrze to wykombinowalem .moze ma ktos pomysl jak to zrobic albo cos takiego robil.

pozdrawiam

0

Namotałeś. Pokaż choć kawałek kodu. Najprawdopodobniej nie przerysowujesz dobrego panelu lub przerysowujesz za mało.

0

Namotałeś. Pokaż choć kawałek kodu. Najprawdopodobniej nie przerysowujesz dobrego panelu lub przerysowujesz za mało.

0

taki pseudokodzik tego co kombinuje wyglada jakos tak:

public class aplikacja extends JFrame{
private JPanel glowny;
private JPanelLewy lewy;
private JPanelPrawy prawy;
private JPanelDol dol;

public aplikacja(){

this.setSize(800,600);
glowny=new JPanel();
glowny.setBounds(0,0,800,600);
this.setLayout(null);
this.add(glowny);
lewy=new JPanelLewy(500,400);
prawy=new JPanelPrawy(300,400);
dol=new JPanelDol(800,200);
glowny.add(prawy);
glowny.add(lewy);
glowny.add(dol);
this.setVisible(true);
}
}//aplikacja

class JPanelprawy extends JPanel{
private int w;
private int h;
public JPanelPrawy(int w,int h){
this.w=w;
this.h=h;
this.setBounds(0,0,w,h);
this.setLayout(null);
repaint();
}
public paint(Graphisc g){
g.drawLine(0,0,w,h);
}
}//JPanelPrawy

class JPanelLewy extends JPanel{
private int w;
private int h;
public JPanelLewy(int w,int h){
this.w=w;
this.h=h;
this.setLayout(null);
this.setBounds(0,0,w,h);
repaint();
}
public paint(Graphisc g){
g.drawLine(0,0,w,h);
}
}//JPanelLewy

class JPanelDol extends JPanel{
private int w;
private int h;
JButton b;
public JPanelDol(int w,int h){
this.w=w;
this.h=h;
this.setLayout(null);
this.setBounds(0,0,w,h);
b=new JButton("start");
b.setBounds(0,0,50,20);
add(b);
}

}//JPanelDol

0

Ok. Pytanie gdzie są metody setVisible dla poszczególnych paneli?

1 użytkowników online, w tym zalogowanych: 0, gości: 1