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); setBounds(100,100,500,500); setVisible(true); validate(); }
public void actionPerformed(ActionEvent e) {
Rectangle rect1=button1.getBounds(); int x1=(int)rect1.getX(); int y1=(int)rect1.getY();