为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

代码

2011-05-24 23页 doc 371KB 80阅读

用户头像

is_701174

暂无简介

举报
代码1 1.​ 创建一个Frame类型的窗口,采用GridLayout布局,依照Windows的简单计算器的样 式,在窗口中创建一个计算器的界面: 代码如下: import java.awt.*; public class Exa1 { public static void main(String[] args){ Frame myFrame=new Frame("计算器"); myFrame.setBounds(200,200,320,320); myFrame.setBackground(Color.GRAY); myFram...
代码
1 1.​ 创建一个Frame类型的窗口,采用GridLayout布局,依照Windows的简单计算器的样 式,在窗口中创建一个计算器的界面: 代码如下: import java.awt.*; public class Exa1 { public static void main(String[] args){ Frame myFrame=new Frame("计算器"); myFrame.setBounds(200,200,320,320); myFrame.setBackground(Color.GRAY); myFrame.setResizable(false); myFrame.setVisible(true); Menu bianji=new Menu("编辑"); Menu chakan=new Menu("查看"); Menu bangzhu=new Menu("帮助"); MenuBar menubar=new MenuBar(); menubar.add(bianji); menubar.add(chakan); menubar.add(bangzhu); myFrame.setMenuBar(menubar); myFrame.setLayout(new GridLayout(6,1,0,0)); Panel a=new Panel(); a.setSize(295,50); a.setLayout(null); TextField text=new TextField(" 0."); text.setBounds(6,15,275,25); a.add(text); myFrame.add(a); Panel b=new Panel(); b.setSize(295,50); b.setLayout(null); Label Label1=new Label(); Label1.setBounds(5,5,40,30); Label1.setBackground(Color.WHITE); b.add(Label1); myFrame.add(b); Button button1=new Button("Backspace"); button1.setForeground(Color.RED); button1.setBounds(65,5,68,32); b.add(button1); myFrame.add(b); Button button2=new Button("CE"); button2.setForeground(Color.RED); button2.setBounds(148,5,68,32); b.add(button2); myFrame.add(b); Button button3=new Button("C"); button3.setForeground(Color.RED); button3.setBounds(231,5,68,32); b.add(button3); myFrame.add(b); Panel c=new Panel(); c.setSize(295,50); c.setLayout(null); Button button4=new Button("MC"); button4.setForeground(Color.RED); button4.setBounds(5,5,40,30); c.add(button4); myFrame.add(c); Button button5=new Button("7"); button5.setBounds(65,5,40,30); c.add(button5); myFrame.add(c); Button button6=new Button("8"); button6.setBounds(115,5,40,30); c.add(button6); myFrame.add(c); Button button7=new Button("9"); button7.setBounds(165,5,40,30); c.add(button7); myFrame.add(c); Button button8=new Button("/"); button8.setBounds(215,5,40,30); c.add(button8); myFrame.add(c); Button button9=new Button("sqart"); button9.setForeground(Color.RED); button9.setBounds(265,5,40,30); c.add(button9); myFrame.add(c); Panel d=new Panel(); d.setSize(295,50); d.setLayout(null); Button button10=new Button("MR"); button10.setForeground(Color.RED); button10.setBounds(5,5,40,30); d.add(button10); myFrame.add(d); Button button11=new Button("4"); button11.setBounds(65,5,40,30); d.add(button11); myFrame.add(d); Button button12=new Button("5"); button12.setBounds(115,5,40,30); d.add(button12); myFrame.add(d); Button button13=new Button("6"); button13.setBounds(165,5,40,30); d.add(button13); myFrame.add(d); Button button14=new Button("*"); button14.setBounds(215,5,40,30); d.add(button14); myFrame.add(d); Button button15=new Button("%"); button15.setForeground(Color.RED); button15.setBounds(265,5,40,30); d.add(button15); myFrame.add(d); Panel e=new Panel(); e.setSize(295,50); e.setLayout(null); Button button16=new Button("MS"); button16.setForeground(Color.RED); button16.setBounds(5,5,40,30); e.add(button16); myFrame.add(e); Button button17=new Button("1"); button17.setBounds(65,5,40,30); e.add(button17); myFrame.add(e); Button button18=new Button("2"); button18.setBounds(115,5,40,30); e.add(button18); myFrame.add(e); Button button19=new Button("3"); button19.setBounds(165,5,40,30); e.add(button19); myFrame.add(e); Button button20=new Button("-"); button20.setBounds(215,5,40,30); e.add(button20); myFrame.add(e); Button button21=new Button("1/x"); button21.setForeground(Color.RED); button21.setBounds(265,5,40,30); e.add(button21); myFrame.add(e); Panel f=new Panel(); f.setSize(295,50); f.setLayout(null); Button button22=new Button("M+"); button22.setForeground(Color.RED); button22.setBounds(5,5,40,30); f.add(button22); myFrame.add(f); Button button23=new Button("0"); button23.setBounds(65,5,40,30); f.add(button23); myFrame.add(f); Button button24=new Button("+/-"); button24.setBounds(115,5,40,30); f.add(button24); myFrame.add(f); Button button25=new Button("."); button25.setBounds(165,5,40,30); f.add(button25); myFrame.add(f); Button button26=new Button("+"); button26.setBounds(215,5,40,30); f.add(button26); myFrame.add(f); Button button27=new Button("="); button27.setForeground(Color.RED); button27.setBounds(265,5,40,30); f.add(button27); myFrame.add(f); myFrame.setVisible(true); } } 计算器的运行效果如下: 2.​ 创建一个Frame类型的窗口,窗口中放置标签、文本域及按钮组件,构造出密码验证的 界面: 代码如下: import java.awt.*; public class Exe2 { public Exe2(String string) { } public static void main(String[] args) { Frame a=new Frame(); a.setTitle("学生的个人基本信息"); a.setSize(300,200); a.setLayout(null); Label LabelName=new Label("用户名"); LabelName.setBounds(60,50,70,20); TextField textFieldName=new TextField(); textFieldName.setBounds(135,50,100,20); Label LabelPass=new Label("登陆密码"); LabelPass.setBounds(60,90,70,20); TextField textFieldPass=new TextField(); textFieldPass.setEchoChar('*'); textFieldPass.setBounds(135,90,100,20); Button btnVerify=new Button("登陆"); btnVerify.setBounds(100,150,100,35); a.add(LabelName); a.add(textFieldName); a.add(LabelPass); a.add(textFieldPass); a.add(btnVerify); a.setLocation(200,100); a.setVisible(true); } } 用户登陆密码如下所示: 3.​ 编写一个菜单程序,其中包含文本、格式、图片和动画菜单。其中文本、图片和动画菜单中分别包含显示文本、显示图片和播放动画菜单项;格式菜单中包含字体大小、字体颜色两个菜单项,字体大小菜单项又包含20、40、60三个子菜单项,字体颜色菜单项 又包含红色、绿色、蓝色三个子菜单项。 代码如下: import java.awt.*; class Exa3 { static Frame myFrame=new Frame(); private final String[] colors={"红色","绿色","蓝色"}; private final String[] sizes={"20","40","60"}; private final String[] pictures={"显示图片"}; private final String[] Texts={"显示文本"}; private final String[] donghuas={"播放动画"}; public Exa3(String title){ //构造方法 myFrame.setTitle(title); Menu form=new Menu("格式"); //创建菜单对象 form.add(new MenuItem("字体颜色")); form.add(new MenuItem("字体大小")); Menu color=new Menu("字体颜色"); for (int k=0;k数学
","英语","语文","计算机"}; String keshi[]={"65","40","55","60"}; public Exa_2(String string) { setTitle("课程表"); setBounds(200,200,300,200); contentPane=getContentPane(); contentPane.setLayout(new GridLayout(1,2,5,5)); Panel=new JPanel(); Panel.setLayout(null); Panel.setBackground(Color.GRAY); Panel.setSize(150,150); btn=new JButton("确定"); btn.setBounds(40,130,60,30); list=new JList(kecheng); list.setBounds(20,20,100,100); btn.addActionListener(this); list.addListSelectionListener(this); Panel.add(btn); Panel.add(list); Panel1=new JPanel(); Panel1.setLayout(null); Panel1.setBackground(Color.GRAY); Panel1.setSize(150,150); btn1=new JButton("退出"); btn1.setBounds(45,130,60,30); list1=new JList(keshi); list1.setBounds(50,20,40,100); btn1.addActionListener(this); list1.addListSelectionListener(this); Panel1.add(list1); Panel1.add(btn1); contentPane.add(Panel); contentPane.add(Panel1); setVisible(true); } public static void main(String[] args) { new Exa_2("kehcnegbiao"); } public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getSource()==btn){ String str="课程 课时\n"; int sum=0; for (int i=0;i
目: 建立一个窗口,内容为: 输入学生姓名(JTEXTFIELD),年龄(JTEXTFIELD) 。在屏幕上显示学生照片(照片随便找图片,用JLABEL)。 放“确定”和“退出”按钮。 点击确定,弹出窗口显示学生的姓名和年龄。点击退出结束程序  在上一程序上改进: 增加学生的兴趣爱好:多选。至少五个爱好。 增加学生性别选择:单选按钮 点击确定难就:则在对话框中能显示学生的基本信息、爱好和他的性别。 代码如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Exa_3 extends JFrame implements ActionListener{ Container contentPane; JPanel Panel,Panel1,Panel2,Panel3;; JLabel label,label1,Picture; JTextField Name,Age; JRadioButton radio1,radio2; ButtonGroup sex; JCheckBox a,a1,a2,a3,a4,a5,a6,a7; JButton btn,btn1; public Exa_3(String string) { setTitle("学生个人信息"); setBounds(100,100,450,530); contentPane=getContentPane(); contentPane.setLayout(new GridLayout(4,2)); Panel=new JPanel(); Panel.setLayout(new BoxLayout(Panel,BoxLayout.Y_AXIS)); label=new JLabel("学生姓名"); label1=new JLabel("年龄"); Name=new JTextField(10); Age=new JTextField(10); Picture=new JLabel(); Picture.setSize(45,60); Picture.setIcon(new ImageIcon("icon2.jpg")); contentPane.add(Picture); Panel.add(label); Panel.add(Name); Panel.add(label1); Panel.add(Age); contentPane.add(Panel); Panel1=new JPanel(); Panel1.setLayout(new BoxLayout(Panel1,BoxLayout.Y_AXIS)); a=new JCheckBox("喜欢吃零食"); a1=new JCheckBox("喜欢饭后散步"); a2=new JCheckBox("喜欢看小说"); a3=new JCheckBox("喜欢睡觉"); a4=new JCheckBox("喜欢玩电脑"); a5=new JCheckBox("喜欢吃水果"); a6=new JCheckBox("最喜欢玩炫舞"); a7=new JCheckBox("喜欢晒太阳"); Panel1.add(a); Panel1.add(a1); Panel1.add(a2); Panel1.add(a3); Panel1.add(a4); Panel1.add(a5); Panel1.add(a6); Panel1.add(a7); contentPane.add(Panel1); Panel2=new JPanel(); radio1=new JRadioButton("男" ,false); radio2=new JRadioButton("女",true); sex=new ButtonGroup(); sex.add(radio1); sex.add(radio2); Panel2.add(radio1); Panel2.add(radio2); contentPane.add(Panel2); Panel3=new JPanel(); Panel3.setLayout(null); btn=new JButton("确定"); btn.setBounds(50,70,70,50); btn1=new JButton("退出"); btn1.setBounds(150,70,70,50); Panel3.add(btn); Panel3.add(btn1); contentPane.add(Panel3); btn.addActionListener(this); btn1.addActionListener(this); this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } public static void main(String[] args) { Exa_3 app=new Exa_3("学生个人信息"); app.setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource()==btn){ String s=Name.getText()+"\n"+Age.getText()+"\n"; if (a.isSelected()){ s+=a.getText()+"\n"; } if (a1.isSelected()){ s+=a1.getText()+"\n"; } if (a2.isSelected()){ s+=a2.getText()+"\n"; } if (a3.isSelected()){ s+=a3.getText()+"\n"; } if (a4.isSelected()){ s+=a4.getText()+"\n"; } if (a5.isSelected()){ s+=a5.getText()+"\n"; } if (a6.isSelected()){ s+=a6.getText()+"\n"; } if (a7.isSelected()){ s+=a7.getText()+"\n"; } if (radio1.isSelected()){ s+=radio1.getText()+"\n"; } if (radio2.isSelected()){ s+=radio2.getText()+"\n"; } JOptionPane.showMessageDialog(null,s); } else{ System.exit(0); } } } 第二部分面向对象编程题目: 1.创建一个矩形类Rectangle: 定义私有数据成员Length和Width保存矩形的长和宽。 定义方法getLength()、setLength()和getWidth()、setWidth()读写矩形的长和宽 提供两个构造函数: 无参构造函数将长和宽都初始化为1。 另一个两个参数构造函数初始化长和宽为指定的值 提供三个方法: Perimeter计算矩形周长 Area计算矩形面积 show方法返回以下格式的字符串:“矩形长=xx, 宽=xx”,其中xx为具体的值 代码如下: public class Rectangle { private double length; private double width; public double getLength() { return length; } public void setLength(double length) { this.length = length; } public double getWidth() { return width; } public void setWidth(double width) { this.width = width; } public Rectangle(){ length=1; width=1; } public Rectangle(double length,double width){ this.length=length; this.width=width; } public double Perimeter(){ return (length+width)*2; } public double Area(){ return length*width; } public String show(){ return "矩形的长=" + length+","+"矩形的宽="+width; } } 编写主程序测试你写好的类:创建两个矩形对象(长宽分别为4,7和2,8),然后计算并显示他们的长、宽、周长和面积的值 代码如下: public class textRectangle { public static void main(String[] args) { Rectangle R=new Rectangle(); R.setLength(4); R.setWidth(7); System.out.println(R.show()); System.out.println("矩形的周长="+R.Perimeter()); System.out.println("矩形的面积="+R.Area()); System.out.println("***********R***********"); Rectangle R1=new Rectangle(); R1.setLength(2); R1.setWidth(8); System.out.println(R1.show()); System.out.println("矩形的周长="+R1.Perimeter()); System.out.println("矩形的面积="+R1.Area()); System.out.println("***********R1***********"); } } 运行结果如下所示: 2、 从上题的Rectangle类,派生立方体类Cube:    该类应有属性Length、Width和Height,编写读写立方体的长、宽和高(注意长、宽和高的值不能为负数)    提供两个构造函数:    无参构造函数将长、宽和高都初始化为1。    另一个构造函数有三个参数初始化长、宽和高为指定的值,并调用超类的带两个参数的构造函数。    提供三个方法:    覆盖Area计算立方体的表面积    Volume计算立方体的体积。    覆盖show方法返回以下格式的字符串:“长=xx, 宽=xx, 高=xx”,其中xx为具体的值。 代码如下: public class Cube extends Rectangle{ private double heigth; public Cube(){ heigth=1; } public double Area(){ return ((getLength()*getWidth()+getLength()*heigth+getWidth()*heigth))*2; } public double Volume(){ return getLength()*getWidth()*heigth; } public void Cubeshow(){ } public String show(){ return "矩形的长=" + getLength()+","+"矩形的宽="+getWidth()+","+"矩形的高="+heigth; } public static void main(String[] args) { Cube a=new Cube(); a.setLength(4); a.setWidth(7); a.setHeigth(3); System.out.println(a.show()); System.out.println("矩形的表面积="+a.Area()); System.out.println("矩形的体积="+a.Volume()); } public double getHeigth() { return heigth; } public void setHeigth(double heigth) { this.heigth = heigth; } } 运行结果如下表所示: 3、编写抽象类Animal,要求有如下成员 1) 两个普通属性Age(年龄)和weight(重量) 2) 编写get、set方法用于设定和读取Age和weight属性。 2) 抽象方法Shout用于描述该类型动物的叫声,       抽象方法Type用于描述动物种类 3) 抽象方法TellAboutSelf用于将该动物的各属性特征输出 代码如下: package Animal.base; import Animal.Runner; public abstract class Animal implements Runner { private int age; private int weight; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getWeight() { return weight; } public void setWeight(int weight) { this.weight = weight; } public abstract String shout(); public abstract String Type(); public abstract String TellAboutSelf(); } 4) 派生类Cat和Dog,并使用实例对派生类进行测试。 猫的实例化代码如下: package Animal.sub; import Animal.base.Animal; public class Cat extends Animal { public String TellAboutSelf() { return "颜色白色,爱吃鱼"; } public String Type() { return "cat"; } public String shout() { return "miao~"; } public static void main(String[] args) { Cat a=new Cat(); a.setAge(2); a.setWeight(13); System.out.println(a.getAge()); System.out.println(a.getWeight()); System.out.println(a.Type()); System.out.println(a.shout()); System.out.println(a.TellAboutSelf()); } public String showRunner() { return "活泼可爱"; } } 运行结果如下所示: 狗的实例化代码如下: package Animal.sub; import Animal.base.Animal; public class Dog extends Animal { public String shout() { return "wangwang~"; } public String TellAboutSelf() { return "活泼可爱"; } public String Type() { return "dog"; } public static void main(String[] args) { Dog D=new Dog(); D.setAge(4); D.setWeight(12); System.out.println(D.getAge()); System.out.println(D.getWeight()); System.out.println(D.Type()); System.out.println(D.shout()); System.out.println(D.TellAboutSelf()); } public String showRunner() { return "张牙舞爪"; } } 运行结果如下表所示: 4、改写第三题要求如下    1)添加接口Runner存放在包Animal中,要求该接口有抽象方法showRunner()由于描述行走方式         Interface Runner           {              abstract String showRunner();           }    2)要求改写抽象类Animal存放在包Animal.base中,并实现接口Runner;    3)要求改写派生类Cat和Dog存放在包Animal.sub中,并实现接口Runner中的方法ShowRunner 代码如下: package Animal; public interface Runner { abstract String showRunner(); } 如下表所示: Java面:编程题(Thread和Runnable) 【考题题干】创建两个线程,每个线程打印出线程名字后再睡眠,给其他线程以执行的机会,每个线程前后共睡眠5次。最后打印出线程结束信息退出。要求分别采用从Thread中继承和实现Runnable接口两种方式来实现程序(即写两个程序)。 【参考答案】 (1)继承Thread类实现方式 public class BB extends Thread{         int time;         public BB(int t){                                time = t;         }         public void run(){                 for(int i=1;i<=5;i++){                         System.out.println(Thread.currentThread().getName()+"  "+i+"次");                         try {                                 Thread.sleep(time);                         } catch (InterruptedException e) {                                 e.printStackTrace();                         }                         if(i==5){                                 System.out.println(Thread.currentThread().getName()+"退出了");                         }                 }                 }         public static void main(String[] args){                 BB b1 = new BB(500);                 b1.setName("线程1");                 b1.start();                 BB b2 = new BB(200);                 b2.setName("线程2");                 b2.start();                 BB b3 = new BB(300);                 b3.setName("线程3");                 b3.start();                         } } (2)Runnable接口实现方式 public class BB implements Runnable{         private int time;         private Thread th;         public BB(String name,int n){                                time = n;                 th = new Thread(this,name);                 th.start();         }         public void run(){                 for(int i=1;i<=5;i++){                         System.out.println(Thread.currentThread().getName()+"  "+i+"次");                         try {                                 Thread.sleep(time);                         } catch (InterruptedException e) {                                 e.printStackTrace();                         }                         if(i==5){                                 System.out.println(Thread.currentThread().getName()+"退出了");                         }                 }                 } public static void main(String[] args){                 BB b1 = new BB("线程1",500);                                BB b2 = new BB("线程2",200);                 BB b3 = new BB("线程3",300);                                                        } }    
/
本文档为【代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
相关资料
热门搜索
你可能还喜欢

历史搜索

    清空历史搜索