图形界面加载中字体设置问题?
import java.awt.*;import java.awt.event.*;
import java.applet.*;
public class javaapplet extends Applet {
public void paint (Graphics screen){
screen.setColor(Color.red);
screen.setFont());//该如何设置????
screen.drawString("hello java !",40,30);
}
}
----------------解决方案--------------------------------------------------------
先创建一个Font
Font(String name, int style, int size)
根据指定名称、样式和磅值大小,创建一个新 Font。
----------------解决方案--------------------------------------------------------
回复 2# freish 的帖子
String name, int style?具体的是什么???麻烦了,谢谢!!
----------------解决方案--------------------------------------------------------
[bo][un]liun5210[/un] 在 2008-6-29 16:20 的发言:[/bo]
String name, int style?
具体的是什么???麻烦了,谢谢!!
String name, int style?
具体的是什么???麻烦了,谢谢!!
name是你系统中有的字体,XP下是 WINDOWS\Fonts 文件夹里的字体
style是有BOLD (粗体)、ITALIC (斜体)、PLAIN (普通等样式),他们都是Font类的字段
查找API文档中的Font就知道怎么用了
[[it] 本帖最后由 freish 于 2008-6-29 18:36 编辑 [/it]]
----------------解决方案--------------------------------------------------------
程序代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GetSystemFont extends JFrame{
private JComboBox box;
private Container container;
private String str[];
private GraphicsEnvironment environment; //该类中又获取系统字体的方法;
private JLabel tipLabel;
public GetSystemFont(){
super("获取系统字体");
container = getContentPane();
tipLabel = new JLabel("系统字体有:");
container.add(tipLabel);
environment = GraphicsEnvironment.getLocalGraphicsEnvironment();//GraphicsEnvironment是一个抽象类,不能实例化,只能用其中的静态方法获取一个实例
str = environment.getAvailableFontFamilyNames();//获取系统字体
box = new JComboBox(str);
//为box注册ItemListener监听器
box.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event){
if(event.getStateChange() == event.SELECTED){
int style = tipLabel.getFont().getStyle(); //获取当前字体的类型
int size = tipLabel.getFont().getSize();//获取当前字体的大小
tipLabel.setFont(new Font(str[box.getSelectedIndex()],style,size));//改变tipLabel的字体,但不改变大小和类型
}
}
}
);
container.setLayout(new FlowLayout());
container.add(box);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
pack();
setResizable(false);
//是窗口屏幕居中
Toolkit kit = Toolkit.getDefaultToolkit();//抽象类,通过静态方法获取实例
Dimension frameSize = new Dimension(),screenSize = kit.getScreenSize(); //获取屏幕的大小
getSize(frameSize); //获取窗口大小
setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
}
public static void main(String[] args)
{
GetSystemFont test = new GetSystemFont();
}
}
import java.awt.*;
import java.awt.event.*;
public class GetSystemFont extends JFrame{
private JComboBox box;
private Container container;
private String str[];
private GraphicsEnvironment environment; //该类中又获取系统字体的方法;
private JLabel tipLabel;
public GetSystemFont(){
super("获取系统字体");
container = getContentPane();
tipLabel = new JLabel("系统字体有:");
container.add(tipLabel);
environment = GraphicsEnvironment.getLocalGraphicsEnvironment();//GraphicsEnvironment是一个抽象类,不能实例化,只能用其中的静态方法获取一个实例
str = environment.getAvailableFontFamilyNames();//获取系统字体
box = new JComboBox(str);
//为box注册ItemListener监听器
box.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event){
if(event.getStateChange() == event.SELECTED){
int style = tipLabel.getFont().getStyle(); //获取当前字体的类型
int size = tipLabel.getFont().getSize();//获取当前字体的大小
tipLabel.setFont(new Font(str[box.getSelectedIndex()],style,size));//改变tipLabel的字体,但不改变大小和类型
}
}
}
);
container.setLayout(new FlowLayout());
container.add(box);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
pack();
setResizable(false);
//是窗口屏幕居中
Toolkit kit = Toolkit.getDefaultToolkit();//抽象类,通过静态方法获取实例
Dimension frameSize = new Dimension(),screenSize = kit.getScreenSize(); //获取屏幕的大小
getSize(frameSize); //获取窗口大小
setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
}
public static void main(String[] args)
{
GetSystemFont test = new GetSystemFont();
}
}
----------------解决方案--------------------------------------------------------
回复 5# freish 的帖子
非常感谢!! ----------------解决方案--------------------------------------------------------