
正文
java代码变形font java fontmetrics
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java组件字体中的Font的各个方法怎么运用?
java.awt.Font
设计字体显示效果 Font mf = new Font(String 字体,int 风格,int 字号);
字体:TimesRoman, Courier, Arial等
风格:三个常量 lFont.PLAIN, Font.BOLD, Font.ITALIC
字号:字的大小(磅数)
设置组件当前使用的字体:setFont(Font fn)
获取组件当前使用的字体:getFont()
int i= font.stringWidth(String str);获取str字符的长度
详细说明
getFont(int face,int style,int size). 例如:
Font font = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font. SIZE_MEDIUM). 无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。下面对于其中的三个参数的取值做详细的介绍: face参数指字体的外观,其的值: FACE_MONOSPACE——等宽字体l
FACE_PROPORTIONAL——均衡字体l
FACE_SYSTEM——系统字体style参数指字体的样式,其的取值:l
STYLE_BOLD——粗体l
STYLE_ITALIC——斜体l
STYLE_PLAIN——普通l
STYLE_UNDERLINED——下划线l
STYLE_BOLD | STYLE_ITALIC——粗斜体l
STYLE_UNDERLINED | STYLE_BOLD——带下划线粗体l
STYLE_UNDERLINED | STYLE_ITALIC——带下划线斜体l
STYLE_UNDERLINED | STYLE_ITALIC | STYLE_BOLD——带下划线的粗斜体size参数指字体的大小,其的取值:l
SIZE_SMALL——小l
SIZE_MEDIUM——中l
SIZE_LARGE——大通过上面的参数的值,可以组合出你需要的字体对象。下面是一些常用的字体操作:
1. 获得系统的默认字体:Font font = Font.getDefaultFont().
2. 在panit方法内部,假设Graphics参数的名称为g,则获得当前字体的方法是:Font font = g.getFont().
3. 在panit方法内部,假设Graphics参数的名称为g,则设置当前字体的方法是:g.setFont(font).其中font为你构造好的字体对象。
4. 在MIDP2.0中,List可以设置每行的字体格式,方法是:list.setFont(0,font).则上面的代码是将list中的第一行设置为font类型的字体。 最后介绍一下在Nokia系列的手机中,字体大小的具体参数:
相关问答
Q1: 用 java语句怎么将文区的字体设置为粗斜体
Font.ITALIC表示斜体
你设置的style=1,也可以用Font.BOLD来代替
这样比较好记
if(e.getActionCommand()=="斜体")
{
Font font=textarea.getFont();
textarea.setFont(new Font(font.getName(),Font.ITALIC,font.getSize()));
}
呵呵,既要粗体又要斜体,那就把两个加起来
textarea.setFont(new Font(font.getName(),Font.BOLD+Font.ITALIC,font.getSize()));
Q2: 怎样用java绘制弧形文字
用java绘制弧形文字java代码变形font的方法是调用java 2d图形处理java代码变形font的api实现的。
完整代码如下:
// 引入需要的jar包
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
//定义一个类
public class FontPanel extends JPanel {
//定义一个画板java代码变形font,入参是图形g
public void paintComponent(Graphics g) {
super.paintComponent(g);
Font f = new Font("SansSerif", Font.BOLD, 14); 设置字体加粗
Font fi = new Font("SansSerif", Font.BOLD + Font.ITALIC, 14);设置字体加粗java代码变形font,斜体
FontMetrics fm = g.getFontMetrics(f); //得到当前的font metrics
FontMetrics fim = g.getFontMetrics(fi);//得到当前的font metrics
String s1 = "Java ";
String s2 = "Source and Support"; 定义字符串
String s3 = " java 字体变形学习";
int width1 = fm.stringWidth(s1); 设置宽度
int width2 = fim.stringWidth(s2);
int width3 = fm.stringWidth(s3);
Dimension d = getSize(); 设置二维图形的维度
int cx = (d.width - width1 - width2 - width3) / 2; 计算绘制字体的x轴
int cy = (d.height - fm.getHeight()) / 2 + fm.getAscent();计算绘制字体的y轴
g.setFont(f);
g.drawString(s1, cx, cy);
cx += width1;
g.setFont(fi);
g.drawString(s2, cx, cy);
cx += width2;
g.setFont(f);
g.drawString(s3, cx, cy);
}
main方法测试:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("NotHelloWorld2");
frame.setSize(350, 200);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = frame.getContentPane();
contentPane.add(new FontPanel());
frame.show();
}
}
运行结果:
java代码变形font的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java fontmetrics、java代码变形font的信息别忘了在本站进行查找喔。








