收藏 分享(赏)

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

上传人:精品资料 文档编号:10530022 上传时间:2019-11-26 格式:DOC 页数:27 大小:560KB
下载 相关 举报
java实验报告实验六Java图形用户界面.doc_第1页
第1页 / 共27页
java实验报告实验六Java图形用户界面.doc_第2页
第2页 / 共27页
java实验报告实验六Java图形用户界面.doc_第3页
第3页 / 共27页
java实验报告实验六Java图形用户界面.doc_第4页
第4页 / 共27页
java实验报告实验六Java图形用户界面.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

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

2、ing.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();jButton9 = new javax.swing.

3、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();setStub(null);jButt

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

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

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

7、tton6.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton6ActionPerformed(evt););jButton7.setText(“4“);jButton7.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jBut

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

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

10、tionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton11ActionPerformed(evt););jButton12.setText(“u00d7“);jButton12.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton1

11、2ActionPerformed(evt););jButton13.setText(“-“);jButton13.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton13ActionPerformed(evt););jButton14.setText(“+“);jButton14.addActionListener(new java.awt.event.ActionListener() public voi

12、d actionPerformed(java.awt.event.ActionEvent evt) jButton14ActionPerformed(evt););jButton15.setText(“=“);jButton15.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton15ActionPerformed(evt););实验题 2 编写一个程序,有一个窗口,该窗口为 BorderLayout 布局

13、。窗口的中心添加一个 Panel 容器:pCenter,pCenter 的布局是 7 行 7 列的 GridLayout 布局,pCenter 的中放置 49 个标签,用来显示日历。窗口北面添加一个 Panel 容器 pNorth,其布局是 FlowLayout 布局,pNorth 放置两个按钮:nextMonth 和 previousMonth 按钮,单击 nextMonth,可以显示当前月的下一个月的日历;单击 previousMonth 按钮,可以显示当前月的上一个月的日历。窗口的南面添加一个 Panel 容器 pSouth,其布局是FlowLayout 布局,pSouth 中放置一个标

14、签用来显示一些信息。运行结果如图所示。图 3.8 运行结果图基本要求 编写完整程序。运行结果:主要代码: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 JP

15、anel();private JPanel pNorth=new JPanel();private 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.

16、add(buttonLastMonth);buttonNextMonth.setText(“下月“);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 200)int type=JOptionPane.ER

17、ROR_MESSAGE;JOptionPane.showMessageDialog(null,new String(“输入数字必须在100200之间“),“提示“, 2);实验题 4 编写一个显示图像文件的 Application 应用程序,在该程序 JFrame 窗体中添加 JPanel 面板和一个 JToolBar 工具栏,在工具栏上添加一个 JButton“打开”按扭,单击“打开”按纽,弹出 JFileChooser 文件打开选择对话框,选择图像文件后将其显示在 JPnel 面板中。运行结果:主要代码:public class NewJFrame extends javax.swing.

18、JFrame private JPanel jPanel1;private JPanel jPanel2;private JButton jButton2;private JButton jButton1;private String filePath = “;/* Auto-generated main method to display this JFrame*/public static void main(String args) SwingUtilities.invokeLater(new Runnable() public void run() NewJFrame inst = n

19、ew NewJFrame();inst.setLocationRelativeTo(null);inst.setVisible(true););public NewJFrame() super();initGUI();private void initGUI() try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);jPanel1 = new JPanel(true);FlowLayout jPanel1Layout = new FlowLayout();getContentPane().add(jPanel1, Bord

20、erLayout.NORTH);jPanel1.setPreferredSize(new java.awt.Dimension(384, 43);jPanel1.setLayout(jPanel1Layout);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(ne

21、w ActionListener() public void actionPerformed(ActionEvent evt) jButton2ActionPerformed(evt););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 MouseAdap

22、ter() public void mousePressed(MouseEvent evt) System.exit(0);/TODO add your code for jButton1.mousePressed);jPanel2 = new JPanel();getContentPane().add(jPanel2, BorderLayout.CENTER);pack();setSize(400, 300); catch (Exception e) /add your error handling code heree.printStackTrace();private void jBut

23、ton2ActionPerformed(ActionEvent evt) String action = evt.getActionCommand();JFileChooser fileChooser = new JFileChooser();int index = fileChooser.showOpenDialog(getContentPane();if(index = JFileChooser.APPROVE_OPTION)File selectedFile = fileChooser.getSelectedFile(); /取得选中的文件filePath = selectedFile.

24、getPath();filePath = filePath.replace(,/);ImageIcon icon = new ImageIcon(filePath);JLabel label = new JLabel(icon,JLabel.CENTER);JLabel p=new JLabel(“图片路径:“ + filePath);jPanel2.add(p,BorderLayout.SOUTH);jPanel2.add(label);jPanel2.update(null);实验题 5 使用 SWT 技术完成图 3.10 所示图形界面的制作。要求“查询结果”用group 组件。图 3.1

25、0 数据查询界面运行结果;主要代码:public class Search extends org.eclipse.swt.widgets.Composite private Composite composite1;private Composite composite2;private Group group1;private Text text4;private Label label4;private Text text3;private Label label3;private Text text2;private Label label2;private Button button

26、2;private Button button1;private Text text1;private Label label1;/Register as a resource user - SWTResourceManager will/handle the obtaining and disposing of resourcesSWTResourceManager.registerResourceUser(this);public Search(Composite parent, int style) super(parent, style);initGUI();/* Initialize

27、s the GUI.*/private void initGUI() try this.setSize(new org.eclipse.swt.graphics.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 = n

28、ew FormLayout();FormData composite1LData = new FormData();composite1LData.left = new FormAttachment(0, 1000, 0);composite1LData.top = new FormAttachment(0, 1000, 0);composite1LData.width = 400;composite1LData.height = 300;composite1.setLayoutData(composite1LData);composite1.setLayout(composite1Layou

29、t);group1 = new Group(composite1, SWT.NONE);GridLayout group1Layout = new GridLayout();group1Layout.marginBottom = 30;group1Layout.numColumns = 2;group1Layout.verticalSpacing = 15;group1Layout.marginTop = 10;group1.setLayout(group1Layout);FormData group1LData = new FormData();group1LData.left = new

30、FormAttachment(0, 1000, 38);group1LData.top = new FormAttachment(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, S

31、WT.NONE);GridData label2LData = new GridData();label2LData.widthHint = 70;label2LData.heightHint = 25;label2.setLayoutData(label2LData);label2.setText(“u5b66u53f7uff1a“);label2.setFont(SWTResourceManager.getFont(“微软雅黑“, 11, 0, false, false);GridData text2LData = new GridData();text2LData.widthHint =

32、 181;text2LData.heightHint = 27;text2 = new Text(group1, SWT.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“);lab

33、el3.setFont(SWTResourceManager.getFont(“微软雅黑“, 11, 0, false, 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()

34、;label4LData.widthHint = 57;label4LData.heightHint = 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 Te

35、xt(group1, SWT.NONE);text4.setLayoutData(text4LData);composite2 = new Composite(composite1, SWT.NONE);GridLayout composite2Layout = new GridLayout();composite2Layout.numColumns = 2;composite2Layout.marginLeft = 40;composite2Layout.horizontalSpacing = 10;composite2Layout.verticalSpacing = 15;FormData

36、 composite2LData = new FormData();composite2LData.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(c

37、omposite2, SWT.NONE);GridData label1LData = 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 GridDa

38、ta();text1LData.widthHint = 182;text1LData.heightHint = 28;text1 = new Text(composite2, SWT.NONE);text1.setLayoutData(text1LData);button1 = new Button(composite2, SWT.PUSH | SWT.CENTER);GridData button1LData = new GridData();button1LData.widthHint = 70;button1LData.heightHint = 27;button1.setLayoutD

39、ata(button1LData);button1.setText(“u786eu5b9a“);button2 = new Button(composite2, SWT.PUSH | SWT.CENTER);GridData button2LData = new GridData();button2LData.widthHint = 78;button2LData.heightHint = 27;button2.setLayoutData(button2LData);button2.setText(“u91cdu7f6e“);this.layout(); catch (Exception e)

40、 e.printStackTrace();/* Auto-generated main method to display this * org.eclipse.swt.widgets.Composite inside a new Shell.*/public static void main(String args) Display display = Display.getDefault();Shell shell = new Shell(display);Search inst = new Search(shell, SWT.NULL);Point size = inst.getSize

41、();shell.setLayout(new FillLayout();shell.layout();if(size.x = 0 shell.pack(); else Rectangle shellBounds = puteTrim(0, 0, size.x, size.y);shell.setSize(shellBounds.width, shellBounds.height);shell.open();while (!shell.isDisposed() if (!display.readAndDispatch()display.sleep();实验题 6 使用 SWT 技术完成图 3.1

42、1 所示学籍管理主界面的设计与制作。图 3.11 学籍管理主界面运行结果:主要代码:public class Example public static void main(String args) Window win=new Window(“学籍管理系统“ ,300,200,500,500);package package6;import java.awt.*;import javax.swing.*;import java.awt.event.InputEvent;import java.awt.event.KeyEvent;import static javax.swing.JFram

43、e.*;import java.awt.event.*;import javax.swing.*;public class Window extends JFrame JMenuBar menubar;JMenu menu, menu2, menu3, menuhelp;JMenuItem item1, item2;JLabel text;public Window() public Window(String s, int x, int y, int w, int h) init(s);setLocation(x, y);setSize(w, h);setVisible(true);setD

44、efaultCloseOperation(DISPOSE_ON_CLOSE);void init(String s) setTitle(s);setLayout(null);text = new JLabel(“欢迎使用学籍管理系统 !“);text.setForeground(Color.red);text.setFont(new java.awt.Font(“Dialog“, 1, 22);add(text);text.setBounds(140, 150, 250, 150);menubar = new JMenuBar();menu = new JMenu(“在线登陆“ );menu2

45、 = new JMenu(“用户管理“);menu3 = new JMenu(“数据维护“);menuhelp = new JMenu(“帮助“ );item1 = new JMenuItem(“用户登录“ , new ImageIcon(“Login,gif“);item2 = new JMenuItem(“退 出“, new ImageIcon(“Exit.gif“);menu.add(item1);menu.add(item2);menubar.add(menu);menubar.add(menu2);menubar.add(menu3);menubar.add(menuhelp);se

46、tJMenuBar(menubar);实验题7 使用 SWT技术在图3.11所示界面中,在“ 用户登录”菜单中添加组件选择事件,当选中“用户登录”时,打开图3.12 所示用户登录界面。图 3.12 用户登录窗体运行结果:主要代码:public class Window extends JFrame implements ActionListener JMenuBar menubar;JMenu menu, menu2, menu3, menuhelp;JMenuItem item1, item2;JLabel text;MyDialog dialog;public Window() publi

47、c Window(String s, int x, int y, int w, int h) init(s);setLocation(x, y);setSize(w, h);setVisible(true);setDefaultCloseOperation(DISPOSE_ON_CLOSE);void init(String s) setTitle(s);setLayout(null);text = new JLabel(“欢迎使用学籍管理系统 !“);text.setForeground(Color.red);text.setFont(new java.awt.Font(“Dialog“,

48、1, 22);add(text);text.setBounds(140, 150, 250, 150);menubar = new JMenuBar();menu = new JMenu(“在线登陆“ );menu2 = new JMenu(“用户管理“);menu3 = new JMenu(“数据维护“);menuhelp = new JMenu(“帮助“ );item1 = new JMenuItem(“用户登录“ , new ImageIcon(“a,gif“);item1.addActionListener(this);dialog = new MyDialog(this, “SWT应

49、用程序“ , true);item2 = new JMenuItem(“退 出“, new ImageIcon(“b.gif“);menu.add(item1);menu.add(item2);menubar.add(menu);menubar.add(menu2);menubar.add(menu3);menubar.add(menuhelp);setJMenuBar(menubar);public void actionPerformed(ActionEvent e) if (e.getSource() = item1) int x = this.getBounds().x + this.getBounds().width;int y = this.

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报