实验五 Java事件处理

  • 格式:doc
  • 大小:89.50 KB
  • 文档页数:13

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五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) {

// 改变颜色