⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmsimplelabel.java

📁 MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight
💻 JAVA
字号:
/** * MegaMek - Copyright (C) 2000,2001,2002,2004 Ben Mazur (bmazur@sev.org) *  *  This program is free software; you can redistribute it and/or modify it  *  under the terms of the GNU General Public License as published by the Free  *  Software Foundation; either version 2 of the License, or (at your option)  *  any later version. *  *  This program is distributed in the hope that it will be useful, but  *  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  *  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License  *  for more details. */package megamek.client.ui.AWT.widget;import java.awt.*;public class PMSimpleLabel  implements PMLabel{       // The String to display.     String string;     // The position of the label     int x = 0;     int y = 0;     // The width and height of the label     int width;     int height;     // The descent of the label     int descent;     // Color to draw the label with.     Color color;     // Font and Fontmetrics for the label     Font f;     FontMetrics fm;          boolean visible = true;     /*      * Create the label with the specified string, font and color      */     public PMSimpleLabel(String s, FontMetrics fm, Color c){        string = s;        this.fm = fm;        width = fm.stringWidth(string);        height = fm.getHeight();        descent = fm.getMaxDescent();        color = c;     }         public void setString(String s){        string = s;        // The width use to just be the stringWidth, but this        //  sometimes caused cropping when setString was called.        //  The value of 140% was chosen by trial and error, and        //  may be incorrect.  In fact, this whole fix is        //  basically a kludge, since I don't know why it        //  is needed.        width = (int)Math.ceil(fm.stringWidth(string) * 1.4);        height = fm.getHeight();        descent = fm.getMaxDescent();    }     /*      * Set the color of the label of the font.      */     public void setColor(Color c) {        color = c;     }     /*      * translate the coordinates of the label.      */     public void moveTo(int x, int y) {          this.x = x;          this.y = y;     }          public void translate(int x, int y){          this.x += x;          this.y += y;     }     /*      * Draw the label.      */     public void drawInto(Graphics g) {         if(!visible) return;         Font font = g.getFont();         Color temp = g.getColor();         g.setColor(color);         g.setFont(fm.getFont());         g.drawString(string, x, y);         g.setColor(temp);         g.setFont(font);     }          public void setVisible(boolean v){         visible = v;     }          public Rectangle getBounds(){         return new Rectangle(x, y - height +  descent, width, height);     }     /*      * Returns the size of the label      */     public Dimension getSize() {         return new Dimension(width, height);     }     /*      * Returns the descent of the label.      */     public int getDescent() {         return descent;     }          }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -