Swing JComponent vergrößern

Hallo Welt und liebe Java-Freunde,

Ich habe folgendes Problem und hoffe auf Eure Hilfe:

Ich habe eine Klasse, die von JComponent erbt. Ich setzte die Größe mittels setPreferredSize() fest und nutze keinen LayoutManager.
Einem JFrame wurde diese Komponente hinzugefügt und das zeichnen auf ihr funktioniert auch.

Ich bekomme es aber nicht hin, die Größe der JComponent im nachhinein zu ändern. Naja, eigentlich schon, da das JFrame nach Aufruf von pack() die gewollte Größe annimmt.
Allerdings ist der 'bemalte' Bereich in diesem größeren JFrame nur so groß wie es die JComponent vor dem vergrößern war.

Scheinbar ist die JComponent wie gewollt größer, der Bereich, auf dem ich zeichnen kann allerdings nicht - wenn das denn richtig und verständlich erklärt ist. Verzeiht mir, falls nicht. :b

Ich bitte um Eure Hilfe! :)
 

Khal Drogo

Bekanntes Mitglied
Ein bisschen Code wäre nützlich.

Der bemalte Bereich ist gleich groß, heißt das, dass dein Gemälde nicht skaliert, oder heißt das, dass deine Zeichenfläche nicht skaliert? Das ist ein wesentlicher Unterschied.

Mit freundlichen Grüßen
Xelsarion
 
Uff, kann man mich über diesen Unterschied aufklären? :D

Also hier wird die PreferredSize der JComponent verändert, nachdem sie schon mal (zu Beginn des Programms) gesetzt wurde. Das Fenster passt seine Größe auch dementsprechend an.
Java:
setPreferredSize(new Dimension(getWidth()*2, getHeight()*2));
      
        frame.pack();
        frame.setLocationRelativeTo(null);

Und so wird das Graphics-Objekt zu Beginnt (also vor Größenänderung) initialisiert. (getGraphics()-Methode der JComponent)
Java:
g = getGraphics();

Muss ich evtl. irgendwas am Graphics-Objekt ändern, nachdem ich die PreferredSize der JComponent geändert habe?

PS: Danke für Deine schnelle Antwort! :)
 

Khal Drogo

Bekanntes Mitglied
Ich bin absolut kein Experte in dem Bereich und hätte dir wohl auch eher helfen können, wenn es wirklich nur um die Größe der Zeichenfläche gegangen wäre. Nach mehr Informationen habe ich aber auch nicht nur für mich gefragt, die anderen hier sind dir für deinen zweiten Post vielleicht auch dankbar, weil es das ganze weiter spezifiziert.
Wenn die Skalierung der Zeichnung allerdings nicht klappt, kann ich dir höchstens sagen, wie ich das ganze angegangen wäre: Ich würde versuchen, das Bild Pixel für Pixel durchzugehen und auf ein neues Bild zu projezieren, dass dann am Ende auf die neue Zeichenfläche kopiert wird.
Java:
// Pseudocode
Bildformat altesBild = getAltesBild();
int width = getAltesBild().getWidth();
int height = getAltesBild().getHeight();
Bildformat neuesBild = new Bildformat(width * 2, height * 2);
for(int x = 0; x < width; x++) {
  for(int y = 0; y < height; y++) {
    Pixel pixel = new Pixel(altesBild.pixelAt(x, y));
    neuesBild.pixelAt(2x,     2y)     = pixel;
    neuesBild.pixelAt(2x + 1, 2y)     = pixel;
    neuesBild.pixelAt(2x,     2y + 1) = pixel;
    neuesBild.pixelAt(2x + 1, 2y + 1) = pixel;
  }
}
// Component anpassen und Bild draufkopieren
Habe das ganze jetzt nicht getestet, und bin auch nicht sicher, ob es vom Prinzip her so geht (oder ob es nicht viel einfacher oder besser geht), kann mir aber vorstellen, dass man es so machen kann.

Mit freundlichen Grüßen
Xelsarion
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Batik: Inhalt JComponent to SVG? AWT, Swing, JavaFX & SWT 6
Hatsi09 JComponent anklicken und "entklicken" AWT, Swing, JavaFX & SWT 7
L JComponent aus JPanel anhand Mausposition ermitteln AWT, Swing, JavaFX & SWT 10
S Swing Schwierigkeiten mit JComponent AWT, Swing, JavaFX & SWT 4
L JComponent und MouseMotionListener AWT, Swing, JavaFX & SWT 2
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
L Eigene JComponent in GridLayout AWT, Swing, JavaFX & SWT 9
Z JComponent's requestFocus() - Wieso nicht immer anwendbar? AWT, Swing, JavaFX & SWT 1
Z Java-Swing : JComponent AWT, Swing, JavaFX & SWT 2
W JComponent - ComponentListener - resized / moved AWT, Swing, JavaFX & SWT 5
Developer_X Wie heißt das JComponent hier? AWT, Swing, JavaFX & SWT 2
A Swing Eigene JComponent Scrollable AWT, Swing, JavaFX & SWT 6
R JComponent auf Canvas AWT, Swing, JavaFX & SWT 8
A Abgeleitete JComponent wird nicht gezeichnet AWT, Swing, JavaFX & SWT 10
A JComponent Größe AWT, Swing, JavaFX & SWT 8
T jcomponent wird nicht angezeigt AWT, Swing, JavaFX & SWT 9
S Eigene JComponent Image zeichnen AWT, Swing, JavaFX & SWT 3
H Swing "Drag and Drop" eines JComponent über ein JPanel AWT, Swing, JavaFX & SWT 2
N 2D-Grafik RTF in eigener JComponent AWT, Swing, JavaFX & SWT 2
D Swing JComponent zeichnen ohne sie zur Oberfläche hinzuzufügen AWT, Swing, JavaFX & SWT 2
P JComponent / JLabel drehen (Rotation) AWT, Swing, JavaFX & SWT 2
D JComponent erweitern AWT, Swing, JavaFX & SWT 4
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
M 2x JComponent in einem JFrame darstellen? AWT, Swing, JavaFX & SWT 7
StupidAttack Animation, JComponent AWT, Swing, JavaFX & SWT 3
P Swing Eigene Komponente Entwickeln - erben von JComponent oder JPanel? AWT, Swing, JavaFX & SWT 5
B Wechsel JTextArea und JComponent AWT, Swing, JavaFX & SWT 9
S Unterscheiden ob ein Graphics-Objekt von einer JComponent oder einem BufferedImage kommt..? AWT, Swing, JavaFX & SWT 4
H JComponent == JTextfield? AWT, Swing, JavaFX & SWT 4
C Ermitteln ob JComponent einen Listener besitzt AWT, Swing, JavaFX & SWT 2
T Eigene JComponent AWT, Swing, JavaFX & SWT 4
G JComponent nachträglich in JPanel einfügen AWT, Swing, JavaFX & SWT 5
M Ganzen Frame mit JComponent ausfüllen AWT, Swing, JavaFX & SWT 9
M JMenu teilweise unter einer JComponent AWT, Swing, JavaFX & SWT 4
I Swing JComponent als BufferedImage speichern AWT, Swing, JavaFX & SWT 18
1 Eigene JComponent mit MouseListener versehen AWT, Swing, JavaFX & SWT 10
T JComponent nur in Swing verwendbar? AWT, Swing, JavaFX & SWT 6
M Mehrere Icons in einer JComponent AWT, Swing, JavaFX & SWT 5
Dragonfire Image von JComponent AWT, Swing, JavaFX & SWT 2
T x und y herrausfinden eines JComponent auf JFrame AWT, Swing, JavaFX & SWT 14
J absolute Position einer JComponent ermitteln AWT, Swing, JavaFX & SWT 4
B "weiches" Bewegen von einem JComponent AWT, Swing, JavaFX & SWT 18
ARadauer JPanel vs JComponent AWT, Swing, JavaFX & SWT 2
I JDialog aus JComponent erstellen AWT, Swing, JavaFX & SWT 2
S JComponent u. JPanel ausdrucken AWT, Swing, JavaFX & SWT 3
J SWT JComponent Problem AWT, Swing, JavaFX & SWT 4
T JComponent überzeichnen? AWT, Swing, JavaFX & SWT 2
G JComponent in JTable AWT, Swing, JavaFX & SWT 8
M JComponent wird in JFrame nicht angezeigt AWT, Swing, JavaFX & SWT 4
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
S Alle EventListener einer JComponent abfragen? AWT, Swing, JavaFX & SWT 3
S JComponent in JPanel darstellen AWT, Swing, JavaFX & SWT 2
N JComponent#getClientProperty(key) welche Schlüssel gibt es? AWT, Swing, JavaFX & SWT 3
E Drucken von JComponent. AWT, Swing, JavaFX & SWT 4
S JComponent ersetzen AWT, Swing, JavaFX & SWT 13
R Resize Problem bei JComponent AWT, Swing, JavaFX & SWT 2
M JButton in JComponent abfragen AWT, Swing, JavaFX & SWT 6
S Mausbehandlungen für JComponent AWT, Swing, JavaFX & SWT 7
M Verschiebbare JComponent AWT, Swing, JavaFX & SWT 5
C zeichnen auf jComponent AWT, Swing, JavaFX & SWT 3
S in einem JComponent zu zeichnen AWT, Swing, JavaFX & SWT 4
G Grafik auf JComponent ohne Überschreiben von Paint-Methoden AWT, Swing, JavaFX & SWT 4
R JComponent malt seine Kinder nicht AWT, Swing, JavaFX & SWT 8
G JComponent Hintergrund AWT, Swing, JavaFX & SWT 3
M JMenu auf JComponent? AWT, Swing, JavaFX & SWT 10
G Graphics (g) und JComponent prob. AWT, Swing, JavaFX & SWT 2
G Klasse XYComponent extends JComponent AWT, Swing, JavaFX & SWT 3
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
X TreeTableCellRenderer vergrößern AWT, Swing, JavaFX & SWT 2
S Kreis vergrößern/verkleinern mit Buttons AWT, Swing, JavaFX & SWT 1
T JButton wird beim vergrößern des Fensters erst sichtbar AWT, Swing, JavaFX & SWT 4
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
Y Listview Textfield vergrößern, Schrift anpassen AWT, Swing, JavaFX & SWT 0
llabusch JavaFX Dynamisch alles vergrößern (wie im Browser) AWT, Swing, JavaFX & SWT 3
S JButton-Label vergrößern AWT, Swing, JavaFX & SWT 2
K Swing JPanel nach oben und links vergrößern AWT, Swing, JavaFX & SWT 3
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
G JavaFX Image vergrößern AWT, Swing, JavaFX & SWT 5
A SWT Fenster bei MouseOver vergrößern AWT, Swing, JavaFX & SWT 5
F Swing Caret in JTextArea vergrößern AWT, Swing, JavaFX & SWT 2
C Bild auf Panel vergrößern und verschieben AWT, Swing, JavaFX & SWT 4
Asamandra LayoutManager GridBagLayout - Komponenten (mit fill?) vergrößern aber Proportionen dabei erhalten? AWT, Swing, JavaFX & SWT 3
L Swing JPanel erscheint erst beim Vergrößern AWT, Swing, JavaFX & SWT 4
W LayoutManager GridBag richtig nutzen - Komponenten richtig anordnen und automatisch vergrößern AWT, Swing, JavaFX & SWT 5
0 JFrame zeigt Inhalt erst nach vergrößern an AWT, Swing, JavaFX & SWT 3
S Swing (Nicht) Vergrößern von Panels AWT, Swing, JavaFX & SWT 3
B JPanel vergrößern AWT, Swing, JavaFX & SWT 3
Dit_ JDialog nur horizontal vergrößern AWT, Swing, JavaFX & SWT 3
C LayoutManager Layout und vergrößern des Frames AWT, Swing, JavaFX & SWT 5
E JWindow bewegen, minimieren, vergrößern und schließen AWT, Swing, JavaFX & SWT 5
M LayoutManager JTextfield vergrößern sich automatisch AWT, Swing, JavaFX & SWT 4
E Swing JPanels durch ziehen am Rand vergrößern/verkleinern?! AWT, Swing, JavaFX & SWT 2
H GridBagLayout spinnt beim vergrößern des Fensters als auch beim Maximieren AWT, Swing, JavaFX & SWT 4
G Swing JTabbedPane vergrößern AWT, Swing, JavaFX & SWT 2
A Swing JLabel in Laufzeit vergrößern AWT, Swing, JavaFX & SWT 3
aze JTable automatisch vergrößern wenn das zugehörige JFrame vergrößert wird AWT, Swing, JavaFX & SWT 13
S Applet mit Graphics dynamisch vergrößern AWT, Swing, JavaFX & SWT 3
G Bild vergrößern mit getScaledInstance AWT, Swing, JavaFX & SWT 2
A JList dynamisch vergrößern AWT, Swing, JavaFX & SWT 4
M Dropdownfeld einer Combobox vergrößern AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben