JAVA实验-图形界面设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室2014年11月14日学院计算机科学与教育软件学院年级/专业/班姓名学号实验课程名称Java语言成绩实验项目名称图形界面设计指导老师一、实验目的实验十图形用户界面(1)1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,2.了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。实验十一图形用户界面(2)1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,2.了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。二、实验器材MacBookPro一台操作系统:OSXYosemite编程软件:eclipse三、实验要求实验十图形用户界面(1)1.理解Java的事件处理机制,掌握为不同组件编写事件处理程序的方法。2.掌握编写独立运行的窗口界面的方法。3.了解JavaSwing组件的使用方法。4.了解对话框的使用方法。实验十一图形用户界面(2)1.理解Java的事件处理机制,掌握为不同组件编写事件处理程序的方法。2.掌握编写独立运行的窗口界面的方法。3.了解JavaSwing组件的使用方法。4.了解对话框的使用方法。四、实验过程原始数据记录实验十图形用户界面(1)1.如下图所示,用了三个文本框,第一个文本框给用户输入商品单价,第二个则是给用户输入商品数量,第三个用于显示总金额。代码:importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JTextField;importjavax.swing.SwingConstants;importjavax.swing.event.DocumentEvent;importjavax.swing.event.DocumentListener;importjavax.swing.text.BadLocationException;importjavax.swing.text.Document;publicclasstest_2_1_1extendsJFrameimplementsActionListener{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubtest_2_1_1good=newtest_2_1_1();}JTextFieldgoodPriceTF;JTextFieldgoodNumTF;JTextFieldsumPriceTF;JLabelgoodPriceTipsLabel;JLabelgoodNumTipsLabel;BooleancanCal=false;publictest_2_1_1(){super(商品价格计算器);setSize(435,135);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置JFrame是否可以改变大小。setResizable(false);//JFrame打开后居中。setLocationRelativeTo(getOwner());FlowLayoutflo=newFlowLayout();setLayout(flo);JLabelgoodPriceLabel=newJLabel(商品价格,JLabel.RIGHT);JLabelgoodNumLabel=newJLabel(商品数量,JLabel.RIGHT);JLabelsumPriceLabel=newJLabel(商品总额,JLabel.RIGHT);goodPriceTipsLabel=newJLabel(请输入价格,JLabel.RIGHT);goodNumTipsLabel=newJLabel(请输入数量,JLabel.RIGHT);goodPriceTF=newJTextField(20);goodPriceTF.getDocument().addDocumentListener(newDocumentListener(){@OverridepublicvoidremoveUpdate(DocumentEvente){//TODOAuto-generatedmethodstubchangeTFTipsLabel(goodPriceTipsLabel,goodPriceTF.getText());}@OverridepublicvoidinsertUpdate(DocumentEvente){//TODOAuto-generatedmethodstubchangeTFTipsLabel(goodPriceTipsLabel,goodPriceTF.getText());}@OverridepublicvoidchangedUpdate(DocumentEvente){//TODOAuto-generatedmethodstubchangeTFTipsLabel(goodPriceTipsLabel,goodPriceTF.getText());}});goodNumTF=newJTextField(20);goodNumTF.getDocument().addDocumentListener(newDocumentListener(){@OverridepublicvoidremoveUpdate(DocumentEvente){//TODOAuto-generatedmethodstubchangeTFTipsLabel(goodNumTipsLabel,goodNumTF.getText());}@OverridepublicvoidinsertUpdate(DocumentEvente){//TODOAuto-generatedmethodstubchangeTFTipsLabel(goodNumTipsLabel,goodNumTF.getText());}@OverridepublicvoidchangedUpdate(DocumentEvente){//TODOAuto-generatedmethodstubchangeTFTipsLabel(goodNumTipsLabel,goodNumTF.getText());}});sumPriceTF=newJTextField(20);sumPriceTF.setEditable(false);JButtonbtn=newJButton(计算);btn.addActionListener(this);add(goodPriceLabel);add(goodPriceTF);add(goodPriceTipsLabel);add(goodNumLabel);add(goodNumTF);add(goodNumTipsLabel);add(sumPriceLabel);add(sumPriceTF);add(btn);setVisible(true);}publicvoidactionPerformed(ActionEventevent){if(event.getActionCommand().equals(计算)){if(!canCal){showMessage(输入的数据不合法);return;}doublesum=Double.parseDouble(goodPriceTF.getText())*Double.parseDouble(goodNumTF.getText());sumPriceTF.setText(Double.toString(sum));}}//检测文本是否纯数字publicBooleanisNumber(Strings){if(s.length()==0)returnfalse;BooleanisNumber=true;char[]c=s.toCharArray();for(inti=0;is.length();i++){if(Character.isDigit(c[i])==false){isNumber=false;break;}}returnisNumber;}//弹出警告publicvoidshowMessage(Strings){JOptionPane.showMessageDialog(null,s,警告,JOptionPane.PLAIN_MESSAGE);}//修改文本提示labelpublicvoidchangeTFTipsLabel(JLabelaLabel,Stringstr){//if(isNumber(str)==false){canCal=false;aLabel.setText(X);}elseif(isNumber(goodPriceTF.getText())||isNumber(goodNumTF.getText())){if(isNumber(goodPriceTF.getText())&&isNumber(goodNumTF.getText()))canCal=true;aLabel.setText(√);}elseif(str.length()==0){canCal=false;if(aLabel==goodPriceTipsLabel)aLabel.setText(请输入价格);elseaLabel.setText(请输入数量);}}}运行结果:↑启动画面当输入的字符是数字,对应右边的框旁边会提示√,如果输入非法字符,则会出现X,此时点击计算,则会弹出错误警告框。输入正确数字后,点计算按钮,得到正确结果。2.制作如下图所示的界面,当用户点击单选按钮时,会在一个标签上显示出当前所选定的数据库服务器类型。代码:importjava.awt.EventQueue;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ButtonGroup;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JRadioButton;publicclasstest_2_1_2implementsActionListener{privateJFramefrmAsdfasdf;JLabellabel;/***Launchtheapplication.*/publicstaticvoidmain(String[]args){EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{test_2_1_2window=newtest_2_1_2();window.frmAsdfasdf.setVisible(true);}catch(Exceptione){e.printStackTrace();}}});}/***Createtheapplication.*/publictest_2_1_2(){initialize();}/***Initializethecontentsoftheframe.*/privatevoidinitialize(){frmAsdfasdf=newJFrame();frmAsdfasdf.setTitle(数据库);frmAsdfasdf.setBounds(100,100,251,301

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功