AWT Graphics2D getClip gibt null zurück

darman96

Aktives Mitglied
Hallo,

ich bin grad etwas ratlos.
In der Funktion rufe ich setClip auf bei meinem Graphics2D objekt

Java:
public void updateToolBar() {
     int iconDim = 32;
     getComponentByName("toolBar").removeAll();

     for(Nodes node : ((TreePanel<T>)getComponentByName("treePanel")).getMostUsed()) {
       TreeElement element = new TreeElement(node, new Point(0, 0));
       BufferedImage image = new BufferedImage(iconDim, iconDim, BufferedImage.TYPE_4BYTE_ABGR);
       Graphics2D g2d = image.createGraphics();

       g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
       g2d.setClip(0, 0, iconDim, iconDim);
       g2d.translate(iconDim / 2, iconDim / 2);
       g2d.scale(iconDim / 100, iconDim / 100);

       element.paint(g2d);

       g2d.dispose();

       ImageIcon icon = new ImageIcon(image);
       ToolBarItem item = new ToolBarItem(node, icon);
       item.setName("toolBarItem" + node.toString());
       componentMap.put(item.getName(), item);
       // Add item to ToolBar
       getComponentByName("toolBar").add(item);
     }

   }

dann will ich hier getClip aufrufen, bekomme aber nur ein null zurück...

Java:
protected void paint(Graphics2D g2d) {
     Shape clip = g2d.getClip();
   
     if(isHovered) {
       g2d.setColor(backgroundColor.brighter());
     } else {
       g2d.setColor(isSelected ? backgroundColor.darker() : backgroundColor);
     }
     g2d.fill(renderBounds);
 
     if(node.type.ornament != null) {
       //g2d.setClip(ornamentArea);
       //g2d.clip(clip);
       g2d.setColor(isSelected ? ornamentColor.darker() : ornamentColor);
       //Rectangle bounds = ornamentArea.getBounds();
       g2d.fill(renderOrnament);
       //g2d.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);
     }
     g2d.setClip(renderBounds);
     g2d.clip(clip);
     g2d.setClip(clip);
   }

Hat jemand ne Idee woran das liegen könnte?

Gruß darman96
 
Zuletzt bearbeitet von einem Moderator:

kaoZ

Top Contributor
prüfe mal per Ausgabe auf der Konsole ob dein Graphics Objekt ggf. noch nicht vollständig initialisiert ist.

Es ist durchaus denkbar das dein Graphics Objekt noch nicht komplett durchgereicht worden ist eh du per getClip(); darauf zugreifen willst.

schieb dazu das ganze mal in eine if abfrage

Java:
if( g != null){

....dein Code
}
else{
  System.out.println("g == null !");
}
 

darman96

Aktives Mitglied
hmm ne leider nicht, das ist initialisiert

im debugger ists auch initialisiert, nur clip ist null:
debugger.png
 
Zuletzt bearbeitet:

darman96

Aktives Mitglied
Okay es scheint an dem
Java:
g2d.scale(...);
zu liegen.
Wenn ich das auskommentiere wird der clip richtig zurück gegeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Was ist ein Shape, also klar ein Objekt, aber was ist damit gemeint (Graphics2d)? Und was sidn affinetransformationen AWT, Swing, JavaFX & SWT 1
L Graphics2d zoomen AWT, Swing, JavaFX & SWT 3
L AWT graphics2d transform AWT, Swing, JavaFX & SWT 7
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
Soloeco Graphics2D - Verbinden zweier Punkte AWT, Swing, JavaFX & SWT 6
B Graphics -> Graphics2D etwas zu beachten? AWT, Swing, JavaFX & SWT 8
B Graphics2D Componente Drehen AWT, Swing, JavaFX & SWT 2
M Graphics2D: drawString Berechnung AWT, Swing, JavaFX & SWT 1
X AWT Graphics2D zum LWJGL Display hinzufügen aber wie? AWT, Swing, JavaFX & SWT 4
D Graphics2D einen Bereich füllen AWT, Swing, JavaFX & SWT 1
M JPanel und Graphics2D AWT, Swing, JavaFX & SWT 2
S Java2D/Graphics2D in Android..? AWT, Swing, JavaFX & SWT 2
B Graphics2d drawString mit double Werten? AWT, Swing, JavaFX & SWT 5
S Graphics2D: Transparent übereinander zeichnen AWT, Swing, JavaFX & SWT 7
S Graphics2D - setClip() AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Graphics2D object in ein anderes Zeichnen AWT, Swing, JavaFX & SWT 7
S AWT Pong - Probleme mit übergreifenden Objekten && Graphics2D AWT, Swing, JavaFX & SWT 3
C Image mit Graphics2D zeichnen AWT, Swing, JavaFX & SWT 9
S Frage zu Graphics2D AWT, Swing, JavaFX & SWT 3
Developer_X Swing Auf ein BufferedImage mit Graphics/Graphics2D zeichnen AWT, Swing, JavaFX & SWT 6
N AWT Graphics2D mehrmals aufrufen AWT, Swing, JavaFX & SWT 5
Developer_X Swing Graphics2D.zoom, wie rückgängig machen? AWT, Swing, JavaFX & SWT 6
Developer_X Swing Graphics2D translate zerstört performance AWT, Swing, JavaFX & SWT 2
N graphics2d auf panel AWT, Swing, JavaFX & SWT 2
Dit_ Ein Kreis als Graphics2D oder als Ellipse2D Objekt AWT, Swing, JavaFX & SWT 19
0 AWT Graphics2D.drawImage() funktioniert nicht mehr korrekt mit Core i7 AWT, Swing, JavaFX & SWT 4
A Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D AWT, Swing, JavaFX & SWT 5
A Swing Mit Graphics2D auf transparentem Hintergrund zeichnen AWT, Swing, JavaFX & SWT 7
E Graphics2D: altes Objekt löschen, wenn repaint aufgerufen wird AWT, Swing, JavaFX & SWT 7
D BufferedImage und Graphics2D AWT, Swing, JavaFX & SWT 3
cowabunga1984 Implementierung von Graphics2D AWT, Swing, JavaFX & SWT 2
C Graphics2D, Text abschneiden AWT, Swing, JavaFX & SWT 2
N Graphics2D mit unterschiedlichen Grauwerten befüllen AWT, Swing, JavaFX & SWT 3
F Graphics2D scale und Positionierung einer TextArea AWT, Swing, JavaFX & SWT 8
F JPanel: Graphics2D, scale und Mauskoordinaten AWT, Swing, JavaFX & SWT 4
P paintComponent /paint/ update/ offscreenImage / Graphics2D / AWT, Swing, JavaFX & SWT 4
M Graphics2D - abstract void draw(.) AWT, Swing, JavaFX & SWT 2
redztripe Graphics2D rotieren und rotiertes Bild abspeichern AWT, Swing, JavaFX & SWT 2
R AffinrTransform + Graphics2D verschieben AWT, Swing, JavaFX & SWT 3
R Graphics2D + Bild anzeigen. AWT, Swing, JavaFX & SWT 25
M Probleme mit Graphics2D AWT, Swing, JavaFX & SWT 7
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
_user_q Gibt es eine Möglichkeit, in Java alle möglichen Zeichen automatisch tippen zu lassen? AWT, Swing, JavaFX & SWT 13
U Gibt es eine Möglichkeit statt concatenate einen anderen Befehl zu nutzen? AWT, Swing, JavaFX & SWT 9
VPChief Gibt es eine möglichkeit Dateien aus der jar datei zu kopieren? AWT, Swing, JavaFX & SWT 46
J Gibt es einen Grund für 16x16 anstatt z.B. 15x15 Tiles ? AWT, Swing, JavaFX & SWT 10
S Caps-Lock Überprüfung gibt falschen Wert zurück AWT, Swing, JavaFX & SWT 1
B Swing Posistion von JButton auslesen gibt immer 0 aus AWT, Swing, JavaFX & SWT 1
M Jtable gibt -1 wert bei selectedRow und Column AWT, Swing, JavaFX & SWT 3
apple_pie1998 Programm gibt plötzlich exceptions aus. AWT, Swing, JavaFX & SWT 4
C JOptionPane.showConfirmDialog() -> Focus auf NEIN -> Enter gibt YES_OPTION zurück AWT, Swing, JavaFX & SWT 6
I JComboBox gibt bei ausgewählten ITem NullPointer an... AWT, Swing, JavaFX & SWT 3
Z Gibt es alternativen zu Swing und AWT, Swing, JavaFX & SWT 4
C Swing JComboBox, ItemListener gibt 2x aus AWT, Swing, JavaFX & SWT 2
M JTextField gibt beim auslesen null aus AWT, Swing, JavaFX & SWT 9
J Gibt es brauchbare GUI-Builder, oder doch besser alles per Hand machen? AWT, Swing, JavaFX & SWT 6
P gleichanfangende Zeilen solange auslesen bis es die gibt AWT, Swing, JavaFX & SWT 12
K 2D-Grafik interstectsLine gibt immer false zurück AWT, Swing, JavaFX & SWT 18
R Swing JLabel gibt stets 'null' aus AWT, Swing, JavaFX & SWT 3
D System.out.println() gibt html-Tags mit aus AWT, Swing, JavaFX & SWT 2
D Funktion JList.getSelectedValues() gibt nicht alle values zurück AWT, Swing, JavaFX & SWT 2
J Welche Fallstricke gibt es bei TreeTables in SWT/JFace AWT, Swing, JavaFX & SWT 3
G Gibt es diese Komponente? AWT, Swing, JavaFX & SWT 11
T Swing Gibt es eine Komponente für eine farbliche Editorbox? AWT, Swing, JavaFX & SWT 6
F JComboBox gibt falsche werte AWT, Swing, JavaFX & SWT 3
S JDialog gibt keine Nachrichten ueber sein Schliessen..? AWT, Swing, JavaFX & SWT 3
J Gibt es in Java ein mehrspaltiges Listenfeld? AWT, Swing, JavaFX & SWT 6
K Gibt es AWT- und Swing-ActionListener ? AWT, Swing, JavaFX & SWT 3
R Gibt es Pulldown-Buttons in Swing? AWT, Swing, JavaFX & SWT 5
J Gibt es ein OutlookTabbedPane für Java ? AWT, Swing, JavaFX & SWT 9
G Gibt's in Swing oder AWT sowas wie ein Gruppenfeld? AWT, Swing, JavaFX & SWT 3
K Textfelder auslesen gibt immer Fehler AWT, Swing, JavaFX & SWT 2
V Gibt es eine JButtonBar? AWT, Swing, JavaFX & SWT 3
S JList gibt nach Sortierung mit Collections keine Anzahl mehr AWT, Swing, JavaFX & SWT 3
S getSize gibt keine Größe wieder AWT, Swing, JavaFX & SWT 4
V Wie heisst dieses GUI-Element? Gibt es sowas für Swing? AWT, Swing, JavaFX & SWT 10
N JComponent#getClientProperty(key) welche Schlüssel gibt es? AWT, Swing, JavaFX & SWT 3
G Gibt es soetwas wie setPreferredWidth() für JTextPane? AWT, Swing, JavaFX & SWT 3
F gibt etwas wie frames in html auch in java? AWT, Swing, JavaFX & SWT 19
B Gibt einen JComboButton? AWT, Swing, JavaFX & SWT 3
P ProgressMonitor - isCanceled gibt immer false zurück AWT, Swing, JavaFX & SWT 2
I Grafikfilter => welche gibt es und wie einsetzen AWT, Swing, JavaFX & SWT 7
C getIcon für ein File das es nicht gibt? AWT, Swing, JavaFX & SWT 2
S Gibt es sowas wie SwingEvent? AWT, Swing, JavaFX & SWT 6
R drawLine gibt hässliche linie AWT, Swing, JavaFX & SWT 4
A KeyPressed gibt mir immer 0 AWT, Swing, JavaFX & SWT 8
J Gibt es eine Methode die mir die Javaversion zurück gib ? AWT, Swing, JavaFX & SWT 2
G Gibt es eine Klasse für Syntax highlighting? AWT, Swing, JavaFX & SWT 3
S Gibt es eine Möglichkeit???? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben