JAVA程序设计.doc_第1页
JAVA程序设计.doc_第2页
JAVA程序设计.doc_第3页
JAVA程序设计.doc_第4页
JAVA程序设计.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计复习题1在JApplet窗口中显示两张图片(soldier.jpg),一张是原尺寸,一张放大。 /*引入java.awt包和javax.swing包。*/ import java.awt.*; import javax.swing.*; public class Eg7_1 extends JApplet Image soldier; /定义图形类对象 public void init() soldier = getImage(getCodeBase(),soldier.jpg);/*获得图像*/ public void paint(Graphics g) g.drawImage(soldier,0,0,this); /* 用g(画笔)绘制图片,参数0,0是屏幕左角顶点坐标*/ g.drawImage(soldier,0,65,300,60,this); /参数300,60是确定图像的大小。 2创建一个窗口,在窗口中加入一个按钮,初涉Swing容器框架、内容面板及基本组件。 import java.awt.*; /引入java.awt包。 import javax.swing.*; /引入java.swing包。 public class Eg7_2 /声明类 public Eg7_2 () /写该类的构造方法 JFrame f = new JFrame(); /创建窗口底层容器框架(JFrame)对象f。 Container contentPane = f.getContentPane(); JButton button = new JButton (按钮); /创建按钮类对象实例。 contentPane.add(button); /将按钮组件button加到容器我的窗口 f.setTitle(我的窗口); f.setSize(400,300); f.setVisible(true); public static void main(String args) new Eg7_2(); 3利用面板(JPanel)设计图7.4所示的版面的容器结构,在窗口中放置五个标签,五个标签的摆放位置要求如图。 import java.awt.*; /步骤1:导入程序所需的java包 import java.awt.event.*; import javax.swing.*; /步骤2:声明面版容器类 public class Eg7_3 public Eg7_3() /步骤3:编写该类的构造方法 JFrame f = new JFrame(JPanelDemo); /创建JFrame实例f。 Container contentPane = f.getContentPane();/创建内容面版实例 contentPane.setLayout(new GridLayout(2,1);/设置面版为网格布局管理器 JLabel label = new JLabel5; /创建标签对象数组 for(int i=0; ilabel.length ; i+) /用循环为数组元素赋初值 labeli = new JLabel(标签 +(i+1),JLabel.CENTER); labeli.setBackground(Color.lightGray); labeli.setBorder(BorderFactory.createEtchedBorder(); labeli.setOpaque(true); JPanel panel1 = new JPanel(new GridLayout(1,1);/*创建面版容器实例*/ panel1.add(label0); /将第一个标签加到panel中 JPanel panel2 = new JPanel(new GridLayout(1,2);/ 创建面版实例2 JPanel panel3 = new JPanel(new GridLayout(1,2);/创建面版实例3 panel3.add(label1); /把第2个数组元素加到panel3上 panel3.add(label2); /把第3个数组元素加到panel3上 JPanel panel4 = new JPanel(new GridLayout(2,1);/ 创建面版实例4 panel4.add(label3); /把第4个数组元素加到panel4上 panel4.add(label4); /把第5个数组元素加到panel4上 panel2.add(panel3); /将面版容器panel3加到panel2上。 panel2.add(panel4); /将面版容器panel4加到panel2上。 contentPane.add(panel1); /将面版容器panel1加到内容面版上。 contentPane.add(panel2); /将面版容器panel2加到内容面版上。 f.pack(); /使窗口可见。 f.show(); /使窗口中的组件可见。 f.addWindowListener(new WindowAdapter() /41-43行处理关闭窗口动作 public void windowClosing(WindowEvent e) System.exit(0); ); public static void main(String arg) new Eg7_3(); 4设计一程序,绘制一个从矩形变化到圆的图形,要求先从坐标(30,50)处画一120120的矩形,再在该矩形中绘制7个圆角渐变为圆的矩形,最后的圆用红色填充。 import java.applet.*; /* 设计步骤1:引*/ import java.awt.*; public class Eg7_4 extends Applet /步骤2:声明myRectRound类继承父类Applet。 public void paint(Graphics g) /步骤3:编写paint()绘图方法。 int x=20,y=20,w1=120,h1=120,hd1=10,hd2=10,i; /定义局部变量 g.drawRect(20,20,120,120); /在坐标(30,50)处画一个宽150高120的矩形。 g.setColor(Color.green); /设置前景色为绿色 g.fillRect(21,21,119,119); /在坐标(32,52)处填充一个宽150高120的矩形。 g.setColor(Color.red); /设置前景色为红色 for(i=1;i8;i=i+1) /用for循环画7个不同圆角矩形, g.drawRoundRect(x+=2,y+=2,w1=w1-8,h1=h1-8,hd1*i,hd2*i); g.fillRoundRect(x+=2,y+=2,w1=w1-4,h1=h1-4,hd1*i,hd2*i);/圆角矩形 5设计一个程序,使用绘制椭圆的方法绘制一个图7-8所示的小熊图像。 import java.applet.*; /步骤1:引入包 import java.awt.*; public class Eg7_5 extends Applet /步骤2:声明类 public void paint(Graphics g) /步骤3:编写paint()方法 g.drawOval(40,60,80,60); /6、7行绘制小熊的耳朵 g.drawOval(180,60,80,60); /绘制小熊的耳朵 g.drawOval(60,70,180,190); /绘制一个椭圆作为小熊的脸 g.drawOval(86,130,50,40); /912行绘制小熊的眼睛 g.fillOval(97,130,28,40); g.drawOval(166,130,50,40); g.fillOval(177,130,28,40); g.drawOval(123,170,50,50); /绘制小熊的鼻子嘴 6. 绘制一个7彩的扇面。import java.applet.*; import java.awt.*; public class Eg7_6 extends Applet public void paint(Graphics g) int r=20; Color col =Color.red,Color.blue, Color.yellow, Color.orange,Color.green, Color.magenta,Color.cyan; for(int i=0;i7;i+=1) /采用循环方法绘制7个扇形图形。 /g.setColor(Color.black); /设置前景色为黑色 /g.drawArc(30,40,150,150,r,20); /用前景色画一段弧, g.setColor(coli); /设置前景色为颜色数组下标为i的颜色。 g.fillArc(30,40,149,149,r,20); /填充一扇形。 r+=20; 7. 用Graphics2D类提供的方法画多彩直线.import java.applet.*; /步骤1引入Graphics2D类需要的java.awt.*和java.awt.geom.*包 import java.awt.*; import java.awt.geom.*; /该包中含有Graphics2D类的方法 public class Eg7_7 extends Applet /步骤2: 声明Line2D类,继承Applet。 public void paint(Graphics g) /步骤3:写paint()方法, int i,h1=20,h2=70,s1=0,s2=255,s3=0;/定义变量 Color color; /定义颜色类对象 Graphics2D g_2D=(Graphics2D)g; /将对象g强制转换为Graphics2D类对象g_2D Line2D line; /创建Line2D类对象line for(i=1;i=4;i+=1) /使用for循环绘制不同颜色的线段 color=new Color(s1,s2,s3); line=new Line2D.Double(h1,20,h2,20); g_2D.setColor(color); /设置当前色 g_2D.draw(line); /绘制直线 h1+=50;h2+=50; s1+=50;s2-=50; 8. 绘制三个弧形图,一个是打开的弧,角度(45,180),高和宽(80,100),角度(45,180)。一个是闭合的弧,角度(45,180),高和宽(80,100),角度(45,180),一个是闭合的弧,角度(45,180),高和宽(80,100),角度(45,300)。 import java.applet.*; import java.awt.*; import java.awt.geom.*; public class Eg7_8 extends Applet public void paint(Graphics g) /步骤3:写绘图方法paint() g.setColor(Color.red); /设置前景色为红色。 Graphics2D g_2D=(Graphics2D)g;/强制将g转换为Graphics2D对象。 Arc2D arc1=new Arc2D.Double(10,10,80,100,45,180, Arc2D.OPEN); Arc2D arc2=new Arc2D.Double(50,60,80,80,45,180, Arc2D.CHORD); Arc2D arc3=new Arc2D.Double(100,110,80,80,45,300, Arc2D.PIE); g_2D.fill(arc1); /画圆弧1。 g_2D.fill(arc2); /画圆弧2。 g_2D.fill(arc3); /画圆弧3。 9. 设计一个程序在窗口的东南西北中各放置一按钮,水平和垂直间据均为6。import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Eg7_9 public Eg7_9() /构造方法 JFrame f = new JFrame(123456); /创建FRame对象f,并用构造方法进行实例化。 Container contentPane = f.getContentPane(); contentPane.setLayout(new BorderLayout(6,6);/边界布局,行和列的间隔为6像素 contentPane.add(new JButton(东),BorderLayout.EAST); / 东 contentPane.add(new JButton(西),BorderLayout.WEST); / 西 contentPane.add(new JButton(南),BorderLayout.SOUTH); / 南 contentPane.add(new JButton(北),BorderLayout.NORTH); / 北 contentPane.add(new JLabel(謜errawatwatewatewatwat3?,JLabel.CENTER),BorderLayout.CENTER); /中 /f.setTitle(MyBorderLayout); /设置窗口标题 f.setSize(400,300); /f.pack(); /以紧凑方式显示 f.setVisible(true); /设置可见,缺省为不可见 public static void main(String args) new Eg7_9(); 10. 将六个按钮顺序摆放在窗口中,且中央对齐,每个组件之间水平间距10,垂直间距10。import java.awt.*; import java.awt.event.*;import javax.swing.*;public class Eg7_10 public Eg7_10() JFrame f = new JFrame();/创建FRame对象f,并用构造方法进行实例化。 Container contentPane = f.getContentPane(); contentPane.setLayout(new FlowLayout(FlowLayout.LEFT,10,10); contentPane.add(new JButton(第一个按钮); contentPane.add(new JButton(第二个按钮); contentPane.add(new JButton(第三个按钮); contentPane.add(new JButton(第四个按钮); contentPane.add(new JButton(第五个按钮); contentPane.add(new JButton(放在最后的一个按钮); f.setTitle(流布局管理器); /设置窗口标题 f.setSize(f.getPreferredSize(); /书上错 /f.setSize(400,200); /按JFrame默认的窗口尺寸显示窗口容器框架内容。 f.setVisible(true); /显示放置在容器面板中的按钮。 f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public static void main(String args) Eg7_10 b = new Eg7_10(); 11. 设计一个计算器的面板,只要求布置九个数字按钮。import java.awt.*; import java.awt.event.* ; import javax.swing.*; public class Eg7_11 public Eg7_11() JFrame f = new JFrame(); /创建FRame对象f,并用构造方法进行实例化 Container contentPane = f.getContentPane(); contentPane.setLayout(new GridLayout(5,3); /*网格布局:3行3列-有改动*/ for( int i=1;i=9;i+) contentPane.add(new JButton(+i); contentPane.add(new JButton(+); contentPane.add(new JButton(-); contentPane.add(new JButton(*); contentPane.add(new JButton(/); contentPane.add(new JButton(.); contentPane.add(new JButton(=); f.setTitle(网格布局管理器); /设置窗口标题 f.pack(); f.setVisible(true); public static void main(String args) Eg7_11 b = new Eg7_11(); 12. 制作一个边框具有凹陷效果的窗口。/步骤1:引入Javade 包,因为在该例中使用了Border类,所以别忘了引入javax.swing.border.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*; /步骤2:声明类public class Eg7_12 /这是一个应用程序,我们直接用主方法main()实现 public static void main(String args) JFrame f = new JFrame(myBorder); Container contentPane = f.getContentPane(); /窗口的默认布局是边界布局 JLabel label = new JLabel(1234567890,JLabel.CENTER); /创建一个标签实例 label.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED);/*该语句创建一个带有凹陷边框的组件,这里的组件是标签,它充满整个窗口,也让人就从视觉上看到的是一个凹陷的窗口。我们用setBorder方法对标签对象实例设置边框,参数我们用匿名方法用BorderFactory调用createBevelBorder方法来创建由参数BevelBorder.LOWERED所描述的组件边框。*/ contentPane.add(label); /把标签加到内容面板上。 f.setSize(200,150); /设置窗口的大小 f.show(); 13. 设计一程序,在用户图形界面中用标签方法实现文字和图形的提示信息,提示信息为“今日有雨”。(图形文件名为yu.jpg。)import java.awt.*; /步骤1:程序开始部分,导入程序中要用的包;import java.awt.event.*;import javax.swing.*; /步骤2:声明类,给类起一个好名字,类名前加上public classpublic class Eg7_13 public static void main(String args) /步骤3:编写应用程序的主方法main() JFrame f = new JFrame(标签); /创建窗口框架对象实例 Container contentPane = f.getContentPane(); /创建窗口框架内容面板对象实例 Icon icon=new ImageIcon(a.gif); /制作Icon组件 JLabel label= new JLabel(今日有雨, icon, JLabel.CENTER); /创建标签实例 label.setHorizontalTextPosition(JLabel.CENTER); /书上有错 / 水平 /设置字符放在标签图像的中间。没有该项设置文字将放在标签的右边 label.setVerticalTextPosition(JLabel.TOP); /设置字符放在标签图像的上面 / 垂直 contentPane.add(label); /蒋标签放到内容面板上 f.pack(); f.show(); / myLatel结束14. 设计一程序,在用户图形界面中建立两个按钮,一个按钮带有“文字”文字信息,一个带有“图形”文字。当按下“文字”按钮时显示文字信息 “今日有雨”,按下 “图形”按钮时显示一个下雨图形(yun.jpg)。import java.awt.*; /步骤1:import java.awt.event.*;import javax.swing.*; /步骤2:声明按钮类,public class Eg7_14 /步骤3:这是一个应用程序,从这里开始写main()主方法。 public static void main(String args) JFrame f = new JFrame(按钮例题); Container contentPane = f.getContentPane(); contentPane.setLayout(new GridLayout(1,2); JButton b1 = new JButton(天气); /创建按钮实例 /以下两行书上有错,请改正 b1.setHorizontalTextPosition(JButton.CENTER); /定义标签中水平方向的文字居中 b1.setVerticalTextPosition(JButton.TOP); /定义标签中垂直方向的文字以顶端对齐 contentPane.add(b1); Icon icon=new ImageIcon(.a.gif); JButton b2 = new JButton(icon);/书有错 ,请改正 b2.setHorizontalTextPosition(JButton.CENTER); b2.setVerticalTextPosition(JButton.TOP); contentPane.add(b2);/书有错 f.pack(); f.show(); f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); 15. 设计一程序,要求在用户图形界面中创建三个按钮,一个是文字按钮,一个图形按钮,一个是图像文字按钮。按钮要求实现“开/关”功能,既表现为按下时呈现陷下状态,再按时弹起恢复原状。 import java.awt.*;import java.awt.event.*;import javax.swing.*; /步骤2:声明类public class Eg7_15 public static void main(String args) /步骤3:写主方法 JFrame f = new JFrame(按钮实例); /创建窗口框架实例f 。 Container contentPane = f.getContentPane(); /用f创建内容面板实例 contentPane.setLayout(new GridLayout(3,1); /设置内容面板的布局管理器 /Icon icon1=new ImageIcon(.nuts.gif); Icon icon2=new ImageIcon(.cherry.gif); Icon icon3=new ImageIcon(.chocolate.gif); JToggleButton b1 = new JToggleButton(我是按钮1); /创建文字按钮 JToggleButton b2 = new JToggleButton(icon2); /创建图像按钮 JToggleButton b3 = new JToggleButton(我是按钮3,icon3);/创建文字和图像按钮 contentPane.add(b1); /将文字按钮放到框架的内容面板上 contentPane.add(b2); /将图像按钮放到框架的内容面板上 contentPane.add(b3); /将文字图像按钮放到框架的内容面板上 f.pack(); f.show(); f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); 16. 设计一GUI程序,在窗口中制作一个按钮,当将鼠标的光标移到按钮上时显示图一,按下按钮时显示图二,离开按钮时显示图三。 import java.awt.*;import java.awt.event.*;import javax.swing.*; public class Eg7_16 public static void main(String args) JFrame f = new JFrame(myRollover); Container contentPane = f.getContentPane(); Icon rollover = new ImageIcon(.1.gif); /创建icon对像实例rollover Icon general = new ImageIcon(.2.gif);/创建icon对像实例 general Icon press = new ImageIcon(.3.gif); /创建icon对像实例 press Icon disable = new ImageIcon(.4.gif);/创建icon对像实例 disable JButton b = new JButton(); /创建按钮对像实例 b b.setRolloverEnabled(true); /设按钮b的标示具有翻滚的功能 b.setIcon(general); /将icon实例general加载到按钮上,按钮上就显示该图形 b.setRolloverIcon(rollover); /按钮翻滚后显示的图形是rollover b.setPressedIcon(press); /鼠标按下时显示press图形 contentPane.add(b); /将按钮加到内容面板上 f.pack(); /显示窗口 f.show(); /显示窗口中的组件 f.addWindowListener(new WindowAdapter() /处理窗口关闭 public void windowClosing(WindowEvent e) System.exit(0); ); 17. 设计一程序,要求在图形用户界面中输入产品的说明书,输入内容有产品名称、产品规格、产品编号、产品说明。import java.awt.*;import java.awt.event.*;import javax.swing.*; public class Eg7_17 public static void main(String args) JFrame f = new JFrame(JTextArea例题); /创建JFrame窗口容器类对象f。 Container contentPane = f.getContentPane();/创建内容面板对象实例 contentPane.setLayout(new BorderLayout(); /设置内容面板采用边界布局管理器 JPanel p1 = new JPanel(); /创建面板容器实例。 p1.setLayout(new GridBagLayout(); /设置面板采用网袋布局管理器 GridBagConstraints gbc = new GridBagConstraints();/创建网袋格布局对象gbc。 gbc.anchor = GridBagConstraints.WEST; /确定网袋格布局管理器对象gbc的位置 gbc.insets = new Insets(2,2,2,2); /gbc与边界的距离(上,左,下,右) p1.setBorder(BorderFactory.createTitledBorder(建构一般的JTextArea); /设置边界框和说明文字 JLabel l1 = new JLabel(产品名称:); /创建4个标签实例 JLabel l2 = new JLabel(产号编号:); JLabel l3 = new JLabel(产品规格:); JLabel l4 = new JLabel(产品说明:); JTextArea t1 = new JTextArea(2,8); /创建4个文本域实例 JTextArea t2 = new JTextArea(10,2);/书有错,请改正 JTextArea t3 = new JTextArea(TravelMate 372 系列,3,10); JTextArea t4 = new JTextArea(采用因特尔迅驰移动技术,因特尔奔腾M处理器1.5GHz,5,10); /以最合适的长度存放字符串 t1.setText(宏基笔记本电脑); /向文本域t1写入文字数据,清除以前的内容 t2.append(A19345-by3874534-34345); /在文本域t2中已有文字后写入该字符串, t4.setLineWrap(true); /*激活自动换行功能,当文字输入长度大于文本域提供的宽 度时,会自动换行。*/ gbc.gri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论