Swing Inhalt von JScrollPane wird nicht neu gezeichnet

zumbo_oxinia

Neues Mitglied
Wenn ich in JScrollPane ein Panel mit ein paar Knöpfen einfüge, dann werden die Knöpfe zwar beim Resizen neu gezeichnet, jedoch nicht beim Scrollen. D.h. wenn ich das Fenster klein und dann wieder gross mache, sind die Knöpfe alle da; wenn ich das Fenster jedoch verkleinere und dann scrolle, wird der zuvor verborgene Inhalt nicht gezeichnet. Was mache ich falsch?
Java:
public class Test {
	public static void main(String[] args) {
		Frame frame = new Frame();
		Panel panel = new Panel();
		panel.add(new Button("Button 1"));
		panel.add(new Button("Button 2"));
		panel.add(new Button("Button 3"));
		panel.add(new Button("Button 4"));
		JScrollPane scrollPane = new JScrollPane(panel);
		frame.add(scrollPane);
		frame.pack();
		frame.setVisible(true);
	}
}

Ich habs schon mit einer eigenen Panel-Klasse versucht, in der ich folgendes überschreibe, aber das ändert nichts.
Java:
	protected void processComponentEvent(ComponentEvent e) {
		if (e.getID() == ComponentEvent.COMPONENT_MOVED) {
			repaint();
		}
	}
 
Du mischst AWT-Komponenten (Frame, Panel, Button) mit Swing-Komponenten (JScrollPane). Hast Du einen besonderen Grund dafür, oder benutzt Du nur versehentlich nicht JFrame, JPanel und JButton?

Ebenius
 
Ich dachte bisher, Swing und AWT liessen sich mischen; scheint aber nicht so zu sein. Mit JFrame, JPanel und JButton funktioniert es tadellos. Danke für den Tipp!
 

Neue Themen


Zurück
Oben