企业业务开发实践项目报告.docx
大 连 东 软 信 息 学 院企业业务开发实践实验报告系 别: 信息管理系 专业班级: 信息 学 号: 151 学生姓名: 指导教师: 张奇松 2015年 8月 17 日 企业业务开发实践一、GUI基础知识习题1.图形界面1.1实验目的学习GUI,主要是Swing程序设计,包括常用窗体,标签组件和图表,常用布局管理器,常用面板,按钮组件,文本组件以及事件监听器等。1.2实验代码及运行结果(运行结果截图)1.创建一个窗体,布局如图所示,窗体大小为300,200setBounds(100, 100, 300, 200);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5);contentPane.setLayout(new BorderLayout(0, 0);setContentPane(contentPane);JLabel lblswing = new JLabel("u4F60u597DuFF0CSwing");contentPane.add(lblswing, BorderLayout.WEST);2.创建一个窗体,布局如图所示,窗体大小为200,120contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5);setContentPane(contentPane);contentPane.setLayout(null);JButton btnNewButton = new JButton("u5DE6");btnNewButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) 编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第81页 共83页btnNewButton.setBounds(31, 68, 71, 38);contentPane.add(btnNewButton);JButton btnNewButton_1 = new JButton("u4E2Du95F4");btnNewButton_1.setBounds(135, 68, 84, 38);contentPane.add(btnNewButton_1);JButton btnNewButton_2 = new JButton("u53F3");btnNewButton_2.setBounds(255, 68, 61, 38);contentPane.add(btnNewButton_2);JCheckBox checkBox = new JCheckBox("u5DE6");checkBox.setBounds(31, 161, 71, 23);contentPane.add(checkBox);JCheckBox checkBox_1 = new JCheckBox("u53F3");checkBox_1.setBounds(100, 161, 80, 23);contentPane.add(checkBox_1);JRadioButton radioButton = new JRadioButton("u5DE6");radioButton.setBounds(182, 161, 83, 23);contentPane.add(radioButton);JRadioButton radioButton_1 = new JRadioButton("u53F3");radioButton_1.setBounds(267, 161, 84, 23);contentPane.add(radioButton_1);3. 创建一个窗体,布局如图所示,窗体大小为300,120setTitle("u7EFCu5408u4F8Bu7A0B");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 300, 120);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5);setContentPane(contentPane);contentPane.setLayout(null);JList list_1 = new JList();list_1.setBounds(251, 114, 29, -17);contentPane.add(list_1);JComboBox comboBox = new JComboBox();comboBox.setModel(new DefaultComboBoxModel(new String "u9009u9879u4E00", "u9009u9879u4E8C", "u9009u9879u4E09");comboBox.setBounds(23, 22, 65, 28);contentPane.add(comboBox);JList list = new JList();list.setModel(new AbstractListModel() String values = new String "u9009u9879u4E00", "u9009u9879u4E8C", "u9009u9879u4E09"public int getSize() return values.length;public Object getElementAt(int index) return valuesindex;);list.setBounds(98, 10, 50, 61);contentPane.add(list);JList list_3 = new JList();list_3.setBounds(279, 33, -9, 51);contentPane.add(list_3);JList list_2 = new JList();list_2.setBounds(309, 114, 1, 1);contentPane.add(list_2);JScrollPane scrollPane = new JScrollPane();scrollPane.setBounds(169, 6, 50, 61);contentPane.add(scrollPane);JTextArea textArea = new JTextArea();textArea.setText("1rn2rn3rn4rn5");scrollPane.setViewportView(textArea);4. 创建一个登录界面,布局如图所示,窗体大小为300,200setTitle("u767Bu5F55u754Cu9762");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 300, 200);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5);setContentPane(contentPane);contentPane.setLayout(null);JLabel label = new JLabel("u7528u6237u540DuFF1A");label.setBounds(21, 47, 54, 15);contentPane.add(label);JLabel label_1 = new JLabel("u5BC6u7801uFF1A");label_1.setBounds(21, 72, 54, 15);contentPane.add(label_1);JTextArea textArea = new JTextArea();textArea.setBounds(68, 43, 104, 19);contentPane.add(textArea);JTextArea textArea_1 = new JTextArea();textArea_1.setBounds(68, 72, 104, 15);contentPane.add(textArea_1);JButton button = new JButton("u767Bu5F55");button.setBounds(10, 114, 93, 23);contentPane.add(button);JButton button_1 = new JButton("u91CDu7F6E");button_1.setBounds(130, 114, 93, 23);contentPane.add(button_1);5.创建一个窗体,布局如图所示,窗体大小为500,300setTitle("eu5FAEu8FDBu9500u5B58u7BA1u7406u7CFBu7EDF");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 500, 300);JMenuBar menuBar = new JMenuBar();setJMenuBar(menuBar);JMenu menu = new JMenu("u6587u4EF6");menuBar.add(menu);JMenuItem menuItem = new JMenuItem("u65B0u5EFA");menu.add(menuItem);JMenuItem menuItem_1 = new JMenuItem("u6253u5F00");menu.add(menuItem_1);JMenuItem menuItem_2 = new JMenuItem("u4FDDu5B58");menu.add(menuItem_2);JMenuItem menuItem_3 = new JMenuItem("u9000u51FA");menu.add(menuItem_3);JMenu menu_1 = new JMenu("u5546u54C1u7BA1u7406");menuBar.add(menu_1);JMenuItem mntmNewMenuItem = new JMenuItem("u5546u54C1u67E5u8BE2");menu_1.add(mntmNewMenuItem);JMenuItem menuItem_4 = new JMenuItem("u5546u54C1u6DFBu52A0");menu_1.add(menuItem_4);JMenuItem mntmNewMenuItem_1 = new JMenuItem("u5546u54C1u4FEEu6539");menu_1.add(mntmNewMenuItem_1);JMenuItem menuItem_5 = new JMenuItem("u5546u54C1u5220u9664");menu_1.add(menuItem_5);JMenu menu_2 = new JMenu("u4F9Bu5E94u5546");menuBar.add(menu_2);JMenuItem menuItem_6 = new JMenuItem("u7F16u8F91u4F9Bu5E94u5546");menu_2.add(menuItem_6);JMenu menu_3 = new JMenu("u7528u6237");menuBar.add(menu_3);JMenuItem menuItem_7 = new JMenuItem("u7F16u8F91u7528u6237");menu_3.add(menuItem_7);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5);contentPane.setLayout(new BorderLayout(0, 0);setContentPane(contentPane);2.Java基础知识回顾2.1实验目的回顾Java基础知识,包括基本数据类型,流程控制,字符串,类和对象等基础知识。2.2实验代码及运行结果(运行结果截图)1.进行下列变量说明: 初始值为0的int变量; 初始值为1000的long变量; 初始值为3.4的float变量; 初始值为34.45的double变量; 初始值为4的char变量; 初始值为true的boolean变量; package fistswing;public class helloword public static void main(String args) / TODO 自动生成的方法存根int a=0;long b=1000;float c=3.4f;double d=34.45;char e='4'boolean f=true;2.考虑下面的语句,这些语句正确吗?byte a = 100;long b = a*3+4;double c = a*3.1+b/2;int x = b; long b = x;byte a = 100;long b = a*3+4;×double c = a*3.1+b/2;×int x = b;× long b = x;×3.设有以下分段函数:编写一程序,输入自变量x的值,输出函数y的值。利用多分支if语句的方法编写程序。package fistswing;import java.util.Scanner;public class a0816 public static void main(String args) / TODO 自动生成的方法存根Scanner Number=new Scanner(System.in);int a=Number.nextInt();int y;if(a>0)System.out.println(y=1);if(a=0)System.out.println(y=0);if(a<0)System.out.println(y=-1);(2)利用if语句嵌套的方法编写程序。 package fistswing;import java.util.Scanner;public class a0816 public static void main(String args) / TODO 自动生成的方法存根Scanner Number=new Scanner(System.in);int a=Number.nextInt();int y;if(a>0)System.out.println(y=1);else if(a=0)System.out.println(y=0);elseSystem.out.println(y=0);4.输出100内所有的奇数。注:奇数就是不能被2整除的数package fistswing;public class abc public static void main(String args) / TODO 自动生成的方法存根for(int i=1;i<=100;i+)if(i%2=1)System.out.print(i+" ");5.在控制台打印出100以内所有质数。package fistswing;public class bbb public static void main(String args) / TODO 自动生成的方法存根int j;for(int i=2;i<=100;i+)j=2;while(i%j!=0)j+;if(j=i)System.out.println(i);6.求解满足12+22+32+i2<1000的i的最大值。package fistswing;public class ccc public static void main(String args)int i;int sum=0;for(i=0;i+)sum=i*i+sum;if(sum>=1000)break;System.out.print(i-1);7.请定义一个交通工具(Vehicle)的类,其中有:属性:速度 (speed),体积 (size)等等。方法:移动 (move(),设置速度(setSpeed(int speed)、设置体积(setSize(int size),加速speedUp(int speed),减速speedDown(int speed)等等。最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它设置speed,size的值,并且打印出来。另外,调用加速,减速的方法对速度进行改变。package fistswing;public class Vehicle private int speed;private int size;public int getSpeed() return speed;public void setSpeed(int speed) this.speed = speed;public int getSize() return size;public void move()System.out.println("移动了");public void setSize(int size) this.size = size;public static void main(String args) / TODO 自动生成的方法存根Vehicle v=new Vehicle();v.setSize(20);v.setSpeed(60);v.move();8.编写一个抽象类-图形类(Graphic),包含一个求图形面积的抽象方法(area())。编写图形类的子类三角形类(Triangle),属性包括三角形三条边长,使用构造方法初始化三条边,编写能够判断三角形是何种三角形(等腰、等边、直角、普通)的方法(kind())。编写比较三角形大小的方法(compare()),利用方法重载,实现比较2个三角形和3个三角形大小的功能。重新实现父类的面积方法。double p=(sideA+sideB+sideC)/2.0; double area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC); System.out.println(name+"面积是:"+area);package fistswing;public abstract class Graphic public abstract double area();package fistswing;public class Triangle extends Graphic double a,b,c; double area; public Triangle(double a,double b, double c) this.a=a; this.b=b; this.c=c; public void kind()if(a+b>c&&a+c>b&&b+c>a)if(a=b&&b=c&&c=a)System.out.println("该三角形为等边三角形") ;else if(a=b|b=c|a=c)System.out.println("该三角形为等腰三角形") ; elseSystem.out.println("不能构成三角形"); public void compare(Triangle t1,Triangle t2) double area1=t1.area(); double area2=t2.area(); if(area1>area2)System.out.println("第一个三角形大"); else if(area1=area2)System.out.println("两个三角形一样大"); elseSystem.out.println("第二个三角形大"); public static void main(Stringargs) Triangle t1=new Triangle(3,4,5); Triangle t2=new Triangle(3,3,4); pare(t1, t2); double area1=t1.area(); System.out.println(area1); Overridepublic double area() / TODO 自动生成的方法存根double p=(a+b+c)/2.0;area=Math.sqrt(p*(p-a)*(p-b)*(p-c);return area;9.创建一个名称为Vehicle的接口,在接口中添加两个方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceTest的类,在interfaceTest的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。package fistswing;import java.util.Scanner;public class dddd public static void main(String args) / TODO 自动生成的方法存根int a=new int8;Scanner Number=new Scanner(System.in);for(int i=0;i<=7;i+)ai=Number.nextInt();int min=a0,max=a0,sum=0,avg=0;for(int i=0;i<a.length;i+)if(ai>max)max=ai;if(ai<min)min=ai;sum=sum+ai;avg=(sum-max-min)/(a.length-2);System.out.print(avg);10.共有8个评审打分,统计时,去掉一个最高分和一个最低分,其余6个分数的平均分为最后得分。编写一个程序显示这个分数。package fistswing;import java.util.Scanner;public class dddd public static void main(String args) / TODO 自动生成的方法存根int a=new int8;Scanner Number=new Scanner(System.in);for(int i=0;i<=7;i+)ai=Number.nextInt();int min=a0,max=a0,sum=0,avg=0;for(int i=0;i<a.length;i+)if(ai>max)max=ai;if(ai<min)min=ai;sum=sum+ai;avg=(sum-max-min)/(a.length-2);System.out.print(avg);11.已知字符串“abcd EFG abcd”编写程序输出:该字符串的长度是多少?该字符串中第4个字符是什么?字符d在字符串中第一次出现的索引是多少?截取第10个字符到字符串末尾的子串是什么?将所有字符都转换成大写字符。3.事件处理3.1实验目的学习GUI,图形界面下的事件处理程序编写,掌握窗口事件、键盘事件、鼠标事件的程序编写。 3.2实验代码及运行结果(运行结果截图)1.实现消息对话框(JOptionPane)的几种形式。编写代码实现界面效果。btnError.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, "这是一个ERROR_MESSAGE对话框", "ERROR_MASSAGE", JOptionPane.ERROR_MESSAGE););btnError.setBounds(0, 98, 93, 23);contentPane.add(btnError);JButton btnInformaton = new JButton("INFORMATON");btnInformaton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, "这是INFORMATION_MESSAGE对话框", "INFORMATION_MASSAGE", JOptionPane.INFORMATION_MESSAGE););btnInformaton.setBounds(99, 98, 93, 23);contentPane.add(btnInformaton);JButton btnPlan = new JButton("PLAIN");btnPlan.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, "这是一个PLAIN_MESSAGE对话框", "PLAIN_MASSAGE", JOptionPane.PLAIN_MESSAGE););btnPlan.setBounds(202, 98, 93, 23);contentPane.add(btnPlan);JButton btnQuestion = new JButton("QUESTION");btnQuestion.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, "这是一个QUESTION_MESSAGE对话框", "QUESTION_MASSAGE", JOptionPane.QUESTION_MESSAGE););btnQuestion.setBounds(305, 98, 93, 23);contentPane.add(btnQuestion);JButton btnWarning = new JButton("WARNING");btnWarning.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null, "这是一个ERROR_MESSAGE对话框", "WARNING_MASSAGE", JOptionPane.WARNING_MESSAGE););btnWarning.setBounds(143, 166, 93, 23);contentPane.add(btnWarning);2.建立窗口,实现确认对话框,当点击“是”的时候,关闭程序,点击“否”的时候返回主窗口。 button.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int flag=JOptionPane.showConfirmDialog(null, "是否关闭本窗口", "温馨提示", JOptionPane.YES_NO_OPTION);if(flag=0)C2.this.dispose(););3.自定义编辑对话框(JDialog),点击按钮后显示对话框。JButton button = new JButton("u663Eu793Au6211u7684u5BF9u8BDDu6846");button.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) C3 md=new C3();md.setVisible(true););4.建立一下窗口界面,实现键盘事件,当上面的文本框输入数据,下面的文本框同时输出相同内容,当点击确定按钮时弹出消息框,输出文本框输入内容。txt_1 = new JTextField();txt_1.addKeyListener(new KeyAdapter() Overridepublic void keyPressed(KeyEvent e) String info=txt_1.getText();txt_2.setText(info););txt_1.setBounds(147, 59, 158, 21);c