Container des JFrame zeichnet sich nicht bei Aufruf von paintAll

Status
Nicht offen für weitere Antworten.

Dominik231

Mitglied
Hallo,
Code sagt bekanntlich mehr als tausend Worte:
[HIGHLIGHT="Java"]public static void main(String[] args){
//erstelle ein einfaches JFrame
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,200);
frame.setVisible(true);

//erstelle ein Bild in das ich zeichnen möchte
BufferedImage img = new BufferedImage(300,300, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = img.createGraphics();
g.setColor(Color.BLACK);
g.fillRect(0, 0, 300, 300);

//Nun möchte ich das GESAMMTE JFrame in das Bild zeichnen
frame.paintAll(g);

//Zur Kontrolle zeige ich das Bild in einem zweiten JFrame an.
JFrame frame2 = new JFrame("Picture");
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.add(new JScrollPane(new JLabel(new ImageIcon(img))));
frame2.setSize(300,300);
frame2.setLocation(200,0);
frame2.setVisible(true);
}[/HIGHLIGHT]

Und nun doch die tausend Worte:
Leider wird nur der Inhalt des JFrames gezeichnet. Es wird nicht der äussere "Container" oder die Decoration oder wie auch immer man den Bereich nennt gezeichnet.

Falls also jemand eine Idee hat, wie ich an die Bildinformationen eines JFrames komme, was zwar dargestellt wird (setVisible(true)), aber vielleicht nicht vollständig auf dem Schirm ist (Robot hilft mir also nicht unbedingt weiter), wäre ich sehr Dankbar.

Gruß

Dominik
 
Zuletzt bearbeitet von einem Moderator:

Quaxli

Top Contributor
So:

[HIGHLIGHT="Java"]import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;

public class Test {

public static void main(String[] args) {
// erstelle ein einfaches JFrame
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);

// erstelle ein Bild in das ich zeichnen möchte
Robot robby = null;
try {
robby = new Robot();
} catch (AWTException e) {}
BufferedImage img = robby.createScreenCapture(new Rectangle(frame.getX(),frame.getY(),frame.getWidth(),frame.getHeight()));

// Zur Kontrolle zeige ich das Bild in einem zweiten JFrame an.
JFrame frame2 = new JFrame("Picture");
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.add(new JScrollPane(new JLabel(new ImageIcon(img))));
frame2.setSize(300, 300);
frame2.setLocation(200, 0);
frame2.setVisible(true);

}

}[/HIGHLIGHT]
 
Zuletzt bearbeitet von einem Moderator:

Dominik231

Mitglied
@Quaxli
Wie ich Eingangs schon erwähnte, bringt mir Robot nichts, wenn das Frame nicht vollständig auf dem Schirm ist.
Beispielsweise, wenn ich das JFrame linksaus dem Desktoprand schiebe.
setLocation(-100,-100)....
 

Dominik231

Mitglied
@Zed
Wie man Komponenten einem JFrame hinzufügt ist mir durchaus bekannt und hat leider nichts mit meinem Problem zu tun.
 

Verjigorm

Top Contributor
Komponenten added man so in ein Frame: frame.getContentPane().add(XXX); http://java.sun.com/docs/books/tutorial/uiswing/components/frame.html

afaik ist das seit 1.5 nichtmehr zwingend notwenig
http://weblogs.java.net/blog/hansmuller/archive/2005/11/jframeadd_conte.html

So, in Tiger, JFrame's add and setLayout (and addLayout) methods have changed to "do what you [probably] mean". The other JFrame methods, like getComponent(), do not redirect, so if you use them, be careful. And if you don't use them, well, ignorance is bliss
 

Dominik231

Mitglied
Zum besseren Verständnis nochmal zwei Bilder.
Bild1 mit paint(Graphics g),
Bild2 mit paintAll(Graphics g).
 

Anhänge

  • Bild 1.PNG
    Bild 1.PNG
    17 KB · Aufrufe: 48
  • Bild 2.PNG
    Bild 2.PNG
    16,9 KB · Aufrufe: 43
S

SlaterB

Gast
langes Ausprobieren führt zum (deprecated) Erfolg:
frame.getPeer().print(g);

edit:
so ist es wohl gedacht:
frame.printAll(g);
 

Dominik231

Mitglied
Herr im Himmel,
da hätte man nun auch noch selbst drauf kommen können.

Vielen herzlichen Dank SlaterB und natürlich auch allen anderen die es zumindest versucht haben.

Es funktioniert mit printAll(Graphics g).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K JFrame-Größe an inneren Container anpassen AWT, Swing, JavaFX & SWT 2
G hintergrund von JFrame/Container transparent machen AWT, Swing, JavaFX & SWT 2
Z Random Butten erstellen ohne Container AWT, Swing, JavaFX & SWT 15
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
H Aus Array Container Panel an Tabbedpane zuweisen AWT, Swing, JavaFX & SWT 29
W JavaFX Tabelle zeilenweise mit Werten füllen und an Container anpassen AWT, Swing, JavaFX & SWT 23
B Swing KeyListener auf Container? AWT, Swing, JavaFX & SWT 1
I CSS - backgroundImage - Größe automatisch an den Container anpassen AWT, Swing, JavaFX & SWT 1
A Swing Externe Klassen aufrufen und in einem bereits vorhandenen Container einfügen AWT, Swing, JavaFX & SWT 0
C Componente in Container (inkl. "Untercontainer") suchen und zurückgeben AWT, Swing, JavaFX & SWT 3
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
Z Swing JPanel soll größer werden als Parent Container (überlappen) AWT, Swing, JavaFX & SWT 5
H Drag-Evente nach Container wechsel AWT, Swing, JavaFX & SWT 2
J Fehlermeldung adding a window to a container AWT, Swing, JavaFX & SWT 9
S JPanel in den Container hinzufügen AWT, Swing, JavaFX & SWT 3
xehpuk Swing Erst Components, dann Container zeichnen AWT, Swing, JavaFX & SWT 2
K Container AWT, Swing, JavaFX & SWT 14
J Swing Container innerhalb eines JPanels erfragen AWT, Swing, JavaFX & SWT 3
W setEnabled in Container Objekten (JScrollPane) AWT, Swing, JavaFX & SWT 5
X Instanzieren und Zuweisen vom BorderLayout an Container nicht notwendig ? AWT, Swing, JavaFX & SWT 4
B JPG in einem Container anzeigen lassen AWT, Swing, JavaFX & SWT 3
S this-Zugriff auf Container höherer Ebene AWT, Swing, JavaFX & SWT 2
P DragAndDrop zw Component und Container AWT, Swing, JavaFX & SWT 4
S SWT Lösen mit Shell, Container oder Group? AWT, Swing, JavaFX & SWT 5
T Exception: Adding a window to a container AWT, Swing, JavaFX & SWT 14
D Container vor Fullscreen AWT, Swing, JavaFX & SWT 5
R Container Size Problem AWT, Swing, JavaFX & SWT 5
hdi Verständnisfrage: Container vs. Component AWT, Swing, JavaFX & SWT 3
I Container AWT, Swing, JavaFX & SWT 6
G MouseEvents an Container weiterleiten AWT, Swing, JavaFX & SWT 8
H Benachrichtigt werden wann ein Container repainted wird? AWT, Swing, JavaFX & SWT 5
G Graphics Objekte in AWT Container einfügen AWT, Swing, JavaFX & SWT 2
A MouseEvent auf Container bzw. Frame weiterleiten AWT, Swing, JavaFX & SWT 5
S Mehrere Container AWT, Swing, JavaFX & SWT 10
T Canvas gegen Container austauschen --> GUI fehlt AWT, Swing, JavaFX & SWT 4
M Container in Frame über Button einfügen? AWT, Swing, JavaFX & SWT 4
A Container AWT, Swing, JavaFX & SWT 8
G Durchsichtiger verschiebbarer Container gesucht AWT, Swing, JavaFX & SWT 6
G problem mit anzeigen eines geänderten Container AWT, Swing, JavaFX & SWT 2
S Kann JSP mit BI nicht zum Container hinzufügen AWT, Swing, JavaFX & SWT 7
C JPanel oder Container in JPanel AWT, Swing, JavaFX & SWT 2
X Container aus FocusCycle entfernen AWT, Swing, JavaFX & SWT 2
B Container aus einen andere Klasse hinbekommen ? AWT, Swing, JavaFX & SWT 5
R Component aus Container entfernen bzw. austauschen. AWT, Swing, JavaFX & SWT 6
I Hintergrundbild bei awt container AWT, Swing, JavaFX & SWT 9
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
Paty JFrame anfänger bräuchte hilfestellung AWT, Swing, JavaFX & SWT 7
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
Mausposition relativ zu JFrame bekommen AWT, Swing, JavaFX & SWT 6
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
N CPU Belastung bei offenem JFrame auf fast 100% AWT, Swing, JavaFX & SWT 15
N Knopf ganz oben (JFrame) AWT, Swing, JavaFX & SWT 9
N JFrame löscht alles, wenn groß gemacht AWT, Swing, JavaFX & SWT 9
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22
E JFrame resizing AWT, Swing, JavaFX & SWT 2
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Lunar Swing JFrame erstellt; weitere Elemente werden nicht eingefügt/sind nicht zu sehen AWT, Swing, JavaFX & SWT 4
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
H Tabelle in JFrame einfügen AWT, Swing, JavaFX & SWT 1
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
R Swing Hat mein JFrame meinen Component? AWT, Swing, JavaFX & SWT 2
R Swing Design des oberen Balkens in JFrame AWT, Swing, JavaFX & SWT 2
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
R Swing Komponente im JFrame überschreinen sich AWT, Swing, JavaFX & SWT 7
R Swing Ein gezeichneten String aus dem JFrame löschen AWT, Swing, JavaFX & SWT 5
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
T JFrame aktualisieren AWT, Swing, JavaFX & SWT 2
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
R Swing Background Image in JFrame implementieren AWT, Swing, JavaFX & SWT 40
L Verbindung von Code und JFrame AWT, Swing, JavaFX & SWT 4
L JFrame wird zu klein erstellt AWT, Swing, JavaFX & SWT 7
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
T JFrame Bild einfügen AWT, Swing, JavaFX & SWT 9
T JavaFX JFrame verhalten wie JOptionPane (ErrorMessage) AWT, Swing, JavaFX & SWT 1
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
F JFrame zeigt nicht alle Elemente auf anhieb an AWT, Swing, JavaFX & SWT 4
P JPanle, JFrame und Graphics AWT, Swing, JavaFX & SWT 2
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
K Grafik in JFrame einpassen AWT, Swing, JavaFX & SWT 3
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
J BackgroundJPanel passt sich dem JFrame nicht an AWT, Swing, JavaFX & SWT 7
C Swing JFrame ändert Größe AWT, Swing, JavaFX & SWT 0
J JFrame Panel hinzufügen AWT, Swing, JavaFX & SWT 10
K JFrame bei JUnit Tests AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
R Swing JPanels auf JFrame auf verfügbaren Platz aufblasen AWT, Swing, JavaFX & SWT 4
JR2205 Swing JxMaps Einbindung Netbeans JFrame AWT, Swing, JavaFX & SWT 4
Zar von Domarus JFrame zu BufferedImage konvertieren AWT, Swing, JavaFX & SWT 3
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
Joker4632 JFrame in eine Runnable auslagern? AWT, Swing, JavaFX & SWT 4
M Limit für JFrame-Vergrößerung AWT, Swing, JavaFX & SWT 8
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
MaxG. JFrame Größe ändern AWT, Swing, JavaFX & SWT 16

Ähnliche Java Themen

Neue Themen


Oben