Guten morgen liebes Forum,
dies ist mein erster Beitrag hier, ich hoffe ich mache alles richtig
Ich beiße mir die Zähne an einem Problem aus und hoffe ihr könnt mir helfen.
Ich habe ein Programm das ähnlich wie ein (Foto-) Editor fungieren soll.
Ein grober Überblick zum Aufbau:
- Es gibt ein JFrame
- In diesem sind mehrere Komponenten:

Es geht um den Gelb markierten Bereich; dies ist ein JPanel.
- In diesem JPanel können wiederrum mehrere JPanel existieren (Also quasi Boxen mit Inhalt):

Nun möchte ich das Hauptpanel (bei mir panel_Arbeitsflaeche genannt) für verschiedene Blattgrößen variabel machen, d.h. das ganze auf/in ein JScrollPane.
Und hier kommen die Probleme.
Ich habe nun einfach ein Scrollpanel erzeugt und das panel_Arbeitsflaeche darauf gelegt.
Zur Erklärung: Das Scroll Panel soll eine feste größe haben; das panel_Arbeitsflaeche soll darin eine variable Größe haben, momentan aber noch im Code festgelegt.
Das ganze sieht dann schon aus wie es eigentlich aussehen soll:

Wenn ich jetzt wie davor eine Box zeichne (ein Panel) passiert folgendes:

- Es erscheinen 2 Boxen (allerdings existiert nur 1 Panel! --> Auf dem Bild: die Box links existiert nicht als JPanel, die rechts existiert als JPanel)
- Die Box sollte eigentlich an der linken Position erscheinen (allerdings größer)
Das komische ist, dass das Objekt JPanel (die Box) beim Debuggen korrekt ist, d.h. Koordinaten stimmen, Größe stimmt. Nur auf dem panel_Arbeitsflaeche wird es nicht korrekt dargestellt.
Die Boxen (Panels) können auch verschoben werden (mit der Maus). Wenn ich dies mache "springt" das Panel auf die gewünschte Größe und Position um, sobald ich dann aber die Maus wieder los lasse "springt" das ganze wieder auf die rechte obere Position und Größe zurück.
Ich vermute das der Wurm bei dem Thema setPreferredSize() liegt, was meint ihr? Könnt ihr mir helfen?
Grüße
Michi
dies ist mein erster Beitrag hier, ich hoffe ich mache alles richtig
Ich beiße mir die Zähne an einem Problem aus und hoffe ihr könnt mir helfen.
Ich habe ein Programm das ähnlich wie ein (Foto-) Editor fungieren soll.
Ein grober Überblick zum Aufbau:
- Es gibt ein JFrame
- In diesem sind mehrere Komponenten:

Es geht um den Gelb markierten Bereich; dies ist ein JPanel.
- In diesem JPanel können wiederrum mehrere JPanel existieren (Also quasi Boxen mit Inhalt):

Nun möchte ich das Hauptpanel (bei mir panel_Arbeitsflaeche genannt) für verschiedene Blattgrößen variabel machen, d.h. das ganze auf/in ein JScrollPane.
Und hier kommen die Probleme.
Ich habe nun einfach ein Scrollpanel erzeugt und das panel_Arbeitsflaeche darauf gelegt.
Java:
panel_Arbeitsflaeche = new JPanel();
panel_Arbeitsflaeche.setBackground(new Color(255,255,255));
panel_Arbeitsflaeche.setBorder(BorderFactory.createLineBorder(Color.RED));
panel_Arbeitsflaeche.setBounds(0, 0, 800, 800);
panel_Arbeitsflaeche.setPreferredSize(new Dimension(panel_Arbeitsflaeche.getWidth(), panel_Arbeitsflaeche.getHeight()));
scrollPanel= new JScrollPane(panel_Arbeitsflaeche);
scrollPanel.setBounds(80, 10, 500, 500);
getContentPane().add(scrollPanel);
Das ganze sieht dann schon aus wie es eigentlich aussehen soll:

Wenn ich jetzt wie davor eine Box zeichne (ein Panel) passiert folgendes:

- Es erscheinen 2 Boxen (allerdings existiert nur 1 Panel! --> Auf dem Bild: die Box links existiert nicht als JPanel, die rechts existiert als JPanel)
- Die Box sollte eigentlich an der linken Position erscheinen (allerdings größer)
Das komische ist, dass das Objekt JPanel (die Box) beim Debuggen korrekt ist, d.h. Koordinaten stimmen, Größe stimmt. Nur auf dem panel_Arbeitsflaeche wird es nicht korrekt dargestellt.
Die Boxen (Panels) können auch verschoben werden (mit der Maus). Wenn ich dies mache "springt" das Panel auf die gewünschte Größe und Position um, sobald ich dann aber die Maus wieder los lasse "springt" das ganze wieder auf die rechte obere Position und Größe zurück.
Ich vermute das der Wurm bei dem Thema setPreferredSize() liegt, was meint ihr? Könnt ihr mir helfen?
Grüße
Michi
Zuletzt bearbeitet: