Hallo, alle miteinander.
Ich hoffe ich habe das richtige Unterforum gewählt, denn mein Problem geht um Graphics.
Ich habe versucht einen Button zu erstellen, der angezeigt werden soll, wenn man über ihn mit der Maus kommt. Jetzt erscheint und verschwindet er aber wenn man mit der Maus in das Fenster kommt oder selbiges verlässt. Hier der Code des Buttons:
Und hier der Code der Main-Klasse:
Ich hoffe, ihr könnt mir helfen. Viele Grüße, EuadeLuxe.
Ich hoffe ich habe das richtige Unterforum gewählt, denn mein Problem geht um Graphics.
Ich habe versucht einen Button zu erstellen, der angezeigt werden soll, wenn man über ihn mit der Maus kommt. Jetzt erscheint und verschwindet er aber wenn man mit der Maus in das Fenster kommt oder selbiges verlässt. Hier der Code des Buttons:
Java:
import java.awt.*;
import java.awt.event.*;
public class GUIButton extends Canvas implements MouseListener{
private boolean isOver = false;
private int x, y;
private int sizeX, sizeY;
public GUIButton(int x, int y, int sizeX, int sizeY) {
this.addMouseListener(this);
this.setSize(sizeX, sizeY);
this.x = x;
this.y = y;
this.sizeX = sizeX;
this.sizeY = sizeY;
}
public void paint(Graphics g) {
}
@Override
public void mouseClicked(MouseEvent arg0) {
}
@Override
public void mouseEntered(MouseEvent arg0) {
Graphics g = this.getGraphics();
Dimension dim = new Dimension(sizeX, sizeY);
setPreferredSize(dim);
g.setColor(new Color(0.8f, 0.8f, 0.8f));
g.fillRect(x, y, sizeX, sizeY);
}
@Override
public void mouseExited(MouseEvent arg0) {
repaint();
}
@Override
public void mousePressed(MouseEvent arg0) {
System.out.println("Pressed!");
}
@Override
public void mouseReleased(MouseEvent arg0) {
}
}
Und hier der Code der Main-Klasse:
Java:
package BtnGraphics.GUI;
import javax.swing.JFrame;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GUIButton btn = new GUIButton(120, 120, 48, 48);
frame.add(btn);
frame.setSize(240, 240);
frame.setVisible(true);
}
}