




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验十二 图形用户界面(一)一、实验时间: 姓名: 学号: 二、 实验目的1、 掌握常见容器类的用法2、 掌握各种布局的用法;3、 掌握常见组件的用法;4、 理解Java的事件处理机制;三、知识点1、常用容器;2、布局;3、常用组件;4、事件处理机制;四、实验内容与步骤1、程序功能是窗体中有一个按钮和一个文本框。当单击按钮时,文本框显示按钮的名字。如图1所示,请编程实现该功能。图1import javax.swing.*;import java.awt.event.*;import java.awt.*;public class xt0 public static void main(String args) new SimpleWin();class SimpleWin extends JFrame implements ActionListenerJTextField jf;JButton b;SimpleWin()jf=new JTextField();b=new JButton(确定);setLayout(new GridLayout(1,2);add(b);add(jf);b.addActionListener(this);setVisible(true);setBounds(100,100,200,100);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);public void actionPerformed(ActionEvent e)String s=b.getActionCommand();jf.setText(s);2、程序功能是按照下拉列表所选定的字体大小和字体名称来设置文本框中的字体格式。如图2所示,此时文本框中的字体大小为20,名称为Arial Black。请编程实现该功能。图2import javax.swing.*;import java.awt.*;import java.awt.event.*;public class FontChange implements ItemListener JFrame jf=new JFrame(字体设置程序); JTextField tf=new JTextField(how do you do!); JComboBox cb1; JComboBox cb2; String name=Times New Roman; int fontsize=12;public void init()String fontSize=8,10,12,14,16,18,20,22,26,32,36,40;cb1=new JComboBox(fontSize);GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();String fontName=ge.getAvailableFontFamilyNames();cb2=new JComboBox(fontName);cb1.addItemListener(this);cb2.addItemListener(this);JPanel p=new JPanel();p.setLayout(new GridLayout(1,2);p.add(cb1);p.add(cb2);jf.setLayout(new GridLayout(2,1);jf.add(tf);jf.add(p);jf.setBounds(300, 300, 400, 150);jf.setVisible(true);public void itemStateChanged(ItemEvent e)if(e.getSource()=cb1)if(e.getStateChange()=ItemEvent.SELECTED)String s=cb1.getSelectedItem().toString();fontsize=Integer.parseInt(s);tf.setFont(new Font(name,Font.BOLD,fontsize);else if(e.getSource()=cb2)if(e.getStateChange()=ItemEvent.SELECTED)name=cb2.getSelectedItem().toString();tf.setFont(new Font(name,Font.BOLD,fontsize);public static void main(String args) new FontChange().init();3、程序功能是根据所输入的长、宽数值,计算长方形的周长和面积,结果保留3位小数。如果输入非数字,则提示输入错误,重新输入。如图3所示。请编程实现该功能。图3/实体类public class Rec private double chang;private double kuan;public double getChang() return chang;public void setChang(double chang) this.chang = chang;public double getKuan() return kuan;public void setKuan(double kuan) this.kuan = kuan;/业务类public class RecYW public double getArea(Rec c)return c.getChang()*c.getKuan();public double getZC(Rec c)return (c.getChang()+c.getKuan()*2;/制作窗体类import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.text.NumberFormat;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;public class WinRec implements ActionListenerJButton b1=new JButton(确定); JButton b2=new JButton(退出); JFrame jf=new JFrame(长方形计算器); JTextField tf1=new JTextField(); JTextField tf2=new JTextField(); JLabel jl3=new JLabel();/用于存储周长 JLabel jl5=new JLabel();/用于存储面积public void init() jf.setLayout(new GridLayout(5,2); JLabel jl1=new JLabel(输入长:); JLabel jl6=new JLabel(输入宽:); JLabel jl2=new JLabel(圆的周长:); JLabel jl4=new JLabel(圆的面积:); b1.addActionListener(this); b2.addActionListener(this); jf.add(jl1); jf.add(tf1); jf.add(jl6); jf.add(tf2); jf.add(jl2); jf.add(jl3); jf.add(jl4); jf.add(jl5); jf.add(b1); jf.add(b2); jf.setBounds(300,300,250,200); jf.setVisible(true); public void actionPerformed(ActionEvent e)if(e.getSource()=b1)String chang=tf1.getText().trim();String kuan=tf2.getText().trim();trydouble chang_1=Double.parseDouble(chang);double kuan_1=Double.parseDouble(kuan);Rec c=new Rec();c.setChang(chang_1);c.setKuan(kuan_1);RecYW mac=new RecYW();double zhouchang,mianji;zhouchang=mac.getArea(c); mianji=mac.getZC(c); NumberFormat f=NumberFormat.getInstance(); f.setMaximumFractionDigits(3); jl3.setText(f.format(zhouchang); jl5.setText(f.format(mianji);catch(Exception e1)JOptionPane.showMessageDialog(jf, 请输入一个数字!);tf1.setText(null);tf2.setText(null);jl3.setText(null);jl5.setText(null);else if(e.getSource()=b2)System.exit(0);/测试类public class TestRecWin public static void main(String args) new WinRec().init();4、程序功能是当点击菜单项“打开文件”时,弹出文件对话框,用户从文件对话框中选择需要打开的文件,然后在文本区中显示文件内容。如图4所示。请编程实现该功能。图4import java.awt.event.*;import javax.swing.*;import java.io.*;public class xt2 public static void main(String args) OpenWindow win=new OpenWindow();class OpenWindow extends JFrame implements ActionListenerJMenuBar menubar;JMenu menu;JMenuItem itemOpen;JTextArea text1;OpenWindow()menubar=new JMenuBar();menu=new JMenu(打开);itemOpen=new JMenuItem(打开文件);menu.add(itemOpen);menubar.add(menu);setJMenuBar(menubar);text1=new JTextArea();add(new JScrollPane(text1);setSize(300,300);setVisible(true);validate();itemOpen.addActionListener(this);public void actionPerformed(ActionEvent e)text1.setText(null);JFileChooser fileChooser=new JFileChooser(d:/lesson);int n=fileChooser.showOpenDialog(this);if(n=JFileChooser.APPROVE_OPT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兄妹四人分配财产协议书
- fidic交钥匙工程合同范本
- 关于孩子抚养权的协议书
- 二手电器买卖合同协议书
- 农村建房房保修合同范本
- 使用权车位转让协议合同
- 临床执业医师题库检测试题打印附答案详解(模拟题)
- 2025年人教版新教材数学一年级上册第二单元教案设计
- 难点详解四川师范大学附属第一实验中学7年级数学下册变量之间的关系专项测试试卷(附答案详解)
- 粮油食品检验人员题库试题及完整答案详解【有一套】
- 2025年广东省中考道德与法治真题(解析版)
- 2024年度海南省二级造价工程师之土建建设工程计量与计价实务综合检测试卷A卷含答案
- 交通运输行政执法课件培训
- 政务摄影培训课件模板
- 乳业公司仓库管理制度
- 2025-2030中国磁悬浮离心鼓风机行业市场发展趋势与前景展望战略研究报告
- 2025年班组长个人职业素养知识竞赛考试题库500题(含答案)
- 城市污水处理厂运行优化措施
- 新《职业病危害工程防护》考试复习题库(浓缩500题)
- 数字时代跨文化适应机制-洞察阐释
- 老年人体头部有限元建模及碰撞损伤机制的深度剖析与研究
评论
0/150
提交评论