使用:
- 使用Componet中的 FontMetrics
getFontMetrics(Font font)
方法取回FontMetrics。 - 使用FontMetrics中的int
stringWidth(String str)
取回字串寬度。
Componet的名稱空間:
java.lang.Object
java.awt.Component
java.lang.Object
java.awt.Component
FontMetrics的名稱空間:
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class StringWidth_Test extends JFrame
{
private JLabel l = new JLabel();
public StringWidth_Test()
{
super();
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(500, 400);
this.setLayout(null);
l.setBackground(Color.PINK);
l.setOpaque(true);
l.setHorizontalAlignment(JLabel.RIGHT);
this.getContentPane().add(l);
//設定label長高
l.setSize(100,20);
//設定label字型
l.setFont(new Font("Dialog", 1, 12));
String message = "1234567890abckefg";
//測試字串在Label中的長度
int stringWidth = l.getFontMetrics(l.getFont()).stringWidth(message);
System.out.println(stringWidth);
if(stringWidth > l.getWidth())
{
l.setText("太長了");
}else{
l.setText(message);
}
}
public static void main(String[] args)
{
new StringWidth_Test();
}
}
沒有留言:
張貼留言