Swing Icons mit Transparentz...

T

Tomate_Salat

Gast
Hi,
ich bin mir sicher, dass hier war bestimmt mal Thema, aber ich finde weder hier noch unter Google eine Antwort, die mich weiterbringen würde...Ich habe ein ganz blödes Problem:

folgende Situation: ich ein JLabel mit einem eigenen Icon (Format: png) welches Transparenz besitz darauf positioniert. Dieses Icon soll sich bei MouseOver in eine dunklere Variante von sich selbst ändern...Das funktioniert auch. Auch beim verlassen ändert sich alles wieder wie gehabt zurück. Nur leider, habe ich das Gefühl, dass sich die Icons einfach übereinander positionieren. Denn die Transparenten Bereiche werden immer undurchsichtiger. Nach einer bestimmten Anzahl von MouseOvern(hab sie nicht gezählt) ist es wieder normal...ich habe schon versucht mit

[c]label.setIcon(...);[/c]
danach habe ich zusätzlich noch [c]label.repaint();[/c] hinzgefügt
und danach habe ich [c]parentOfLabel.repaint();[/c] hinzufgefügt.

hat alles nix geholfen. Gibt es eine Möglichkeit icons vorher zu löschen oder sollte ich eine andere Komponente verwenden?

Mit freundlichen grüßen

Tomate_Salat
 
T

Tomate_Salat

Gast
Java:
                @Override
                public void mouseExited(MouseEvent e) 
		{
			Icon icon	= new ImageIcon(getClass().getResource("/img/Schild.png"));		
			SCHILD.setIcon(icon);	
			SCHILD.repaint();
			repaint();
		}
		
		@Override
		public void mouseEntered(MouseEvent e) 
		{
			Icon icon	= new ImageIcon(getClass().getResource("/img/Schild_click.png"));			
			SCHILD.setIcon(icon);	
			SCHILD.repaint();
			repaint();
		}
 

javimka

Top Contributor
Du lädst ja jedesmal die Icons neu, das ist ziemlich verschwenderisch. Lade sie doch einmal, speichere sie als Instanzen in der Klasse und verwende dann jedesmal das eine oder das andere.

Von welcher Klasse ist SCHILD?
 
T

Tomate_Salat

Gast
hmm ja, bin mitlerweile @home und hab von hier keinen Zugriff drauf. Werde morgen mal deien Tipp auf jeden Fall umsetzen. Die Schild müsste eine Konstante von JLabel sein.
 
T

Tomate_Salat

Gast
hab das ganze jz als Objekt-Variable ausgelagert, ändert aber noch immer nichts an der Situation
 

Michael...

Top Contributor
Hab mal bei mir mit folgendem Code getestet und konnte da nichts feststellen. Wenn Du auf JLabel setIcon() aufrufst ist ein repaint() o.ä. nicht mehr notwendig. (wie bei setText())

Kannst ja mal probieren, ob das Phänomen auftritt, wenn Du Deine Bilder in dem Code unten verwendest.

Java:
import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class MouseOverDemo extends JFrame {
	private JLabel label;
	private ImageIcon img1 = new ImageIcon(MouseOverDemo.class.getResource("/chess2/king_white.png"));
	private ImageIcon img2 = new ImageIcon(MouseOverDemo.class.getResource("/chess2/king_black.png"));
	
	public MouseOverDemo() {
		label = new JLabel(img1);
		//label.setBackground(Color.CYAN);
		//label.setOpaque(true);
		this.getContentPane().add(label, BorderLayout.NORTH);
		label.addMouseListener(new MouseAdapter(){
			public void mouseEntered(MouseEvent evt) {
				label.setIcon(img2);
			}

			public void mouseExited(MouseEvent evt) {
				label.setIcon(img1);
			}			
		});
	}
	
	public static void main(String[] args) {
		JFrame frame = new MouseOverDemo();
		frame.setBounds(0, 0, 300, 200);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}
 
T

Tomate_Salat

Gast
Habe es lösen können. Das Problem war einfach: Ich musste 3 Unterebenen neuzeichenen lassen. Die Unterste hatte sich immer den Schattenwurf gemerkt und dadurch kam es zu dem unerwünschten Effekt.

Mit freundlichen Grüßen

Tomate_Salat
 

Ebenius

Top Contributor
Das klingt ja nach überschriebener [c]paint()[/c]-Methode. Kannst Du das Problem als KSKB nachbauen? Das interessiert mich jetzt. Sollte eigentlich unnötig sein, repaint()-Aufrufe durchzureichen.

Ebenius
 

Ebenius

Top Contributor
Man überschreibt [c]paint()[/c] nicht. Sondern [c]paintComponent()[/c]. Dann passiert so ein Dreckeffekt nicht. ;-)

KSKB? Mit der Maus drüber gehen und gucken was der Tooltip (oder Statuszeile, je nach Browser) sagt. Oder geht das in Deinem Browser nicht?

Kurzes Selbstständiges Kompilierbares Beispiel (sagt mein Browser)

Ebenius
 
T

Tomate_Salat

Gast
bin gerade mit google chrome online und bin es gewohnt, dass firefox acronyme markiert....was bei google chrome anscheinend nciht der fall ist.

Ich werde das [c]paintComponent()[/c] morgen testen.

Mfg

Tomate_Salat
 
T

Tomate_Salat

Gast
ne halt stopp, nix [c]paint();[/c] mit Paint arbeite ich gerade an etwas anderem(was auch gerade so seine Probleme macht). Ich hatte wirklich nur ein [c]setIcon();[/c]. Aber hab das jz gelöst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Fonts, Icons, Bilder in JavaFX Anwendung AWT, Swing, JavaFX & SWT 5
thor_norsk Icons laden nicht in GUI AWT, Swing, JavaFX & SWT 15
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
ProggersWorld JavaFX Icons im TreeView werden nicht angezeigt AWT, Swing, JavaFX & SWT 1
VPChief Icons in 2 Jlabels Director nebeneinander anzeigen AWT, Swing, JavaFX & SWT 26
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
A Jtabbed ein Reiter mit zwei icons AWT, Swing, JavaFX & SWT 4
B SWT TreeViewer dynamische Anzeige von Icons AWT, Swing, JavaFX & SWT 3
B Link eines Icons dynamisch gestalten AWT, Swing, JavaFX & SWT 2
JavaInBrain Swing JButton: Zuordnen von Icons AWT, Swing, JavaFX & SWT 4
T Swing Laden eines Icons auf JButton liefert NullPointerException AWT, Swing, JavaFX & SWT 8
T SWT Drag&Drop: Eclipse FileTransfer mit Icons AWT, Swing, JavaFX & SWT 14
P Liste mit Icons und mehreren Spalten AWT, Swing, JavaFX & SWT 7
NR_EIGHT Swing JButton zeigt Icons nicht an AWT, Swing, JavaFX & SWT 3
B "Alte" Swing ICONs gesucht AWT, Swing, JavaFX & SWT 2
X Icons in einer Spalte darstellen AWT, Swing, JavaFX & SWT 6
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
G Unterschiedliche Pfadangabe zu Icons zwischen JApplet und JWindow? AWT, Swing, JavaFX & SWT 2
B Standard Icons wo findet man diese? AWT, Swing, JavaFX & SWT 20
N Button soll die Größ eines Icons haben AWT, Swing, JavaFX & SWT 5
G Swing Icons von JLabel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 3
sylo Position des Icons bei JMenuItem AWT, Swing, JavaFX & SWT 11
L Swing Bilder im Icons-Ordner AWT, Swing, JavaFX & SWT 4
Dit_ Verschiedene Icons in einer JTable-Zelle AWT, Swing, JavaFX & SWT 2
L Wieso werden die Icons nicht dargestellt? AWT, Swing, JavaFX & SWT 2
M Icons in Jar AWT, Swing, JavaFX & SWT 3
M Mehrere Icons in einer JComponent AWT, Swing, JavaFX & SWT 5
T Icons in jar AWT, Swing, JavaFX & SWT 17
A JLabel, Icons und GridLayout AWT, Swing, JavaFX & SWT 3
S JTree rendern der Knoten [+] und [-], nicht der Node Icons AWT, Swing, JavaFX & SWT 2
G Icons verkleinern AWT, Swing, JavaFX & SWT 4
M icons für die java.swing components wie jbutton etc AWT, Swing, JavaFX & SWT 5
G Verhindern, das AbstractAction Text und Icons überschreibt? AWT, Swing, JavaFX & SWT 3
DeeDee0815 SWT-Buttons, Icons und die Win32-API AWT, Swing, JavaFX & SWT 3
T Standard Icons AWT, Swing, JavaFX & SWT 7
G Wo finde ich Icons zum runterladen AWT, Swing, JavaFX & SWT 3
S JTable mit Icons in DB speichern AWT, Swing, JavaFX & SWT 10
S Hochauflösende ICONS für Lebensmittel? AWT, Swing, JavaFX & SWT 7
J Icons ueber getRessource lesen AWT, Swing, JavaFX & SWT 5
S JButton auf verkleiner auf größe eines Icons AWT, Swing, JavaFX & SWT 5
A Icons von Kontextmenüeinträgen verschwinden (SWT) AWT, Swing, JavaFX & SWT 2
D Komponenten mit zusätzlichen Icons AWT, Swing, JavaFX & SWT 2
F 2 icons in jtabbedpane, links und rechts von label AWT, Swing, JavaFX & SWT 2
P JMenu / JMenuItem durch Rekursion Icons entfernen AWT, Swing, JavaFX & SWT 4
B PNG-Icons in Toolbar einbinden AWT, Swing, JavaFX & SWT 3
C Icons und Bilder in der JAR AWT, Swing, JavaFX & SWT 9
S Multiselektieren von Icons AWT, Swing, JavaFX & SWT 5
R JTree ohne visible Root aber mit Icons ? AWT, Swing, JavaFX & SWT 2
F Icons des JTrees austauschen AWT, Swing, JavaFX & SWT 2
G JTabel und Icons AWT, Swing, JavaFX & SWT 9
Q CloseAndMaxTabbedPane Icons werden nicht angezeigt AWT, Swing, JavaFX & SWT 4
M Java Datei Icons AWT, Swing, JavaFX & SWT 2
M Windows file icons in Java verwenden AWT, Swing, JavaFX & SWT 2
S JAR -> Icons werden nicht mehr angezeigt AWT, Swing, JavaFX & SWT 11
K icons sauber anzeigen (an hintergrund angepasst) AWT, Swing, JavaFX & SWT 4
Z Problem mit Icons in JTable AWT, Swing, JavaFX & SWT 3
R SWT: Icons im Table vor den Einträgen AWT, Swing, JavaFX & SWT 3
D Auf System-Icons wie die aus JOptionPane zugreifen? AWT, Swing, JavaFX & SWT 6
Hotkey Freie Icons für Anwendung mit Java Look&Feel AWT, Swing, JavaFX & SWT 4
S JTree // Icons AWT, Swing, JavaFX & SWT 2
S [JTree] Icons ohne DefaultTreeCellRenderer AWT, Swing, JavaFX & SWT 6
J Icons mit Text als Menü AWT, Swing, JavaFX & SWT 2
F SkinLF - GTK Icons werden nicht genutz - KDE schon - why? AWT, Swing, JavaFX & SWT 8
F JTree mit anderen Icons AWT, Swing, JavaFX & SWT 7
W Websites mit freien Icons AWT, Swing, JavaFX & SWT 4
G Warum gehen meine Icons/Images nicht weg? AWT, Swing, JavaFX & SWT 2
I Icons in JLists AWT, Swing, JavaFX & SWT 2
G Icons in CTabFolder AWT, Swing, JavaFX & SWT 3
L Buttons und Icons AWT, Swing, JavaFX & SWT 2
W JRadioButtonMenuItem (Icons) AWT, Swing, JavaFX & SWT 13
Z Problemen mit Icons? AWT, Swing, JavaFX & SWT 5
G Overlay-Icons über JTextField AWT, Swing, JavaFX & SWT 5
A Icons und Bilder bei EXE-Datei nicht da AWT, Swing, JavaFX & SWT 5
S JTree Datei Icons ? AWT, Swing, JavaFX & SWT 28
M icons im menubar ? AWT, Swing, JavaFX & SWT 5
G standard system icons AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben