Hallo,
habe mir schon ne menge zu JScrollPane durchgelesen und habe auch schon einiges erreicht aber irgendwie haut immer noch nicht alles hin.
Als kleinen Test um es kennenzulernen habe ich mir folgendes ausgedacht.
Icvh erzeuge ein JScrollPane. In dieses packe ich dann ein Pannel, welches ich zum zeichnen meiner eigentlichen dinge benutze wie weitere Panels buttons usw.
Hätte nun gedacht, wenn das Panel was ich in das JScrollPane reinpacke größer als dieses ist, sollte ich scrollen können. Leider klappt dies nicht.
Hier mal etwas beispielcode. Vielleicht kann mir ja mal jemand einen tip geben, wo der denkfehler liegt.
[HIGHLIGHT="Java"]private JScrollPane scrollPane = null;
private JScrollPane getScrollPane() {
if (scrollPane == null) {
scrollPane = new JScrollPane();
scrollPane.setBounds(new Rectangle(30, 19, 150, 130));
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setViewportView(panel1);
}
return scrollPane;
}
private JPanel panel1 = null;
private void getPanel1()
{
if(panel1 == null)
{
panel1 = new JPanel();
panel1.setLayout(null);
panel1.setBounds(10, 10, 600, 600);
panel1.setBackground(Color.red);
panel1.add(getPanel2(0));
panel1.add(getPanel2(20));
panel1.add(getPanel2(40));
panel1.add(getPanel2(60));
panel1.add(getPanel2(80));
panel1.add(getPanel2(100));
panel1.add(getPanel2(310));
}
}
private JPanel panel2 = null;
private JPanel getPanel2(int height)
{
panel2 = new JPanel();
panel2.setBounds(10, height, 50, 10);
panel2.setBackground(Color.blue);
return panel2;
}[/HIGHLIGHT]
das erstellen der componenten erfolg in folgender reihenfolge
[HIGHLIGHT="Java"]getPanel1();
jContentPane.add(getScrollPane(), null);[/HIGHLIGHT]
Kann jemand den Fehler erkennen??
habe mir schon ne menge zu JScrollPane durchgelesen und habe auch schon einiges erreicht aber irgendwie haut immer noch nicht alles hin.
Als kleinen Test um es kennenzulernen habe ich mir folgendes ausgedacht.
Icvh erzeuge ein JScrollPane. In dieses packe ich dann ein Pannel, welches ich zum zeichnen meiner eigentlichen dinge benutze wie weitere Panels buttons usw.
Hätte nun gedacht, wenn das Panel was ich in das JScrollPane reinpacke größer als dieses ist, sollte ich scrollen können. Leider klappt dies nicht.
Hier mal etwas beispielcode. Vielleicht kann mir ja mal jemand einen tip geben, wo der denkfehler liegt.
[HIGHLIGHT="Java"]private JScrollPane scrollPane = null;
private JScrollPane getScrollPane() {
if (scrollPane == null) {
scrollPane = new JScrollPane();
scrollPane.setBounds(new Rectangle(30, 19, 150, 130));
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setViewportView(panel1);
}
return scrollPane;
}
private JPanel panel1 = null;
private void getPanel1()
{
if(panel1 == null)
{
panel1 = new JPanel();
panel1.setLayout(null);
panel1.setBounds(10, 10, 600, 600);
panel1.setBackground(Color.red);
panel1.add(getPanel2(0));
panel1.add(getPanel2(20));
panel1.add(getPanel2(40));
panel1.add(getPanel2(60));
panel1.add(getPanel2(80));
panel1.add(getPanel2(100));
panel1.add(getPanel2(310));
}
}
private JPanel panel2 = null;
private JPanel getPanel2(int height)
{
panel2 = new JPanel();
panel2.setBounds(10, height, 50, 10);
panel2.setBackground(Color.blue);
return panel2;
}[/HIGHLIGHT]
das erstellen der componenten erfolg in folgender reihenfolge
[HIGHLIGHT="Java"]getPanel1();
jContentPane.add(getScrollPane(), null);[/HIGHLIGHT]
Kann jemand den Fehler erkennen??
Zuletzt bearbeitet von einem Moderator: