Problem mit JButton & Transparenz

karlbrueggen

Grünschnabel
Hallo
Ich Habe einen transparenten jbutton mit einem bild drauf...

wenn ich aber jetzt auf den button klicke dann ist er nicht mehr durchsichtig sondern in einem hässlichem grau...man kann zwar ein bild drauf legen aber die transparent z ist verloren...

weiss jemand ob ich einen pressd button überhaubt durchsichtig gestalte kann



danke
 
Servus!

Also ich würde für sowas ein JLabel verwenden ...damit geht's ganz leicht...
bei nem JButton musst du dazu wohl oder übel ziemlich tief in die Trickkiste greifen und die Methode paintComponent(Graphics g) aus JComponent überschrieben ... oder ein wenig mit den UI Konstanten herumspielen ...

http://www.rgagnon.com/javadetails/JavaUIDefaults.txt
http://www.tutorials.de/forum/showthread.php?threadid=130911&highlight=einf%E4rben

[auch interessant]
http://java.sun.com/products/jfc/tsc/articles/swing2d/index.html


Code:
/*
 * Created on 17.12.2003
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package pack;

import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class ButtonTest extends JFrame {

	public ButtonTest() {

		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent event) {
				((JFrame) event.getSource()).dispose();
				System.exit(0);
			}
		});
		setSize(320, 214);

		JPanel panel = new JPanel();
		panel.setSize(320, 240);
		panel.setBackground(Color.RED);

		JLabel label = new JLabel("Hallo");
		//Color c = new Color(255, 255, 255, 0);
		//bzw.
		
		label.setOpaque(false);
		//label.setBackground(c);
		label.addMouseListener(new MouseAdapter() {
			public void mousePressed(MouseEvent event) {
				System.out.println("Pressed");
			}
		});

		panel.add(label);

		getContentPane().add(panel);

		setVisible(true);

	}

	public static void main(String[] args) {
		new ButtonTest();
	}
}

Gruß Tom
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück