Hallo,
ich schreibe ein Java Programm in Swing. Ich will auf einem JPanel ein Bild zeichnen und darüber soll ein normaler JButton liegen. Soweit so gut. Ich habe mir meine eigene Klasse Hintergrund geschrieben welche von JPanel abgeleitet wird:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import java.awt.*; import javax.swing.*; public class Hintergrund extends JPanel{ Toolkit toolkit; Image image; Hintergrund(){ super(null); repaint(); } public void paint(Graphics g){ toolkit=Toolkit.getDefaultToolkit(); image=toolkit.getImage(getClass().getResource("bild.jpg")); g.drawImage(image, 0, 0, this); } } |
Dann habe ich in meinem Hauptprogramm ein neues Objekt Hintergrund angelegt und darauf einen JButton platziert:
1 2 3 4 5 6 7 8 9 | ... this.setLayout(new BorderLayout()); h=new Hintergrund(); foobar=new JButton("Foo Bar!"); foobar.setBounds(50, 100, 200, 100); foobar.addActionListener(this); h.add(foobar); this.add(h, BorderLayout.CENTER); ... |
Jetzt wird mein Bild "bild.jpg" richtigerweise auf mein h gezeichnet. Auch der Button wird richtig angelegt, nur hinter dem Bild. Wenn ich nun den Mauszeiger über die Position, wo der JButton sein sollte bewege, erscheint dieser auch.
Ich will aber, dass der JButton immer im Vordergrund ist. Was muss ich da noch ändern?
Gruß, 2¹⁶