实验五 Java事件处理
- 格式:doc
- 大小:89.50 KB
- 文档页数:13
实验五Java事件处理
实验目的
1.掌握Java语言中的事件处理方法
2.掌握Java语言中事件源、监视器和处理事件的接口的概念
实验内容
1.图形用户界面设计程序(ArtFont.java)
在实验三第1题的基础上,添加事件处理机制,并逐步完善程序功能。分别用ArtFont 类的对象做监视器和匿名内部类的对象做监视器实现。
要求实现如下功能:
●当在文本框中输入文字后回车,在文本域中显示输入的文字。
●当分别选择粗体和斜体复选框时,文本域中的文字分别显示粗体和斜体样式。
●当点击颜色按钮时,出现颜色选择对话框,选择需要的颜色,按确定按钮后,
按钮的前景色和文本域的前景色设置为选定的颜色。
●当选择字体样式下拉框中的某一字体样式时,文本域中的文字设置为指定的字
体样式。
●当选择字体大小下拉框中的某一字体大小时,文本域中的文字设置为指定的字
体大小。
●当选择窗体样式下拉框中的某一窗体效果时,窗体外观改变为指定的窗体外
观。
图1 程序界面运行效果
精选文库
package Sy;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ArtFont extends JFrame {
static ArtFont artFont;
JComboBox fontType;//字体样式下拉框
JComboBox fontSize;//字体大小下拉框
JComboBox windowStyle;//窗体样式下拉框
JCheckBox boldBx;// 粗体按钮
JCheckBox italicBx;// 斜体按钮
JButton colorBtn;// 颜色按钮
String[] fontNames;// 字体名称
String[] fontSizes;// 字体大小
JLabel label;// 输入提示标签
JTextField inputText;// 文字输入框
JTextArea txtArea;// 文字显示区
JPanel northPanel;// 字体设置
JPanel centerPanel;// 显示效果区
JPanel southPanel;//样式设置
Font font;
int boldStyle, italicStyle;
int fontSizeStyle;
String fontNameStyle;
Color colorStyle = Color.black;// 设置字体的默认颜色为黑色
String[] style = { "默认显示效果", "Windows显示效果", "Unix显示效果" };
public ArtFont() {
super("字体设置");
// 设置默认字体
boldStyle = 0;
italicStyle = 0;
fontSizeStyle = 10;
fontNameStyle = "宋体";
font = new Font(fontNameStyle, boldStyle + italicStyle, fontSizeStyle);
northPanel = getNorthPanel();
centerPanel = getCenterPanel();
southPanel = getSouthPanel();
// 设置容器
Container container = getContentPane();
container.setLayout(new BorderLayout());
add(northPanel , BorderLayout.NORTH);//将northPanel添加到窗体的北部
add(centerPanel , BorderLayout.CENTER);//将centerPanel添加到窗体的中部add(southPanel , BorderLayout.SOUTH);//将southPanel添加到窗体的南部setSize(500, 300);
setLocationRelativeTo(null);//将窗体位于屏幕的中央
setVisible(true);
}
private JPanel getNorthPanel() {
JPanel panel = new JPanel();
label = new JLabel("输入");
inputText = new JTextField(10);
boldBx = new JCheckBox("粗体");
italicBx = new JCheckBox("斜体");
colorBtn = new JButton("颜色");
inputText.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 文本输入
txtArea.setText(inputText.getText());
}
});
boldBx.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// 加粗
if(e.getStateChange() == ItemEvent.SELECTED)
boldStyle = 1;
else
boldStyle = 0;
font = new Font(fontNameStyle, boldStyle + italicStyle, fontSizeStyle);
txtArea.setFont(font);
}
});
italicBx.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// 斜体
if(e.getStateChange() == ItemEvent.SELECTED)
italicStyle = 1;
else
italicStyle = 0;
font = new Font(fontNameStyle, boldStyle + italicStyle, fontSizeStyle);
txtArea.setFont(font);
}
});
colorBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 改变颜色