//设置字体,总是不成功,自己试了下,怎么弄字体就是不变,感觉setFont方法有问题
import java.awt.*;
import java.awt.event.*;
import java.awt.Component;
class H extends Frame implements ActionListener
{
static H f1=new H();
static TextArea ta=new TextArea();
static Button b1=new Button("黑体");
static Button b2=new Button("楷体");
static Button b3=new Button("宋体");
public static void main (String as[])
{
b1.addActionListener(f1);
b2.addActionListener(f1);
b3.addActionListener(f1);
f1.setBounds(0,0,200,200);
f1.setLayout(new FlowLayout());
f1.add(b1);
f1.add(b2);
f1.add(b3);
f1.add(ta);
f1.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Button b=(Button)e.getSource();
if(b==b1)
ta.setFont(new Font("黑体",Font.PLAIN,20));
else if(b==b2)
ta.setFont(new Font("楷体",Font.PLAIN,20));
else
ta.setFont(new Font("宋体",Font.PLAIN,20));
}
}
java
------解决方案--------------------
把代码里面的awt包内容换成swing的就可以了,即把Button和TextArea换成JButton和JTextArea。AWT组件只支持逻辑字体,能改变大小。swing就能修改字体了。
package csdn.programbbs_605;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;