2011年3月26日
<Java> JVA302-字體設定選擇器
/*
設定文字屬性,
1、建立選項鈕設定不同的對齊方式,但只能選取其中一種對齊方式。
2、建立核取方塊設定「粗體」或「斜體」。
3、建立下立選項設定字體大小
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JVA302 extends JFrame implements ItemListener
{
JTextField tf;
JCheckBox boldBox, italicBox;
int bold=Font.PLAIN, italic=Font.PLAIN;
int align=JTextField.LEFT, fonts=14;
private JRadioButton leftRadio, centerRadio, rightRadio;
private ButtonGroup buttonGroup;
//下拉選項
private String name[] = {"14", "16", "18", "20"};
private JComboBox comboBox = new JComboBox(name);
public JVA302()
{
super("字體設定選擇器");
Container c = getContentPane();
c.setLayout(new FlowLayout());
tf=new JTextField("Just a font Tester", 20);
tf.setFont(new Font("Serif",Font.PLAIN,14));
//選項鈕
/*
請在此處加上程式碼,您必須
1、設定核取方塊
*/
buttonGroup = new ButtonGroup();
leftRadio = new JRadioButton("靠左對齊",true);
centerRadio = new JRadioButton("置中對齊");
rightRadio = new JRadioButton("靠右對齊");
buttonGroup.add(leftRadio);
buttonGroup.add(centerRadio);
buttonGroup.add(rightRadio);
//核取方塊
/*
請在此處加上程式碼,您必須
1、設定核取方塊
*/
boldBox = new JCheckBox("粗體");
italicBox = new JCheckBox("斜體");
//設定Listener
addWindowListener(new MyListener());
boldBox.addItemListener(this);
italicBox.addItemListener(this);
leftRadio.addItemListener(this);
centerRadio.addItemListener(this);
rightRadio.addItemListener(this);
comboBox.setMaximumRowCount(3);
comboBox.addItemListener(this);
//加入介面
/*
請在此處加上程式碼,您必須
1、顯示文字欄位
2、顯示選項鈕
3、顯示核取方塊
4、顯示下拉選單
*/
JPanel jpRadio = new JPanel();
jpRadio.setLayout(new FlowLayout(FlowLayout.CENTER));
JPanel jpCheck = new JPanel();
jpCheck.setLayout(new FlowLayout(FlowLayout.CENTER));
c.add(tf);
jpRadio.add(leftRadio);
jpRadio.add(centerRadio);
jpRadio.add(rightRadio);
jpCheck.add(boldBox);
jpCheck.add(italicBox);
jpCheck.add(comboBox);
c.add(jpRadio);
c.add(jpCheck);
//設定大小,顯示JFrame
setSize(280, 150);
setVisible(true);
}
//處理程式關閉
class MyListener extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(1);
}
}
public void itemStateChanged(ItemEvent e)
{
/*
請在此處加上程式碼,您必須
1、設定粗體、斜體處理程式
2、設定對齊處理程式
3、設定字體大小處理程式
4、依不同的設定值顯示文字
*/
if(e.getSource()==leftRadio){
align = JTextField.LEFT;
}else if(e.getSource() == centerRadio){
align = JTextField.CENTER;
}else if(e.getSource() == rightRadio){
align = JTextField.RIGHT;
}
if(e.getSource() == boldBox){
if(e.getStateChange() == ItemEvent.SELECTED){
bold = Font.BOLD;
}else if(e.getStateChange() == ItemEvent.DESELECTED){
bold = Font.PLAIN;
}
}else if(e.getSource() == italicBox){
if(e.getStateChange() == ItemEvent.SELECTED){
italic = Font.ITALIC;
}else if(e.getStateChange() == ItemEvent.DESELECTED){
italic = Font.PLAIN;
}
}
if(e.getSource() == comboBox){
fonts = Integer.parseInt((String)comboBox.getSelectedItem());
}
tf.setHorizontalAlignment(align);
tf.setFont(new Font("Serif", (bold + italic) , fonts));
}
public static void main( String args[] )
{
new JVA302();
}
}
相關函式:
Font(String name, int style , int size)
參考網站:
Java A+
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言