首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

初学java

2013-07-04 
初学java求助//设置字体,总是不成功,自己试了下,怎么弄字体就是不变,感觉setFont方法有问题import java.aw

初学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;


import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

@SuppressWarnings("serial")
public class FontTest extends JFrame {
static JTextArea ta = new JTextArea("哈哈");
static JButton b1 = new JButton("隶书");
static JButton b2 = new JButton("华文行楷");
static JButton b3 = new JButton("宋体");
public FontTest(){
setBounds(0, 0, 200, 200);
setLayout(new FlowLayout());
add(b1);
add(b2);
add(b3);
add(ta);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ta.setFont(new Font("隶书", Font.PLAIN, 20));
}
});
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ta.setFont(new Font("华文行楷", Font.PLAIN, 50));
}
});
b3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ta.setFont(new Font("宋体", Font.PLAIN, 70));
}
});

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
FontTest ft = new FontTest();
ft.setVisible(true);
}
}

热点排行
Bad Request.