JLabel label = new JLabel("Underlined Label");
Font font = label.getFont();
Map attributes = font.getAttributes();
attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
label.setFont(font.deriveFont(attributes));
私はこのコードを今日少なくとも100回以上見てきました。私は100回以上試してみましたが、毎回動作しません。私はJLabelのテキストに下線を引いているしようとすると、これは私が見つけたコードの唯一のブロックであり、他のすべてのstackoverflowで私を除いて、これを理解するようだ?マップはクラスですか?誰かがどのようにこの作品を説明できますか?
技術的には、マップはインターフェイスですが、クラスとして考えることができます。私は属性が地図を実装するHashMapだと思います。 – billjamesdev
@billjamesdevので、マップ属性= font.getAttributes();インターフェイスの初期化ですか? –
さて、属性には、キーと値のペアの「リスト」内のフォントのすべての属性が含まれています。リストはこの["value1"、 "value2"]のようなものですが、マップは次のようになります["attrName": "attrValue"、 "attrName2": "attr2Value"]。マップ値はインデックス(リストと同じように)ではなく、キー(上記の「attrName」)で取得されます – billjamesdev