您的位置:首页 > 编程语言 > Java开发

Java源码-字体的定义与修改

2016-07-24 00:27 537 查看
以下代码摘录于Java how to program, 第10版第12章。

代码如下:

//Fig. 12.19: RadioButtonFrame.java
//Creating radio buttons using ButtonGroup and JRadioButton.
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;

public class RadioButtonFrame extends JFrame
{
private JTextField textField; // used to display font changes
private Font plainFont; // font for plain text
private Font boldFont; // font for bold text
private Font italicFont; // font for italic text
private Font boldItalicFont; // font for bold and italic text
private JRadioButton plainJRadioButton; // selects plain text
private JRadioButton boldJRadioButton; // selects bold text
private JRadioButton italicJRadioButton; // selects italic text
private JRadioButton boldItalicJRadioButton; // bold and italic
private ButtonGroup radioGroup; // buttongroup to hold radio buttons

// RadioButtonFrame constructor adds JRadioButtons to JFrame
public RadioButtonFrame()
{
super("RadioButton Test");
setLayout(new FlowLayout());

textField = new JTextField("请选择字体,查看效果。", 25);
add(textField); // add textField to JFrame

// create radio buttons
plainJRadioButton = new JRadioButton("Plain", true);
boldJRadioButton = new JRadioButton("Bold", false);
italicJRadioButton = new JRadioButton("Italic", false);
boldItalicJRadioButton = new JRadioButton("Bold/Italic", false);
add(plainJRadioButton); // add plain button to JFrame
add(boldJRadioButton); // add bold button to JFrame
add(italicJRadioButton); // add italic button to JFrame
add(boldItalicJRadioButton); // add bold and italic button

// create logical relationship between JRadioButtons
radioGroup = new ButtonGroup(); // create ButtonGroup
radioGroup.add(plainJRadioButton); // add plain to group
radioGroup.add(boldJRadioButton); // add bold to group
radioGroup.add(italicJRadioButton); // add italic to group
radioGroup.add(boldItalicJRadioButton); // add bold and italic

// create font objects
plainFont = new Font("Serif", Font.PLAIN, 14);
boldFont = new Font("Serif", Font.BOLD, 14);
italicFont = new Font("Serif", Font.ITALIC, 14);
boldItalicFont = new Font("Serif", Font.BOLD + Font.ITALIC, 14);
textField.setFont(plainFont);

// register events for JRadioButtons
plainJRadioButton.addItemListener(
new RadioButtonHandler(plainFont));
boldJRadioButton.addItemListener(
new RadioButtonHandler(boldFont));
italicJRadioButton.addItemListener(
new RadioButtonHandler(italicFont));
boldItalicJRadioButton.addItemListener(
new RadioButtonHandler(boldItalicFont));
}

// private inner class to handle radio button events
private class RadioButtonHandler implements ItemListener
{
private Font font; // font associated with this listener

public RadioButtonHandler(Font f)
{
font = f;
}

// handle radio button events
@Override
public void itemStateChanged(ItemEvent event)
{
textField.setFont(font);
}
}
} // end class RadioButtonFrame


测试类代码如下:

//Fig. 12.20: RadioButtonTest.java
//Testing RadioButtonFrame.
import javax.swing.JFrame;

public class RadioButtonTest
{
public static void main(String[] args)
{
RadioButtonFrame radioButtonFrame = new RadioButtonFrame();
radioButtonFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
radioButtonFrame.setSize(300, 100);
radioButtonFrame.setVisible(true);
}
} // end class RadioButtonTest


运行截屏:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: