📄 ch9_22.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class ch9_22 extends JFrame implements ItemListener,ActionListener
{
String [] fontsize={"12","14","16","18","20","22","24","26","28"};
String defaultMessage="请选择或直接输入文字大小";
Font font=null;
JComboBox jcb=null;
JLabel label=null;
public ch9_22()
{
super("测试下拉列表框");
setBounds(20,20,600,400);
getContentPane().setLayout(null);
}
public static void main(String [] args)
{
ch9_22 f=new ch9_22();
f.font=new Font("SansSerif",Font.PLAIN,12);
f.label=new JLabel("中国人民");
f.label.setBounds(300,20,80,50);
f.label.setFont(f.font);
JComboBox jcb=new JComboBox(f.fontsize);
jcb.setBorder(BorderFactory.createTitledBorder("列表"));
jcb.setBounds(20,20,180,50);
jcb.setEditable(true);
ComboBoxEditor editor=jcb.getEditor();
jcb.configureEditor(editor,f.defaultMessage);
jcb.addItemListener(f);
jcb.addActionListener(f);
f.getContentPane().add(jcb);
f.getContentPane().add(f.label);
f.show();
}
public void actionPerformed(ActionEvent e)
{
boolean isaddItem=true;
int fontsize=0;
String tmp=(String)jcb.getSelectedItem();
try
{
fontsize=Integer.parseInt(tmp);
for(int i=0;i<jcb.getItemCount();i++)
{
if(jcb.getItemAt(i).equals(tmp))
{
isaddItem=false;
break;
}
}
if(isaddItem)
{
jcb.insertItemAt(tmp,0);
}
font=new Font("SansSerif",Font.PLAIN,fontsize);
label.setFont(font);
}
catch(NumberFormatException ne)
{
jcb.getEditor().setItem("你输入的为非整数,请从新输入");
}
}
public void itemStateChanged(ItemEvent e)
{
if(e.getStateChange()==ItemEvent.SELECTED)
{
int fontsize=0;
try
{
fontsize=Integer.parseInt((String)e.getItem());
label.setText("目前字形大小:"+fontsize);
}catch(NumberFormatException ne)
{
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -