《Java2实用教程》课后习题参考答案(7)

2019-04-02 11:37

} else {

text2.setText(\输入了非法格式的E-mail 地址\} } } }

public class Test {

public static void main(String args[]) {

new WindowBox(); } }

8. 写一个应用程序,要求编写一个Pane l 的子类MyPanel,MyPane l 中有一个文本框和一个按钮,要求 MyPane l 的实例作为其按钮的ActionEven t 事件的监视器,当单击按钮时,程序获取文本框中的文本, 并将该文本作为按钮的名称。然后在编写一个Fram e 的子类,即窗口。窗口的布局为BorderLayou t 布 局。窗口中添加两个MyPane l 面板,分别添加到窗口的东部区域和西部区域。 答: import java.awt.*; import java.awt.event.*;

class MyPanel extends Panel implements ActionListener {

String name; TextField text; Button button; MyPanel() {

text=new TextField(10); button=new Button(\确定\add(text); add(button);

button.addActionListener(this); addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

} } ); }

public void actionPerformed(ActionEvent e) {

if(e.getSource()==button) {

name=text.getText(); button.setLabel(name); } } }

class MyFrame extends Frame {

MyPanel panel1,panel2; MyFrame() {

panel1=new MyPanel(); panel2=new MyPanel();

add(panel1,BorderLayout.EAST); add(panel2,BorderLayout.WEST); setBounds(100,100,400,100); setVisible(true); validate(); } }

public class Test {

public static void main(String args[]) {

MyFrame win=new MyFrame(); } }

9. 参照例子7.1 8 编写一个应用程序,要求有一个画布,在画布上绘制一个矩形,用户通过文本框输入矩

形的宽和高以及矩形左上角的位置坐标。 答: import java.awt.*;

import java.awt.event.*; class Mycanvas extends Canvas {

int x,y,w,h; Mycanvas() {

setBackground(Color.cyan); }

public void setX(int x) { this.x=x; }

public void setY(int y) { this.y=y; }

public void setW(int w) { this.w=w; }

public void setH(int h) { this.h=h; }

public void paint(Graphics g) {

g.drawRect(x,y,w,h); } }

class WindowCanvas extends Frame implements ActionListener {

Mycanvas canvas;

TextField text1,text2,text3,text4; Button button; WindowCanvas() {

canvas=new Mycanvas(); text1=new TextField(4);

text2=new TextField(4); text3=new TextField(5); text4=new TextField(5);

Panel pNorth=new Panel(),pSouth=new Panel(); button=new Button(\确定\button.addActionListener(this); pNorth.add(new Label(\矩形的宽: \pNorth.add(text3);

pNorth.add(new Label(\矩形的高: \pNorth.add(text4);

pSouth.add(new Label(\左上角位置坐标:\pSouth.add(text1); pSouth.add(text2); pSouth.add(button);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0); } } );

add(canvas,BorderLayout.CENTER); add(pNorth,BorderLayout.NORTH); add(pSouth,BorderLayout.SOUTH); setBounds(100,100,500,500); setVisible(true); validate(); }

public void actionPerformed(ActionEvent e) {

int x,y,w,h; try {

x=Integer.parseInt(text1.getText()); y=Integer.parseInt(text2.getText()); w=Integer.parseInt(text3.getText()); h=Integer.parseInt(text4.getText());

canvas.setX(x); canvas.setY(y); canvas.setW(w); canvas.setH(h); canvas.repaint(); }

catch(NumberFormatException ee) {

x=0;y=0;w=0;h=0; } } }

public class Test {

public static void main(String args[]) {

new WindowCanvas(); } }

10.编写应用程序,有一个窗口对象,该窗口取它的默认布局: BorderLayou t 布局,北面添加一个Lis t 组

件,该组件有四个商品名称的选项。中心添加一个文本区,当选择Lis t 组件中的某个选项后,文本区 显示对该商品的价格和产地:当双击Lis t 组件中的某个选项后,文本区显示该商品的详细广告。 答: import java.awt.*; import java.awt.event.*;

class WindowGoods extends Frame implements ActionListener,ItemListener {

String s[]={\产地:北京\产地:上海\产地:沈阳\产地:广东\String p[]={\价格:3200\价格:158\价格:13.2\价格:320/打\

String a[]={\本商品****\本商品*****\本商品******\本商品*******\List list; TextArea text; WindowGoods() {

list=new List(3,false); text=new TextArea(6,20); text.setEditable(false); list.add(\商品1\


《Java2实用教程》课后习题参考答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数据库系统模拟试卷--上海交大成人教育

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: