java实验报告实验六Java图形用户界面.docx

上传人:小飞机 文档编号:3159553 上传时间:2023-03-11 格式:DOCX 页数:28 大小:43.31KB
返回 下载 相关 举报
java实验报告实验六Java图形用户界面.docx_第1页
第1页 / 共28页
java实验报告实验六Java图形用户界面.docx_第2页
第2页 / 共28页
java实验报告实验六Java图形用户界面.docx_第3页
第3页 / 共28页
java实验报告实验六Java图形用户界面.docx_第4页
第4页 / 共28页
java实验报告实验六Java图形用户界面.docx_第5页
第5页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《java实验报告实验六Java图形用户界面.docx》由会员分享,可在线阅读,更多相关《java实验报告实验六Java图形用户界面.docx(28页珍藏版)》请在三一办公上搜索。

1、java实验报告实验六Java图形用户界面信 息 工 程 学 院1 Java程序设计 实习报告 JAVA图形用户界面 实验六Java图形用户界面 1实验目的 掌握图形用户界面基本组件。 了解如何使用布局管理器对组件进行管理。 掌握Java事件处理机制。 2实验内容 实验题1 编写一个模拟计算器的程序,使用面板和网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式和结果显示在文本框中。 运行结果: 实验报告的内容与格式按任课教师的要求书写。 加法: 主要代码: private void initComponents setStub(nu

2、ll); jButton1 = new javax.swing.JButton; jButton2 = new javax.swing.JButton; jButton3 = new javax.swing.JButton; jButton4 = new javax.swing.JButton; jButton5 = new javax.swing.JButton; jButton6 = new javax.swing.JButton; jButton7 = new javax.swing.JButton; jButton8 = new javax.swing.JButton; jButton

3、9 = new javax.swing.JButton; jButton10 = new javax.swing.JButton; jButton11 = new javax.swing.JButton; jButton12 = new javax.swing.JButton; jButton13 = new javax.swing.JButton; jButton14 = new javax.swing.JButton; jButton15 = new javax.swing.JButton; jTextField1 = new javax.swing.JTextField; jButton

4、1.setText(3); jButton1.addActionListener(new java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton2.setText(1); jButton2.addActionListener(new ); jButton1ActionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionE

5、vent evt) jButton3.setText(5); jButton3.addActionListener(new ); jButton2ActionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton4.setText(2); jButton4.addActionListener(new ); jButton3ActionPerformed(evt); java.awt.event.ActionListener

6、public void actionPerformed(java.awt.event.ActionEvent evt) jButton5.setText(6); ); jButton4ActionPerformed(evt); jButton5.addActionListener(new java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton6.setText(8); jButton6.addActionListener(new ); jButton5Ac

7、tionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton7.setText(4); jButton7.addActionListener(new ); jButton6ActionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton8.setTex

8、t(7); jButton8.addActionListener(new ); jButton7ActionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton9.setText(0); jButton9.addActionListener(new ); jButton8ActionPerformed(evt); java.awt.event.ActionListener public void actionPerform

9、ed(java.awt.event.ActionEvent evt) jButton10.setText(9); jButton10.addActionListener(new ); jButton9ActionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton11.setText(u00f7); jButton11.addActionListener(new ); jButton10ActionPerformed(ev

10、t); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton12.setText(u00d7); jButton12.addActionListener(new ); jButton11ActionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) jButton13.setText(-); jB

11、utton13.addActionListener(new ); jButton12ActionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) ); jButton13ActionPerformed(evt); jButton14.setText(+); jButton14.addActionListener(new java.awt.event.ActionListener public void actionPerformed(

12、java.awt.event.ActionEvent evt) jButton15.setText(=); jButton15.addActionListener(new ); jButton14ActionPerformed(evt); java.awt.event.ActionListener public void actionPerformed(java.awt.event.ActionEvent evt) ); jButton15ActionPerformed(evt); 实验题2 编写一个程序,有一个窗口,该窗口为BorderLayout布局。窗口的中心添加一个Panel容器:pC

13、enter,pCenter的布局是7行7列的GridLayout布局,pCenter的中放置49个标签,用来显示日历。窗口北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个按钮:nextMonth和previousMonth按钮,单击nextMonth,可以显示当前月的下一个月的日历;单击previousMonth按钮,可以显示当前月的上一个月的日历。窗口的南面添加一个Panel容器pSouth,其布局是FlowLayout布局,pSouth中放置一个标签用来显示一些信息。运行结果如图所示。 图3.8 运行结果图 基本要求 编写完整程序。 运行结果:

14、 主要代码: private JLabel buttonDay = new JLabel42; private JButton buttonWeek = new JButton7; private JLabel labelMonth = new JLabel; private JButton buttonLastMonth = new JButton; private JButton buttonNextMonth = new JButton; private JPanel pCenter=new JPanel; private JPanel pNorth=new JPanel; privat

