Ich bin auf dem Weg, einen eigenen Button zu schreiben. Dabei nehme ich mir also nur eine Ableitung von JButton und will quasi das Aussehen verändern, die Funktionalität beibehalten.
Und so bin ich auf das ButtonUI gekommen. Ich muss also nur ein eigenes ButtonUI schreiben, indem ich das Painten überschreibe. Das habe ich dann auch einmal versucht:
Dann habe ich es mal in diesem TestFrame probiert:
Und was wird mir displayed?
Ein leeres Fenster!
Nehme ich die Zeile
raus, so bekomme ich einen ganz normalen Button (der nun logischerweise das ganze Frame ausfüllt).
Was muss ich also genau schreiben, um ein eigenes ButtonImage zu verwirklichen?
Und so bin ich auf das ButtonUI gekommen. Ich muss also nur ein eigenes ButtonUI schreiben, indem ich das Painten überschreibe. Das habe ich dann auch einmal versucht:
Java:
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.plaf.ButtonUI;
public class MyButtonUI extends ButtonUI
{
@Override
public void paint(Graphics graphics, JComponent component)
{
graphics.drawString("JOJOJOJO", 0, 0);
}
}
Dann habe ich es mal in diesem TestFrame probiert:
Java:
import javax.swing.JButton;
import javax.swing.JFrame;
public class TestFrame extends JFrame
{
public TestFrame()
{
super("TEST!");
setSize(400, 400);
JButton testButton = new JButton();
testButton.setUI(new MyButtonUI());
getContentPane().add(testButton);
}
public static void main(String[] args)
{
new TestFrame().setVisible(true);
}
}
Und was wird mir displayed?
Ein leeres Fenster!
Nehme ich die Zeile
Code:
testButton.setUI(new MyButtonUI());
Was muss ich also genau schreiben, um ein eigenes ButtonImage zu verwirklichen?