Ich bin Hintergrundbild für JButton
oder sagen JTableHeader
. Wenn ich gleichzeitig paintComponent
mache, wird der Textwert für diese Komponente entfernt.paintComponent Entfernen von Text-Wert der Schaltfläche
Irgendeine Idee, wo ich falsch liege?
JButton btn = new JButton(){
@Override
public void paintComponent(Graphics g){
Dimension size = this.getSize();
g.drawImage(Toolkit.getDefaultToolkit().getImage("C:\\User\\Downloads\\MainMenu.jpg"), 0, 0, size.width, size.height, this);
}
};
btn.setText("TEST WITH ME");
btn.setOpaque(true);
1) Rufen Sie bei jeder überschriebenen Malmethode immer zuerst die 'super'-Methode auf. Dies zeichnet den Hintergrund, die Rahmen usw. 2) 'g.drawImage (Toolkit.getDefaultToolkit(). GetImage (" C: \\ Benutzer \\ .. 'Laden Sie keine Ressourcen in eine Malmethode. Eine Malmethode muss beendet werden Laden Sie das Image beim Start der Anwendung und speichern Sie es als Attribut der Klasse 3) Um eine bessere Hilfe zu erhalten, sollten Sie ein [MCVE] oder [Short, Self Contained, Correct Example] (http://www.sscce.org /) 4) Eine Möglichkeit, Bilder für ein Beispiel zu erhalten, besteht darin, eine direkte Verbindung zu Bildern herzustellen, die in [dieses Q & A] zu sehen sind. (Http://stackoverflow.com/q/19209650/418556). –
.. 'btn. setText ("TEST MIT MIR"); '5) Der Text kann im Knopfkonstruktor übergeben werden. 6) Keine Notwendigkeit, beim Benutzer zu schleusen. Besser,' 'Test mit mir" 'oder' "Test mit mir" 'zu verwenden –
Mögliches Duplikat von [Wie erstelle ich ein benutzerdefiniertes JButton in Java mit einer Bilddatenbank?] (Https://stackoverflow.com/questions/8235991/how-to-create-a-custom-jbutton-in-java-with- an-image-base) – user1803551