vendredi 22 mai 2015
JScrollPane scrollt nicht !!
Posted on 15:58 by verona
Hallo Liebe Forum Mitglieder,
ich programmiere momentan ein Programm und stehe vor einem kleinem Problem, kurz gesagt:
in ein JPanel welcher auf dem JFrame liegt, wird eine JScrollbar gepackt, hierrein wird nun wieder ein JPanel gepackt in welches ich ebenfalls noch weitere Objekte hinzufügen möchte.
Zur Veranschaulichung:
JPanel direkt auf Frame:
behinhaltet diese JScrollbar:
welches diesen Container behinhaltet:
um schließlich dieses Panel zu zeigen:
Ich weiß das ist nicht gerade der leichteste Weg dies zu vollbringen aber meine Idee war die:
Ich möchte eine beliebige Anzahl von Kästen nebeneinander angezeigt haben (Channel), wenn der Platz nicht ausreicht, kann man Scrollen.
Theoretisch müsste doch, wenn man mehr Channel hinzufügt, sich die Größe von ChannelListPanel auch vergrößern und somit eine Scrollbar erzeugen ? Bitte klärt mich auf!!! :)
mit freundlichen Grüßen,
Luecx
ich programmiere momentan ein Programm und stehe vor einem kleinem Problem, kurz gesagt:
in ein JPanel welcher auf dem JFrame liegt, wird eine JScrollbar gepackt, hierrein wird nun wieder ein JPanel gepackt in welches ich ebenfalls noch weitere Objekte hinzufügen möchte.
Zur Veranschaulichung:
JPanel direkt auf Frame:
Java Code:
-
-
double prozentHoeheFrame = 0.3;
-
LowerScrollPane lsp = new LowerScrollPane();
-
-
public LowerPanel(){
-
super();
-
init();
-
}
-
-
public void init(){
-
}
-
-
-
int xH = 0;
-
int yH = (int)(frame.getHeight()*(1-prozentHoeheFrame));
-
int widthH = frame.getWidth()-15;
-
int heightH = frame.getHeight()-yH-35;
-
-
//this.setBounds(0, (int)(frame.getHeight()*(1-prozentHoeheFrame)), frame.getWidth()-15, (int)(frame.getHeight()*(prozentHoeheFrame-0.02)));
-
this.setBounds(xH,yH,widthH, heightH);
-
-
lsp.aktuallisiere(this);
-
this.revalidate();
-
}
-
}
behinhaltet diese JScrollbar:
Java Code:
-
-
-
ChannelListPanel clp = new ChannelListPanel();
-
-
-
-
-
public LowerScrollPane() {
-
-
this.setViewportView(clp);
-
}
-
-
-
-
-
this.setBounds(0, 0, p.getWidth(), p.getHeight());
-
this.revalidate();
-
-
clp.aktuallisiere(p);
-
//this.setBackground(Color.BLUE);
-
}
-
}
welches diesen Container behinhaltet:
Java Code:
-
-
-
-
public ChannelListPanel() {
-
this.setLayout(null);
-
-
-
for(int i = 0; i < 20; i++){
-
channelPanel.add(new Channel());
-
this.add(channelPanel.get(i));
-
}
-
-
}
-
-
//this.setBounds(0, 0, 300, 300);
-
this.setBackground(farbe);
-
this.setOpaque(true);
-
-
for(int i = 0; i < channelPanel.size(); i++){
-
channelPanel.get(i).aktuallisiere(this, i);
-
}
-
-
this.revalidate();
-
-
-
-
}
-
-
}
um schließlich dieses Panel zu zeigen:
Java Code:
-
-
-
public double margin = 0.12;
-
-
-
public Channel(){
-
-
}
-
-
int marginH = (int)(p.getHeight()*margin);
-
int channelH = (int)(p.getHeight()-marginH*2);
-
-
-
-
this.setBounds(channelH*number+marginH*(number+1), marginH, channelH, channelH);
-
this.revalidate();
-
}
Ich weiß das ist nicht gerade der leichteste Weg dies zu vollbringen aber meine Idee war die:
Ich möchte eine beliebige Anzahl von Kästen nebeneinander angezeigt haben (Channel), wenn der Platz nicht ausreicht, kann man Scrollen.
Theoretisch müsste doch, wenn man mehr Channel hinzufügt, sich die Größe von ChannelListPanel auch vergrößern und somit eine Scrollbar erzeugen ? Bitte klärt mich auf!!! :)
mit freundlichen Grüßen,
Luecx
JScrollPane scrollt nicht !!
Categories: JScrollPane scrollt nicht !!
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire