Hallo,
folgendes Problem:
Ich habe einen JFrame mit einem Panel in NORTH, SOUTH und EAST. Im CENTER befindet sich ein JScrollPane dessen inhalt ein weiterer Panel ist (centerpanel). Auf diesem centerpanel wird nur gezeichnet, ansonsten ist keine Komponente darauf enthalten.
Wenn ich jetzt auf einen Button klicke, muss das JPanel unter Umständen eine sehr große Zeichnung machen, deswegen habe ich es ja auch dem JScrollPane hinzugefügt.
Problem ist, das trotzdem die Zeichnung größer als das JScrollPane ist, das JScrollPane aber nicht Scrollbar ist. Auch nicht wenn ich die größe des centerpanels mit setPreferredSize auf die aktuell benötigte größe setze.
Ich habs auch schon mit centerscroll.revalidate() probiert. Hilft alles leider nix.
Hier ein paar Codeschnipsel:
Nun die Methode die aufgerufen wird, wenn neu gezeichnet wird:
Hilft nichts, das JScrollPanel kann man einfach nicht scrollen...
Wäre für hilfe sehr dankbar.
Lg
Alex
folgendes Problem:
Ich habe einen JFrame mit einem Panel in NORTH, SOUTH und EAST. Im CENTER befindet sich ein JScrollPane dessen inhalt ein weiterer Panel ist (centerpanel). Auf diesem centerpanel wird nur gezeichnet, ansonsten ist keine Komponente darauf enthalten.
Wenn ich jetzt auf einen Button klicke, muss das JPanel unter Umständen eine sehr große Zeichnung machen, deswegen habe ich es ja auch dem JScrollPane hinzugefügt.
Problem ist, das trotzdem die Zeichnung größer als das JScrollPane ist, das JScrollPane aber nicht Scrollbar ist. Auch nicht wenn ich die größe des centerpanels mit setPreferredSize auf die aktuell benötigte größe setze.
Ich habs auch schon mit centerscroll.revalidate() probiert. Hilft alles leider nix.
Hier ein paar Codeschnipsel:
Code:
public void initPanels() {
//Panels erstellen
northpanel = new Northpanel();
westpanel = new Westpanel(einstellungen, this);
centerpanel = new Centerpanel(einstellungen);
centerscroll = new JScrollPane(centerpanel);
centerscroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
centerscroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
//Panels adden
this.add(northpanel, BorderLayout.NORTH);
this.add(westpanel, BorderLayout.WEST);
this.add(centerscroll, BorderLayout.CENTER);
}
Nun die Methode die aufgerufen wird, wenn neu gezeichnet wird:
Code:
public void repaintCenterPanel() {
centerpanel.repaint();
centerpanel.setPreferredSize(new Dimension(einstellungen.getMaxWidth(), einstellungen.getMaxHeight()));
centerscroll.revalidate();
}
Hilft nichts, das JScrollPanel kann man einfach nicht scrollen...
Wäre für hilfe sehr dankbar.
Lg
Alex