日期:2014-05-20  浏览次数:20784 次

初学java求助
//设置字体,总是不成功,自己试了下,怎么弄字体就是不变,感觉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;