ひとつのJLabelに文字列と画像を入れて、文字列だけを透明にしようとしましたが、なぜか画像の横に黒いドットが表示されるんです。
java
1String value = "ファイルパス.png"; 2 3character[c] = new JLabel(value, new ImageIcon(this.getClass().getResource(value)), JLabel.CENTER); 4 5character[c].setForeground(new Color(0,0,0,0));
当然、文字列なしで画像だけ入れるとドットは表示されません。
setForeground()
のColorの値を変えても、ドットは黒いままです。
というか、文字列はちゃんと表示されずに画像の右側に"."だけがひとつ表示されるってどういうことですか?
ちなみに、文字列の表示位置をCENTER以外にするとドットは消えました。
追記:
ドットの色が黒いままだったのは、character[c].setForeground(new Color(0,0,0,0));
を書く場所のミスでした。
使っている画像は特別なものではなく、どこにでもあるpngやjpgです。いろんな画像を使いましたが、どれも、画像の右にドットが現れます。JLabel.CENTER以外(JLabel.LEFTなど)にすると消えます。
jarファイルアップロードしておきました。
TalkWindow.java 581行目private void setCharacter(String type, String value, int c)
の中です。
TalkWindow.jar
変数名とかわかりにくいのはご了承ください...