class Fontset extends JFrame implements ActionListener,ListSelectionListener
{
JFrame f=new JFrame("字体");
JDialog dialog=new JDialog(f,"字体",true);
String[] s1={"宋体","黑体","楷体","Arial","Courier","TimesRoman","Helvetica"};
String[] s2={"常规","斜体","粗体"};
String[] s3={"6","8","10","12","14","16","18","20"};
JLabel lb1=new JLabel("字体(F):");
JTextField tf1=new JTextField("黑体",5);
JList lis1=new JList(s1);
JLabel lb2=new JLabel("字形(Y):");
JTextField tf2=new JTextField("常规",5);
JList lis2=new JList(s2);
JLabel lb3=new JLabel("大小(S):");
JTextField tf3=new JTextField("12",3);
JList lis3=new JList(s3);
JButton bt1=new JButton("确定");
JButton bt2=new JButton("取消");
public Fontset()
{
Container diacp=dialog.getContentPane();
diacp.setLayout(new FlowLayout());
JPanel pal=new JPanel(new GridLayout(3,4,5,5));
Container cp=getContentPane();
Box bBox=Box.createHorizontalBox();
cp.add(bBox);
Box vBox1=Box.createVerticalBox();
lb1.setAlignmentX(Component.LEFT_ALIGNMENT);
vBox1.add(lb1);
vBox1.add(Box.createVerticalStrut(2));
tf1.setMaximumSize(new Dimension(150,5));
vBox1.add(tf1);
vBox1.add(Box.createVerticalStrut(2));
lis1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lis1.setVisibleRowCount(4);
JScrollPane scroll1=new JScrollPane(lis1);
scroll1.setBounds(10, 60,100 ,100);
vBox1.add(scroll1);
bBox.add(vBox1);
bBox.add(Box.createHorizontalStrut(5));
Box vBox2=Box.createVerticalBox();
lb2.setAlignmentX(Component.RIGHT_ALIGNMENT);
vBox2.add(lb2);
vBox2.add(Box.createVerticalStrut(2));
tf2.setMaximumSize(new Dimension(150,5));
vBox2.add(tf2);
vBox2.add(Box.createVerticalStrut(2));
lis2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lis2.setVisibleRowCount(4);
lis2.setFixedCellHeight(20);
JScrollPane scroll2=new JScrollPane(lis2);
vBox2.add(scroll2);
bBox.add(vBox2);
bBox.add(Box.createHorizontalStrut(5));
Box vBox3=Box.createVerticalBox();
lb3.setAlignmentX(Component.RIGHT_ALIGNMENT);
lb3.setAlignmentY(Component.TOP_ALIGNMENT);
vBox3.add(lb3);
vBox3.add(Box.createVerticalStrut(2));
tf3.setMaximumSize(new Dimension(100,5));
vBox3.add(tf3);
vBox3.add(Box.createVerticalStrut(2));
lis3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lis3.setVisibleRowCount(4);
lis3.setFixedCellHeight(20);
JScrollPane scroll3=new JScrollPane(lis3);
vBox3.add(scroll3);
bBox.add(vBox3);
bBox.add(Box.createHorizontalStrut(5));
Box vBox4=Box.createVerticalBox();
vBox4.add(bt1);
vBox4.add(Box.createVerticalStrut(5));
vBox4.add(bt2);
bBox.add(vBox4);
pal.add(bBox);
diacp.add(pal);
dialog.setSize(350,180);
dialog.setVisible(true);
dialog.setResizable(false);
bt1.addActionListener(this);
bt2.addActionListener(this);
lis1.addListSelectionListener(this);
lis2.addListSelectionListener(this);
lis3.addListSelectionListener(this);
}
public void valueChanged(ListSelectionEvent e)
{
int index1=lis1.getSelectedIndex();
int index2=lis2.getSelectedIndex();
int index3=lis3.getSelectedIndex();
tf1.setText(s1[index1]);
tf2.setText(s2[index2]);
tf3.setText(s3[index3]);
}
public void actionPerformed(ActionEvent exc)
{
String cmd=exc.getActionCommand();
if(cmd.equals("确定"))
{
}
if(cmd.equals("取消"))
{
f.dispose();
}
}
}
在上面的程序中为什么在JTextField(tf1)中无法显示JList中的字符
我是想设置字体对话框
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货