内容发布更新时间 : 2024/12/28 19:58:08星期一 下面是文章的全部内容请认真阅读。
实验报告
课程 Java语言程序设计 实验名称 第八章Swing图形用户界面程序设计实验任务(一) 第 页
专业 班级 学号__ __ 姓名
实验日期: 2010 年 11 月 2 日 报告退发 (订正 、 重做)
一、实验目的
? 掌握框架、对话框、面板等容器的使用 ? 掌握标签、按钮等组件的使用
? 初步了解java图形界面事件处理机制的原理
二、实验环境
1、微型计算机一台
2、DOS或WINDOWS操作系统,j2se开发包
三、实验内容
1、 创建一个框架类实例对象app作为窗体 2、 往窗体里添加三个按钮(b1、b2、b3)、两个标签(l1,l2)、三个文本输
入框(t1、t2、t3),要求标签即包含一个图标也包含文本,且文本覆盖在图标的上面.
3、 可以在t1中输入文本信息,点击按钮b1后,标签l1的内容被设置为t1
中的文本信息.
4、 点击按钮t2时,弹出一个有模一般对话框,对话框中包含一个文本编辑
框(dt)和两个按钮(db1、db2),db1为确认按钮,db2为取消按钮,当点击对话框db1确定按钮时,将文本编辑框dt中的文本信息返回,当点击取消或直接关闭对话框,返回值为:“点击取消或关闭”.将对话框的返回值在t2中显示.
5、 点击按钮t3时,弹出一个选择输入对话框(标准对话框之一).要求将该
对话框的返回值在t3中显示.
6、 设计一个计算器,要求见第八章习题6
四、实验步骤和结果
1.在Eclipse中新建名字为test7的工程. 2.新建swingtest.java类.
3.实验内容1至5程序如下所示: // swing1.java
import java.awt.Container; import java.awt.FlowLayout;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.BoxLayout;
1 / 9
import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField;
public class swingtest extends JFrame { public static void main(String[] args) { final JFrame app=new JFrame(); // 创建按钮、标签、文本输入框这三类面板
JPanel jpbt=new JPanel(); JPanel jplabel=new JPanel(); JPanel jptextfield=new JPanel(); // 采用盒式布局管理器 // 按钮在窗体南部,标签在北部,文本输入框在中部 jpbt.setLayout(new BoxLayout(jpbt, BoxLayout.X_AXIS));//组件在容器中沿水平方向排列
JButton b1=new JButton(\ JButton b2=new JButton(\ final JButton b3=new JButton(\ jpbt.add(b1); jpbt.add(b2); jpbt.add(b3); jplabel.setLayout(new BoxLayout(jplabel, BoxLayout.X_AXIS)); final JLabel l1=new JLabel(\ImageIcon(\ JLabel l2=new JLabel(\ImageIcon(\ l1.setHorizontalTextPosition(JLabel.CENTER); l2.setHorizontalTextPosition(JLabel.CENTER); jplabel.add(l1); jplabel.add(l2); jptextfield.setLayout(new BoxLayout(jptextfield, BoxLayout.X_AXIS)); final JTextField t1=new JTextField(\ final JTextField t2=new JTextField(\ final JTextField t3=new JTextField(\ jptextfield.add(t1); jptextfield.add(t2); jptextfield.add(t3); b1.addActionListener(new ActionListener()
2 / 9
{ @Override public void actionPerformed(ActionEvent arg0) { l1.setText(t1.getText()); } });
b2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { final JDialog jd=new JDialog(app,\对话框!\
Container c=jd.getContentPane(); c.setLayout(new FlowLayout());
final JTextField jt=new JTextField(10); JButton db1=new JButton(\
db1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { t2.setText(jt.getText()); jd.dispose(); } });
JButton db2=new JButton(\
db2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { t2.setText(\点击取消或关闭\ jd.dispose(); } });
/* //当点击\直接关闭对话框\,返回值为:“点击取消或关闭”. * jd.addWindowListener(new WindowListener() { @Override public void windowOpened(WindowEvent arg0) { // TODO Auto-generated method stub } @Override
3 / 9