Hintergrundbild und grafischer Button (Transparenz Probleme)

Status
Nicht offen für weitere Antworten.
M

Matong

Gast
Hallo,

ich habe folgendes Problem:
Ich will auf ein JWindow ein Bildmalen, dass auch sehr gut klappt.

Jetzt möchte darauf einen grafischen Button (abgeleitet von JComponent) malen der eine gif(hintergrund transparent) anzeigt. Wenn ich mit der maus drüber fahre, soll der Hintergrund farbig dargestellt werden, wenn die Maus wieder weg ist, soll er wieder transparent werden.

Was schon geht:
Das ändern der Hintergrundfarbe funktioniert.

Problem:

Beim starten sehe ich nur das Hintergrundbild. Fahre ich mit der Maus über das Bild, wird der Button angezeigt(wenn ich ihn treffe), und zwar mit geänderter Hintergrundfarbe. Bewege ich die maus weg, wird der Hintergrund grau, aber nicht transparent.

Der Button wird auf einem JPanel angezeigt.

Button wie Panel sind setOpaque(false), also eigentlich Transparent.

Hier paint vom Button:
Code:
 public void paint (Graphics g)  {
  if (color==true)
   g.drawImage(buttonImage,0,0,buttonBackground,this);
   else
   g.drawImage(buttonImage,0,0,this);

  }

Warum klappt das mit dem Transparent nicht, und warum wird der Button erst nicht gezeigt, und dann doch???


MfG Matong
 
B

Beni

Gast
Bei Swing sollte man immer die Methode "paintComponent" überschreiben. Das originale "paint" sorgt dafür, dass andere Components richtig gezeichnet werden. Ich hab mal was zusammengebastelt, das etwa dasselbe machen sollte wie deine Buttons, und mit paintComponent funktioniert es ganz gut.

Code:
public class Main{
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		
		PaintPanel panel = new PaintPanel( Color.RED );
		panel.setLayout( new GridLayout(2, 2) );
		panel.add( new PaintPanel( Color.GREEN ));
		panel.add( new PaintPanel( Color.BLUE ));
		panel.add( new PaintPanel( Color.YELLOW ));
		panel.add( new PaintPanel( Color.WHITE ));
		
		frame.getContentPane().add( panel );
		
		frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		frame.setBounds( 20, 20, 500, 500 );
		frame.setVisible( true );
	}
}

class PaintPanel extends JPanel implements MouseListener{
	private Color color;
	private boolean paint = false;
	
	public PaintPanel( Color color ){
		this.color = color;
		addMouseListener( this );
		setOpaque( false );
	}
	
	public void paintComponent( Graphics g ){
		if( paint ){
			g.setColor( color.darker() );
			g.fillRect( 0, 0, getWidth(), getHeight() );
		}
		
		g.setColor( color );
		g.fillOval( 0, 0, getWidth(), getHeight() );
	}

	public void mouseClicked(MouseEvent e) {
	}

	public void mouseEntered(MouseEvent e) {
		paint = true;
		repaint();
	}

	public void mouseExited(MouseEvent e) {
		paint = false;
		repaint();
	}

	public void mousePressed(MouseEvent e) {
	}

	public void mouseReleased(MouseEvent e) {
	}
}
 
M

Matong

Gast
Servus,

also der trick ist nich schlecht, aber ich hab immer noch ein problem:

Wie man sieht wird dat Ding immer noch nicht durchsichtig, da wird so ein Rand gezeichnet.

Wie kriege ich den weg?

Schade, ich kann kein Bild anhängen


MfG Matong
 
M

matong

Gast
Ok,

es hat sich erledigt. Hatte mit den panels Probleme gehabt, aber jetzt macht es dass was es soll.

Juhu.


Also, danke für deine Hilfe.

Cu Matong
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Hintergrundbild einfügen AWT, Swing, JavaFX & SWT 1
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
R Java, GUI, Hintergrundbild, Image, AWT, Swing, JavaFX & SWT 4
H Hintergrundbild in einem Programm AWT, Swing, JavaFX & SWT 4
snipesss Hintergrundbild in JOptionPane.showInputDialog? AWT, Swing, JavaFX & SWT 4
M Hintergrundbild wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
L [Slick2d] Sidescroller/Hintergrundbild sehr langsam AWT, Swing, JavaFX & SWT 3
O Vollbildmodus mit Hintergrundbild AWT, Swing, JavaFX & SWT 8
A jpanel mit gridbaglayout auf hintergrundbild AWT, Swing, JavaFX & SWT 7
Mr. Pink AWT Anzeigeproblem JPanel/Hintergrundbild AWT, Swing, JavaFX & SWT 1
H Swing Hintergrundbild in einen JFrame einfügen AWT, Swing, JavaFX & SWT 7
T Hintergrundbild in JTextPane fixieren AWT, Swing, JavaFX & SWT 2
M Auf einem Hintergrundbild zeichnen AWT, Swing, JavaFX & SWT 2
SexyPenny90 Hintergrundbild mit Swing AWT, Swing, JavaFX & SWT 3
C Eigenes Hintergrundbild einfügen AWT, Swing, JavaFX & SWT 6
P AWT Hintergrundbild in Hauptframe AWT, Swing, JavaFX & SWT 3
J Hintergrundbild für JFrame AWT, Swing, JavaFX & SWT 6
T 2D-Grafik Statisches Hintergrundbild, dynamische Bilder drüber AWT, Swing, JavaFX & SWT 2
F Hintergrundbild im Frame AWT, Swing, JavaFX & SWT 11
H Hintergrundbild in jTextArea AWT, Swing, JavaFX & SWT 4
N AWT Hintergrundbild AWT, Swing, JavaFX & SWT 2
R 2D-Grafik Hintergrundbild für JFrame AWT, Swing, JavaFX & SWT 4
E JButton mit hintergrundbild AWT, Swing, JavaFX & SWT 4
J Swing Hintergrundbild auf einem JFrame AWT, Swing, JavaFX & SWT 7
G Swing Komponenten dem Hintergrundbild des JPanels anpassen? AWT, Swing, JavaFX & SWT 6
B Wie ein Hintergrundbild einfügen??? AWT, Swing, JavaFX & SWT 18
I JPanel mit Hintergrundbild, setOpaque AWT, Swing, JavaFX & SWT 10
C Label Hintergrundbild mit Text AWT, Swing, JavaFX & SWT 6
S Applet - Aerger mit dem Hintergrundbild - JLabel und JTextfield AWT, Swing, JavaFX & SWT 7
F hintergrundbild für jtable als jscrollpane AWT, Swing, JavaFX & SWT 10
J Hintergrundbild des JFrames lässt Textboxen verschwinden? AWT, Swing, JavaFX & SWT 4
H hintergrundbild fixieren AWT, Swing, JavaFX & SWT 3
N Swing Hintergrundbild in einer JScrollpane AWT, Swing, JavaFX & SWT 2
dl85hej Hintergrundbild AWT, Swing, JavaFX & SWT 2
C JPanel mit Hintergrundbild AWT, Swing, JavaFX & SWT 30
U JList mit Hintergrundbild hinterlegen und noch ne Frage AWT, Swing, JavaFX & SWT 4
C Hintergrundbild ohne Repaint AWT, Swing, JavaFX & SWT 9
G Jpanel mit Hintergrundbild füllen? AWT, Swing, JavaFX & SWT 6
G 2x JPanel im JScrollPane (Hintergrundbild in JScrollPane) AWT, Swing, JavaFX & SWT 9
E JPanel mit Hintergrundbild AWT, Swing, JavaFX & SWT 10
hdi panel hintergrundbild falsch implementiert ? AWT, Swing, JavaFX & SWT 9
Kidao Das Hintergrundbild überdeckt die Swing-Komponente AWT, Swing, JavaFX & SWT 5
C JdesktopPane Hintergrundbild AWT, Swing, JavaFX & SWT 6
N Hintergrundbild setzen AWT, Swing, JavaFX & SWT 4
L Frame mit Hintergrundbild? AWT, Swing, JavaFX & SWT 4
S JTextPane mit Hintergrundbild AWT, Swing, JavaFX & SWT 9
K Hintergrundbild an JFrame anpassen AWT, Swing, JavaFX & SWT 9
U bewegtes Hintergrundbild AWT, Swing, JavaFX & SWT 2
G Hintergrundbild auf JFrame oder JPanel AWT, Swing, JavaFX & SWT 3
F Text besser lesbar über Hintergrundbild AWT, Swing, JavaFX & SWT 6
G Hintergrundbild für JPanel AWT, Swing, JavaFX & SWT 4
S Hintergrundbild an Größe des JFrames anpassen AWT, Swing, JavaFX & SWT 4
G Problem mit Menü/Button auf Hintergrundbild AWT, Swing, JavaFX & SWT 10
D JTable - Hintergrundbild in Cell AWT, Swing, JavaFX & SWT 6
H Hintergrundbild im Panel verschwindet sofort AWT, Swing, JavaFX & SWT 6
B Problem mit Hintergrundbild AWT, Swing, JavaFX & SWT 12
I Hintergrundbild bei awt container AWT, Swing, JavaFX & SWT 9
E hintergrundbild einfügen!! AWT, Swing, JavaFX & SWT 2
cedi Swing Problem mit Grafischer Oberfläche AWT, Swing, JavaFX & SWT 8
M.F.G. Fehler bei der Anzeige Grafischer Elemente AWT, Swing, JavaFX & SWT 13
L Problem mit "NullPointerException" bei grafischer AWT, Swing, JavaFX & SWT 3
G Tooltips auf grafischer Oberfläche AWT, Swing, JavaFX & SWT 2
S Aufbau mehrerer verschiedener grafischer Oberflächen AWT, Swing, JavaFX & SWT 2
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
G Button auswerten und ausgeben ob richtig oder falsch AWT, Swing, JavaFX & SWT 1
D Button und Textfeld Darstellung AWT, Swing, JavaFX & SWT 3
H Button / Design Ideen AWT, Swing, JavaFX & SWT 2
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
B JavaFX Sprachumschaltung mit Button auf der HMI AWT, Swing, JavaFX & SWT 6
T TableView Button onAction AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
J Button-Keyboard Interaktion AWT, Swing, JavaFX & SWT 7
EinNickname9 Swing Button mittig positionieren AWT, Swing, JavaFX & SWT 4
L actionListener für Button AWT, Swing, JavaFX & SWT 97
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
I JavaFX Hover-Effekt bei Button AWT, Swing, JavaFX & SWT 11
Zeppi Swing Button soll Spiel zurücksetzen AWT, Swing, JavaFX & SWT 5
G Button Strings Effektiver setzen AWT, Swing, JavaFX & SWT 3
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
W JavaFX Button - optimale Breite berechnen AWT, Swing, JavaFX & SWT 1
L Swing Button Farbe ändern/wechseln AWT, Swing, JavaFX & SWT 2
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
S JavaFx Zufallsfarbe beim Button-Klick AWT, Swing, JavaFX & SWT 22
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
Z Button bewegen und Plätze tauschen AWT, Swing, JavaFX & SWT 4
Z Swing Button anklicken und bewegen AWT, Swing, JavaFX & SWT 2
K JavaFX Button verbinden AWT, Swing, JavaFX & SWT 6
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
M JavaFX Button action abhängigkeit von Tab AWT, Swing, JavaFX & SWT 1
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
H Eigener Dialog mit Rückgabe -> Warten auf Button AWT, Swing, JavaFX & SWT 3
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
L Button Funktion zuweisen in WindowBuilder AWT, Swing, JavaFX & SWT 22

Ähnliche Java Themen

Neue Themen


Oben