日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

textlayout Java_Java TextLayout.getBounds方法代码示例

發布時間:2024/7/5 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 textlayout Java_Java TextLayout.getBounds方法代码示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

import java.awt.font.TextLayout; //導入方法依賴的package包/類

/**

* {@inheritDoc}

*/

@Override

public void paintComponent(Graphics g) {

updateSizes();

Graphics2D g2d = (Graphics2D) g;

chatDisplay.removeOldMessages();

Dimension size = getSize();

if (freeColClient.isMapEditor()) {

if (hasMap()) {

mapViewer.displayMap(g2d);

} else {

g2d.setColor(Color.BLACK);

g2d.fillRect(0, 0, size.width, size.height);

}

} else if (freeColClient.isInGame() && hasMap()) {

mapViewer.displayMap(g2d);

// Grey out the map if it is not my turn (and a multiplayer game).

if (!freeColClient.currentPlayerIsMyPlayer()) {

if (greyLayer == null) {

greyLayer = new GrayLayer(freeColClient);

}

if (greyLayer.getParent() == null) {

add(greyLayer, JLayeredPane.DRAG_LAYER);

}

greyLayer.setBounds(0, 0, size.width, size.height);

greyLayer.setPlayer(freeColClient.getGame().getCurrentPlayer());

} else {

if (greyLayer != null && greyLayer.getParent() != null) {

removeFromCanvas(greyLayer);

}

}

// paint chat display

chatDisplay.display(g2d, mapViewer.getImageLibrary(), size);

} else {

/* main menu */

// TODO: Check if its right to sometimes have an unfocused map

// ingame and end up here after clicking outside map.

final String bgImageKey = "image.flavor.Canvas.map";

if (ResourceManager.hasImageResource(bgImageKey)) {

// Get the background without scaling, to avoid wasting

// memory needlessly keeping an unbounded number of rescaled

// versions of the largest image in FreeCol, forever.

final Image bgImage = ResourceManager.getImage(bgImageKey);

// Draw background image with scaling.

g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION,

RenderingHints.VALUE_INTERPOLATION_BILINEAR);

g2d.drawImage(bgImage, 0, 0, size.width, size.height, this);

String versionStr = "v. " + FreeCol.getVersion();

Font oldFont = g2d.getFont();

Color oldColor = g2d.getColor();

Font newFont = oldFont.deriveFont(Font.BOLD);

TextLayout layout = new TextLayout(versionStr, newFont,

g2d.getFontRenderContext());

Rectangle2D bounds = layout.getBounds();

float x = size.width - (float) bounds.getWidth() - 5;

float y = size.height - (float) bounds.getHeight();

g2d.setColor(Color.white);

layout.draw(g2d, x, y);

g2d.setFont(oldFont);

g2d.setColor(oldColor);

} else {

g2d.setColor(Color.BLACK);

g2d.fillRect(0, 0, size.width, size.height);

}

}

}

總結

以上是生活随笔為你收集整理的textlayout Java_Java TextLayout.getBounds方法代码示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。