JAVA程序设计实验四.docx
《JAVA程序设计实验四.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计实验四.docx(16页珍藏版)》请在冰豆网上搜索。
![JAVA程序设计实验四.docx](https://file1.bdocx.com/fileroot1/2022-12/15/31fd3a3d-9dd9-46d5-a290-2292502b78b5/31fd3a3d-9dd9-46d5-a290-2292502b78b51.gif)
JAVA程序设计实验四
JAVA程序设计实验报告
姓名
王泽睿
学号
142054337
班级
1420543
成绩
设备名称及软件环境
Eclipse
实验名称
高级GUI组件
实验日期
2016.6.3
一.实验内容
1.调色板:
编写程序实现简单的调色板功能,如图1所示,在窗口中可以通过三个滚动条来输入颜色的红绿蓝分量的值,根据这些值所决定的颜色改变上方标签的背景色。
2.简单的菜单:
编写程序为窗口添加简单的菜单栏,如图2所示,在窗口中添加菜单栏,并包含图2所示的菜单项,点击“剪贴”、“复制”、“粘贴”菜单项时,能够对窗口中的文件域内的文字进行相应的操作,点击“退出”时,退出当前的应用程序。
二.重点及难点
1.熟练掌握常用的布局管理器如:
FlowLayout,BorderLayout,CardLayout,GridLayout和BoxLayout等的使用;
2.熟练掌握常用的窗口与面板组件如:
JFrame,JPanel,JScrollPane和JScrollBar,JTabbedPane等的使用以及其相关的事件响应方法;
3.熟练掌握与创建菜单相关的类如:
JMenuBar,JMenu,JMenuItem等的使用及其相关的事件响应方法;
4.掌握对话框的组件相关类的使用方法,如:
JDialog与JOptionPane类。
三.理论分析或算法分析
1.根据界面要求,分析需要用到的布局管理器及组件;
2.根据功能要求,分析需要对哪些组件的哪些事件所怎样的响应处理;
3.根据上述分析结果编写代码;
4.调试代码,完善程序。
四.实现方法(含实现思路、程序流程图和源程序列表等)
实验一代码:
importjava.awt.Color;
importjava.awt.Container;
importjava.awt.Dimension;
importjava.awt.event.AdjustmentEvent;
importjava.awt.event.AdjustmentListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.BorderFactory;
importjavax.swing.Box;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JScrollBar;
publicclassTest{
intr,g,b;
Strings,s1="",s2="",s3="";
JScrollBarsbr,sbg,sbb;
JLabellb1=newJLabel("刻度:
"),lb2=newJLabel("标签"),lb3=newJLabel("调色板"),
lbr=newJLabel("红色"),lbg=newJLabel("绿色"),lbb=newJLabel("蓝色");
publicTest(){
JFramef=newJFrame("JScrollBar");
Containercp=f.getContentPane();
BoxbaseBox=Box.createVerticalBox();
cp.add(baseBox);
Boxbox1=Box.createHorizontalBox();
box1.add(lb1);
box1.add(lb2);
baseBox.add(box1);
Boxbox3=Box.createVerticalBox();
baseBox.add(box3);
lb3.setBackground(newColor(0,0,0));
lb3.setBorder(BorderFactory.createEtchedBorder());
lb3.setOpaque(true);
lb3.setMaximumSize(newDimension(450,200));
box3.add(lb3);
sbr=newJScrollBar(JScrollBar.HORIZONTAL,10,10,0,260);
sbr.setUnitIncrement(5);
sbr.setBlockIncrement(10);
sbr.addAdjustmentListener(newDj());
box3.add(lbr);
box3.add(sbr);
sbg=newJScrollBar(JScrollBar.HORIZONTAL,10,10,0,260);
sbg.setUnitIncrement(5);
sbg.setBlockIncrement(10);
sbg.addAdjustmentListener(newDj());
box3.add(lbg);
box3.add(sbg);
sbb=newJScrollBar(JScrollBar.HORIZONTAL,10,10,0,260);
sbb.setUnitIncrement(5);
sbb.setBlockIncrement(10);
sbb.addAdjustmentListener(newDj());
box3.add(lbb);
box3.add(sbb);
f.pack();
f.setVisible(true);
f.addWindowListener(newWinLis());
}
classWinLisextendsWindowAdapter
{
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
classDjimplementsAdjustmentListener
{
@Override
publicvoidadjustmentValueChanged(AdjustmentEvente){
if((JScrollBar)e.getSource()==sbr){
r=e.getValue();
s1="red:
";
}
if((JScrollBar)e.getSource()==sbg){
g=e.getValue();
s2="green:
";
}
if((JScrollBar)e.getSource()==sbb){
b=e.getValue();
s3="blue:
";
}
s=s1+r+""+s2+g+""+s3+b;
lb2.setText(s);
lb3.setBackground(newColor(r,g,b));
}
}
publicstaticvoidmain(String[]args){
@SuppressWarnings("unused")
Testtest=newTest();
}
}
sbr=newJScrollBar(JScrollBar.HORIZONTAL,10,10,0,260);
sbr.setUnitIncrement(5);
sbr.setBlockIncrement(10);
sbr.addAdjustmentListener(newDj());
box3.add(lbr);
box3.add(sbr);
sbg=newJScrollBar(JScrollBar.HORIZONTAL,10,10,0,260);
sbg.setUnitIncrement(5);
sbg.setBlockIncrement(10);
sbg.addAdjustmentListener(newDj());
box3.add(lbg);
box3.add(sbg);
sbb=newJScrollBar(JScrollBar.HORIZONTAL,10,10,0,260);
sbb.setUnitIncrement(5);
sbb.setBlockIncrement(10);
sbb.addAdjustmentListener(newDj());
box3.add(lbb);
box3.add(sbb);
f.pack();
f.setVisible(true);
f.addWindowListener(newWinLis());
}
classWinLisextendsWindowAdapter
{
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
classDjimplementsAdjustmentListener
{
@Override
publicvoidadjustmentValueChanged(AdjustmentEvente){
if((JScrollBar)e.getSource()==sbr){
r=e.getValue();
s1="red:
";
}
if((JScrollBar)e.getSource()==sbg){
g=e.getValue();
s2="green:
";
}
if((JScrollBar)e.getSource()==sbb){
b=e.getValue();
s3="blue:
";
}
s=s1+r+""+s2+g+""+s3+b;
lb2.setText(s);
lb3.setBackground(newColor(r,g,b));
}
}
publicstaticvoidmain(String[]args){
@SuppressWarnings("unused")
Testtest=newTest();
}
}
s1="red:
";
}
if((JScrollBar)e.getSource()==sbg){
g=e.getValue();
s2="green:
";
}
if((JScrollBar)e.getSource()==sbb){
b=e.getValue();
s3="blue:
";
}
s=s1+r+""+s2+g+""+s3+b;
lb2.setText(s);
lb3.setBackground(newColor(r,g,b));
}
}
publicstaticvoidmain(String[]args){
@SuppressWarnings("unused")
Testtest=newTest();
}
}
实验二代码:
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JScrollPane;
importjavax.swing.JTextArea;
importjavax.swing.KeyStroke;
publicclassTestextendsJFrame{
JTextAreatf=newJTextArea();
JMenuBarbar=newJMenuBar();
JMenumenu=newJMenu("文件");
JMenuItemnewf=newJMenuItem("新建");
JMenuItemopen=newJMenuItem("打开");
JMenuItemclose=newJMenuItem("关闭");
JMenuItemquit=newJMenuItem("退出");
publicTest(){
//TODOAuto-generatedconstructorstub
getContentPane().add(newJScrollPane(tf));
tf.setEditable(false);
bar.setOpaque(true);
setJMenuBar(bar);
menu.add(newf);
//menu.setAccelerator(KeyStroke.getKeyStroke("T"));
menu.add(open);
menu.add(close);
menu.addSeparator();
menu.add(quit);
bar.add(menu);
newf.addActionListener(newAc());
open.addActionListener(newAc());
close.addActionListener(newAc());
quit.addActionListener(newAc());
addWindowListener(newWinLis());
}
classAcimplementsActionListener
{
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==newf){
tf.setText("新建");
}
if(e.getSource()==open){
tf.setText("打开");
}
if(e.getSource()==close){
tf.setText("关闭");
}
if(e.getSource()==quit){
tf.setText("退出");
}
}
}
classWinLisextendsWindowAdapter
{
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
publicstaticvoidmain(String[]args)
{
JFramef=newTest();
f.setSize(400,200);
f.setVisible(true);
}
}
if(e.getSource()==open){
tf.setText("打开");
}
if(e.getSource()==close){
tf.setText("关闭");
}
if(e.getSource()==quit){
tf.setText("退出");
}
}
}
classWinLisextendsWindowAdapter
{
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
publicstaticvoidmain(String[]args)
{
JFramef=newTest();
f.setSize(400,200);
f.setVisible(true);
}
}
五.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
实验一:
实验二
五.结论
通过本次实验,学习了java中组件的名称、类型、所属容器、属性设置情况等内容,学会了响应的事件、事件监听者对象及事件响应的处理方法等。
报告提交日期
JAVA程序设计实验报告
姓名
李杰
学号
132054120
指导教师
邢珍珍
成绩
设备名称及软件环境
Win7Eclipse
实验名称
高级GUI组件
实验日期
2016.6.3
一.实验内容
1.调色板:
编写程序实现简单的调色板功能,如图1所示,在窗口中可以通过三个滚动条来输入颜色的红绿蓝分量的值,根据这些值所决定的颜色改变上方标签的背景色。
2.简单的菜单:
编写程序为窗口添加简单的菜单栏,如图2所示,在窗口中添加菜单栏,并包含图2所示的菜单项,点击“剪贴”、“复制”、“粘贴”菜单项时,能够对窗口中的文件域内的文字进行相应的操作,点击“退出”时,退出当前的应用程序。
二.重点及难点
5.熟练掌握常用的布局管理器如:
FlowLayout,BorderLayout,CardLayout,GridLayout和BoxLayout等的使用;
6.熟练掌握常用的窗口与面板组件如:
JFrame,JPanel,JScrollPane和JScrollBar,JTabbedPane等的使用以及其相关的事件响应方法;
7.熟练掌握与创建菜单相关的类如:
JMenuBar,JMenu,JMenuItem等的使用及其相关的事件响应方法;
8.掌握对话框的组件相关类的使用方法,如:
JDialog与JOptionPane类。
三.理论分析或算法分析
5.根据界面要求,分析需要用到的布局管理器及组件;
6.根据功能要求,分析需要对哪些组件的哪些事件所怎样的响应处理;
7.根据上述分析结果编写代码;
8.调试代码,完善程序。
JAVA程序设计实验报告
姓名
陈敏
学号
132054103
指导教师
邢珍珍
成绩
设备名称及软件环境
Win7Eclipse
实验名称
高级GUI组件
实验日期
2016.6.3
一.实验内容
1.调色板:
编写程序实现简单的调色板功能,如图1所示,在窗口中可以通过三个滚动条来输入颜色的红绿蓝分量的值,根据这些值所决定的颜色改变上方标签的背景色。
2.简单的菜单:
编写程序为窗口添加简单的菜单栏,如图2所示,在窗口中添加菜单栏,并包含图2所示的菜单项,点击“剪贴”、“复制”、“粘贴”菜单项时,能够对窗口中的文件域内的文字进行相应的操作,点击“退出”时,退出当前的应用程序。
二.重点及难点
9.熟练掌握常用的布局管理器如:
FlowLayout,BorderLayout,CardLayout,GridLayout和BoxLayout等的使用;
10.熟练掌握常用的窗口与面板组件如:
JFrame,JPanel,JScrollPane和JScrollBar,JTabbedPane等的使用以及其相关的事件响应方法;
11.熟练掌握与创建菜单相关的类如:
JMenuBar,JMenu,JMenuItem等的使用及其相关的事件响应方法;
12.掌握对话框的组件相关类的使用方法,如:
JDialog与JOptionPane类。
三.理论分析或算法分析
9.根据界面要求,分析需要用到的布局管理器及组件;
10.根据功能要求,分析需要对哪些组件的哪些事件所怎样的响应处理;
11.根据上述分析结果编写代码;
12.调试代码,完善程序。
JAVA程序设计实验报告
姓名
甘文俊
学号
132054125
指导教师
邢珍珍
成绩
设备名称及软件环境
Win7Eclipse
实验名称
高级GUI组件
实验日期
2016.6.3
一.实验内容
1.调色板:
编写程序实现简单的调色板功能,如图1所示,在窗口中可以通过三个滚动条来输入颜色的红绿蓝分量的值,根据这些值所决定的颜色改变上方标签的背景色。
2.简单的菜单:
编写程序为窗口添加简单的菜单栏,如图2所示,在窗口中添加菜单栏,并包含图2所示的菜单项,点击“剪贴”、“复制”、“粘贴”菜单项时,能够对窗口中的文件域内的文字进行相应的操作,点击“退出”时,退出当前的应用程序。
二.重点及难点
13.熟练掌握常用的布局管理器如:
FlowLayout,BorderLayout,CardLayout,GridLayout和BoxLayout等的使用;
14.熟练掌握常用的窗口与面板组件如:
JFrame,JPanel,JScrollPane和JScrollBar,JTabbedPane等的使用以及其相关的事件响应方法;
15.熟练掌握与创建菜单相关的类如:
JMenuBar,JMenu,JMenuItem等的使用及其相关的事件响应方法;
16.掌握对话框的组件相关类的使用方法,如:
JDialog与JOptionPane类。
三.理论分析或算法分析
13.根据界面要求,分析需要用到的布局管理器及组件;
14.根据功能要求,分析需要对哪些组件的哪些事件所怎样的响应处理;
15.根据上述分析结果编写代码;
16.调试代码,完善程序。
JAVA程序设计实验报告
姓名
刘创
学号
132054137
指导教师
邢珍珍
成绩
设备名称及软件环境
Win7Eclipse
实验名称
高级GUI组件
实验日期
2016.6.3
一.实验内容
1.调色板:
编写程序实现简单的调色板功能,如图1所示,在窗口中可以通过三个滚动条来输入颜色的红绿蓝分量的值,根据这些值所决定的颜色改变上方标签的背景色。