import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class TxtFont extends JFrame implements ListSelectionListener{
JLabel l=new JLabel("示例文本 Simple Text");
JList j1=new JList();
JList j2=new JList();
JScrollPane jScrollPane1=new JScrollPane();
JScrollPane jScrollPane2=new JScrollPane();
JPanel p1=new JPanel();
JPanel p2=new JPanel();
TxtFont(){
this.setLayout(new BorderLayout());
this.add(p1,BorderLayout.NORTH);
this.add(p2,BorderLayout.SOUTH);
p1.add(l);
jScrollPane1.getViewport().add(j1);
p2.add(jScrollPane1);
jScrollPane2.getViewport().add(j2);
p2.add(jScrollPane2);
GraphicsEnvironment env=GraphicsEnvironment.getLocalGraphicsEnvironment();
String fontNames[]=env.getAvailableFontFamilyNames();
j1.setListData(fontNames);
String fontSizes[]={"9","10","11","12","14","16","18","20","24","26","28","30","32"};
j2.setListData(fontSizes);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("设置文本字体");
this.setSize(350,300);
this.setVisible(true);
j1.addListSelectionListener(this);
j2.addListSelectionListener(this);
}
public void valueChanged(ListSelectionEvent e){
if(e.getSource().equals(j2))
{
int newFontSize=Integer.parseInt((String)j2.getSelectedValue());
Font f=l.getFont();
Font newFont=new Font(f.getName(),f.getStyle(),newFontSize);
l.setFont(newFont);
}
else
{
String newFontName=(String)j1.getSelectedValue();
Font f=l.getFont();
Font newFont=new Font(newFontName,f.getStyle(),f.getSize());
l.setFont(newFont);
}
}
public static void main(String[] args){
new TxtFont();
}
}