Java2实用教程(第三版)课后答案-清华大学出版社 耿祥义主编 下载本文

内容发布更新时间 : 2024/12/23 21:46:28星期一 下面是文章的全部内容请认真阅读。

public class Test {

public static void main(String args[]) {

new WindowCanvas(); } }

10.编写应用程序,有一个窗口对象,该窗口取它的默认布局: BorderLayout布局,北面添加一个List组件,该组件有四个商品名称的选项。中心添加一个文本区,当选择List组件中的某个选项后,文本区显示对该商品的价格和产地:当双击List组件中的某个选项后,文本区显示该商品的详细广告。 答: 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\list.add(\商品2\list.add(\商品3\list.add(\商品4\

add(list,BorderLayout.NORTH); add(text,BorderLayout.CENTER);

list.addItemListener(this); list.addActionListener(this);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0); } } );

setBounds(100,100,300,300);

setVisible(true); validate(); }

public void itemStateChanged(ItemEvent e) {

if(e.getItemSelectable()==list) {

int m=list.getSelectedIndex(); text.setText(p[m]+'\\n'+s[m]); } }

public void actionPerformed(ActionEvent e) {

int n=list.getSelectedIndex(); text.setText(a[n]); } }

public class Test {

public static void main(String args[]) {

new WindowGoods(); } }

11.编写程序,观察各种组件设置背景色和前景色的情况。 答: import java.awt.*; import java.awt.event.*;

class WindowColor extends Frame implements ActionListener {

Button button; //按钮 TextField textfield; //文本框 TextArea textarea; //文本区 Mypanel panel; //面板

Checkbox box; //选择框 Choice choice; //下拉列表 List list; //滚动列表 Label label; //标签 Mycanvas can; //画布

Button buttonBackColor,buttonForeColor; WindowColor() {

button=new Button(\我是按钮\

textfield=new TextField(\我是文本框\textarea=new TextArea(6,15); textarea.setText(\我是文本区\textfield.setEditable(false); textarea.setEditable(false); panel=new Mypanel();

box=new Checkbox(\我是选择框\choice=new Choice(); choice.add(\我是下拉列表\list=new List(3,false); list.add(\我是滚动列表\label=new Label(\我是标签\can=new Mycanvas();

buttonBackColor=new Button(\背景色\buttonForeColor=new Button(\前景色\setLayout(new FlowLayout()); add(button); add(textfield); add(textarea); add(panel); add(box); add(choice); add(list); add(label); add(can);

add(buttonBackColor); add(buttonForeColor);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0); } } );

buttonBackColor.addActionListener(this); buttonForeColor.addActionListener(this); setBounds(100,100,300,300); setVisible(true); validate();

}

public void actionPerformed(ActionEvent e) {

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

button.setBackground(Color.yellow); textfield.setBackground(Color.yellow); textarea.setBackground(Color.yellow); panel.setBackground(Color.yellow); box.setBackground(Color.yellow); choice.setBackground(Color.yellow); list.setBackground(Color.yellow); label.setBackground(Color.yellow); can.setBackground(Color.yellow); }

else if(e.getSource()==buttonForeColor) {

button.setForeground(Color.blue); textfield.setForeground(Color.blue); textarea.setForeground(Color.blue); panel.setForeground(Color.blue); box.setForeground(Color.blue); choice.setForeground(Color.blue); list.setForeground(Color.blue); label.setForeground(Color.blue); can.setForeground(Color.blue); } } }

class Mycanvas extends Canvas {

Mycanvas(){ }

public void paint(Graphics g) {

g.drawString(\我是画布\} }

class Mypanel extends Panel {

Button button1; Mypanel()

{

button1=new Button(\我是面板\add(button1); } }

public class Test {

public static void main(String args[]) { new WindowColor(); } }

12.编写应用程序,有一个标题为“移动”的窗口,窗口的布局为null,在窗口中有两个按钮,单击一个按钮让另一个按钮移动。 答: import java.awt.*; import java.awt.event.*;

class WindowMove extends Frame implements ActionListener {

Button button1,button2; WindowMove(String s) { super(s); setLayout(null);

button1=new Button(\我让它横向走动\button2=new Button(\我让它纵向走动\button1.setBackground(Color.blue); button2.setBackground(Color.green); button1.addActionListener(this); button2.addActionListener(this);

button1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); button2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); add(button1); add(button2);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0); } } );

button1.setBounds(20,80,100,30); button2.setBounds(100,180,100,30);