15、e JPanel pSouth=new JPanel; private JLabel time=new JLabel; public Calender super(Calender); setBounds(250, 200, 600, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); buttonLastMonth.setText(上月); buttonLastMonth.addActionListener(this); pNorth.add(buttonLastMonth); buttonNextMonth.setText(下月);

16、buttonNextMonth.addActionListener(this); pNorth.add(buttonNextMonth); getContentPane.add(pNorth,BorderLayout.NORTH); getContentPane.add(pCenter,BorderLayout.CENTER); pCenter.setLayout(new GridLayout(7,7); for (int i = 0; i 7; i+) buttonWeeki = new JButton; buttonWeeki.setText(stringWeekCni); pCenter

17、.add(buttonWeeki); for (int i = 0; i 42; i+) buttonDayi = new JLabel; buttonDayi.setText( ); pCenter.add(buttonDayi); 实验题3 实现如图3.9所示的布局方式 功能:前两个文本框输入整型数据。第三个文本框存放前两个文本框数据之和。 要求如下: 第一个文本框的数据是100,200,如果超出该范围弹出对话框提示用户。弹出提示对话框的时刻是光标离开第一个文本框时。 图3.9 求和 运行结果: 检验输入数据范围: 主要代码: class MouseHander extends Mouse

18、Adapter public MouseHander(JTextField c) current=c; public void mousePressed(MouseEvent event) if(current=result) double firstNumber=Double.parseDouble(first.getText); double secondNumber=Double.parseDouble(second.getText); double Result=firstNumber+secondNumber; result.setText(+Result); else curren

19、t.setText(); private JTextField current; class MouseMotionHander extends MouseMotionAdapter public void mouseMoved(MouseEvent event) double number=Double.parseDouble(first.getText); if(number200) int type=JOptionPane.ERROR_MESSAGE; JOptionPane.showMessageDialog(null,new String(输入数字必须在100200之间),提示, 2

20、); 实验题4 编写一个显示图像文件的Application应用程序,在该程序JFrame窗体中添加JPanel面板和一个JToolBar工具栏,在工具栏上添加一个JButton“打开”按扭,单击“打开”按纽,弹出JFileChooser文件打开选择对话框,选择图像文件后将其显示在JPnel面板中。 运行结果: 主要代码: public class NewJFrame extends javax.swing.JFrame private JPanel jPanel1; private JPanel jPanel2; private JButton jButton2; private JButt

21、on jButton1; private String filePath = ; /* * Auto-generated main method to display this JFrame */ public static void main(String args) public NewJFrame private void initGUI setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); jPanel1 = new JPanel(true); FlowLayout jPanel1Layout = new FlowLay

22、out; getContentPane.add(jPanel1, try super; initGUI; SwingUtilities.invokeLater(new Runnable ); public void run NewJFrame inst = new NewJFrame; inst.setLocationRelativeTo(null); inst.setVisible(true); BorderLayout.NORTH); jPanel1.setPreferredSize(new java.awt.Dimension(384, 43); jPanel1.setLayout(jP

23、anel1Layout); jButton2 = new JButton; jPanel1.add(jButton2); jButton2.setText(Open); jButton2.setBounds(104, 12, 62, 22); jButton2.setPreferredSize(new java.awt.Dimension(76, 22); jButton2.addActionListener(new ActionListener public void actionPerformed(ActionEvent evt) jButton2ActionPerformed(evt);

24、 jButton1 = new JButton; jPanel1.add(jButton1); jButton1.setText(Close); jButton1.setBounds(204, 12, 62, 22); jButton1.setPreferredSize(new ); java.awt.Dimension(72, 22); jButton1.addMouseListener(new MouseAdapter public void mousePressed(MouseEvent evt) System.exit(0); /TODO add your code for jButt

25、on1.mousePressed jPanel2 = new JPanel; getContentPane.add(jPanel2, ); BorderLayout.CENTER); pack; setSize(400, 300); catch (Exception e) /add your error handling code here e.printStackTrace; private void jButton2ActionPerformed(ActionEvent evt) String action = evt.getActionCommand; JFileChooser file

26、Chooser = new JFileChooser; int index = fileChooser.showOpenDialog(getContentPane); if(index = JFileChooser.APPROVE_OPTION) File selectedFile = fileChooser.getSelectedFile; /取得选中的文件 ImageIcon icon = new ImageIcon(filePath); JLabel label = new JLabel(icon,JLabel.CENTER); JLabel p=new JLabel(图片路径: + f

27、ilePath); jPanel2.add(p,BorderLayout.SOUTH); jPanel2.add(label); jPanel2.update(null); filePath = selectedFile.getPath; filePath = filePath.replace(,/); 实验题5使用SWT技术完成图3.10 所示图形界面的制作。要求“查询结果”用group组件。 图3.10 数据查询界面 运行结果; 主要代码: public class Search extends org.eclipse.swt.widgets.Composite public Search

28、(Composite parent, int style) super(parent, style); /Register as a resource user - SWTResourceManager will /handle the obtaining and disposing of resources SWTResourceManager.registerResourceUser(this); private Composite composite1; private Composite composite2; private Group group1; private Text te

29、xt4; private Label label4; private Text text3; private Label label3; private Text text2; private Label label2; private Button button2; private Button button1; private Text text1; private Label label1; /* initGUI; * Initializes the GUI. */ private void initGUI try this.setSize(new org.eclipse.swt.gra

30、phics.Point(400,300); this.setBackground(SWTResourceManager.getColor(192, 192, 192); FormLayout thisLayout = new FormLayout; this.setLayout(thisLayout); composite1 = new Composite(this, SWT.NONE); FormLayout composite1Layout = new FormLayout; FormData composite1LData = new FormData; composite1LData.

31、left = new FormAttachment(0, 1000, 0); composite1LData.top = new FormAttachment(0, 1000, 0); composite1LData.width = 400; composite1LData.height = 300; composite1.setLayoutData(composite1LData); composite1.setLayout(composite1Layout); group1 = new Group(composite1, SWT.NONE); GridLayout group1Layout

32、 = new GridLayout; group1Layout.marginBottom = 30; group1Layout.numColumns = 2; group1Layout.verticalSpacing = 15; group1Layout.marginTop = 10; group1.setLayout(group1Layout); FormData group1LData = new FormData; group1LData.left = new FormAttachment(0, 1000, 38); group1LData.top = new FormAttachmen

33、t(0, 1000, 106); group1LData.width = 318; group1LData.height = 145; group1.setLayoutData(group1LData); group1.setText(u67e5u8be2u7ed3u679c); group1.setFont(SWTResourceManager.getFont(微软雅黑, 11, 0, false, false); label2 = new Label(group1, SWT.NONE); GridData label2LData = new GridData; label2LData.wi

34、dthHint = 70; label2LData.heightHint = 25; label2.setLayoutData(label2LData); label2.setText(u5b66u53f7uff1a); label2.setFont(SWTResourceManager.getFont(微软雅黑, 11, 0, false, false); GridData text2LData = new GridData; text2LData.widthHint = 181; text2LData.heightHint = 27; text2 = new Text(group1, SW

35、T.NONE); text2.setLayoutData(text2LData); label3 = new Label(group1, SWT.NONE); GridData label3LData = new GridData; label3LData.widthHint = 63; label3LData.heightHint = 23; label3.setLayoutData(label3LData); label3.setText(u59d3u540duff1a); label3.setFont(SWTResourceManager.getFont(微软雅黑, 11, 0, fal

36、se, false); GridData text3LData = new GridData; text3LData.widthHint = 181; text3LData.heightHint = 27; text3 = new Text(group1, SWT.NONE); text3.setLayoutData(text3LData); label4 = new Label(group1, SWT.NONE); GridData label4LData = new GridData; label4LData.widthHint = 57; label4LData.heightHint =

37、 28; label4.setLayoutData(label4LData); label4.setText(u5e74u9f84uff1a); label4.setFont(SWTResourceManager.getFont(微软雅黑, 11, 0, false, false); GridData text4LData = new GridData; text4LData.widthHint = 182; text4LData.heightHint = 31; text4 = new Text(group1, SWT.NONE); text4.setLayoutData(text4LDat

38、a); composite2 = new Composite(composite1, SWT.NONE); GridLayout composite2Layout = new GridLayout; 10; 15; FormData composite2LData = new composite2Layout.verticalSpacing = composite2Layout.numColumns = 2; composite2Layout.marginLeft = 40; composite2Layout.horizontalSpacing = FormData; composite2LD

39、ata.left = new FormAttachment(0, 1000, 12); composite2LData.top = new FormAttachment(0, 1000, 12); composite2LData.width = 376; composite2LData.height = 88; composite2.setLayoutData(composite2LData); composite2.setLayout(composite2Layout); label1 = new Label(composite2, SWT.NONE); GridData label1LDa

40、ta = new GridData; label1LData.widthHint = 96; label1LData.heightHint = 22; label1.setLayoutData(label1LData); label1.setText(u8bf7u8f93u5165u5b66u53f7uff1a); label1.setFont(SWTResourceManager.getFont(微软雅黑, 12, 0, false, false); GridData text1LData = new GridData; text1LData.widthHint = 182; text1LD

41、ata.heightHint = 28; text1 = new Text(composite2, SWT.NONE); text1.setLayoutData(text1LData); button1 = new Button(composite2, SWT.PUSH | SWT.CENTER); GridData button1LData = new GridData; 27; button1LData.widthHint = 70; button1LData.heightHint = button1.setLayoutData(button1LData); button1.setText(u786eu5b9a); button2 = new Button(composite2, SWT.PUSH | SWT.CENTER); GridData button2LData = new GridData; 27; button2LData.widt

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号