Ich wollte mal testen, ob ich mehrere Icons in einer JComponent zeichnen kann ohne dabei mit LayoutManager zu arbeiten. Hier meine stark vereinfachte paintComponent-Methode:
Da ich mit iconRechteck.setBounds arbeite, hätte ich erwartet, dass ich am Schluss drei keline ImageIcons sehe. Jedoch wird immer nur ein Bildchen angezeigt. Das "bildchen" ist 20 x 20 gross. Das 'icon' ist eine Instanzvariable. Ist dies den überhaupt möglich?
Ist dies überhaupt möglich?
Java:
protected void paintComponent(Graphics g)
{
if (isOpaque())
{
// Background zeichnen
g.setColor(getBackground());
g.fillRect(0, 0, getWidth(), getHeight());
}
if (icon != null)
{
Insets insets = getInsets();
int iconBreite = icon.getIconWidth();
int x = getWidth() - insets.right - iconBreite;
int y = insets.top;
// x wird explizit geändert (nach rechts verschoben)
iconRechteck.setBounds(x, y, iconBreite, icon.getIconHeight());
icon.paintIcon(this, g, x, y);
iconRechteck.setBounds(25 + x, y, iconBreite, icon.getIconHeight());
icon.paintIcon(this, g, x, y);
iconRechteck.setBounds(50 + x, y, iconBreite, icon.getIconHeight());
icon.paintIcon(this, g, x, y);
}
}
Da ich mit iconRechteck.setBounds arbeite, hätte ich erwartet, dass ich am Schluss drei keline ImageIcons sehe. Jedoch wird immer nur ein Bildchen angezeigt. Das "bildchen" ist 20 x 20 gross. Das 'icon' ist eine Instanzvariable. Ist dies den überhaupt möglich?
Ist dies überhaupt möglich?