0
JButton
の背景イメージを設定しています。つまり、JTableHeader
とします。 paintComponent
を同じにすると、そのコンポーネントに設定されているテキスト値が削除されます。ボタンのテキスト値を削除するpaintComponent
どこが間違っているのですか?
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)オーバーライドされたペイントメソッドでは、常に最初に「super」メソッドを呼び出します。これは、背景や枠などをペイントします。2) 'g.drawImage(Toolkit.getDefaultToolkit()。getImage(" C:\\ User \\ .. 'ペイントメソッド内でリソースをロードしません。アプリケーション起動時にイメージをロードし、クラスの属性として保存する3)すぐに役立つようにするには、[MCVE]または[短く、自己完結型の正しい例]を投稿する(http://www.sscce.org /)4)画像を取得する方法の1つは、[このQ&A](http://stackoverflow.com/q/19209650/418556)に表示されている画像にホットリンクすることです。 –
.. 'btn。 setText( "TEST WITH ME"); '5)ボタンコンストラクタでテキストを渡すことができます。6)ユーザにSHOUTをする必要はありません。" Test With Me "や" Test with me " –
[イメージベースでJavaでカスタムJButtonを作成するにはどうすればいいですか?](https://stackoverflow.com/questions/8235991/how-to-create-a-custom-jbutton-in-java-with-イメージベース) – user1803551