myadapterdemo.java

来自「java课程的资料以及实验的代码」· Java 代码 · 共 85 行

JAVA
85
字号
import java.awt.*;
import java.awt.event.*;

public class MyAdapterDemo
{
	public static void main(String[] args)
	{
		MyFrame frm = new MyFrame();
		frm.show();
	}
}

class MyFrame extends Frame
{
	boolean w;
	public MyFrame()
	{
		w=false;
		setTitle("测试适配器类");
		setSize(300,200);
		
		MyPanel panel = new MyPanel();
		add(panel);
		addWindowListener(new MyWindowAdapter());
	}
	
	private class MyWindowAdapter extends WindowAdapter
	{
		public void windowClosing(WindowEvent wevent)
		{
			if (w)
				dispose();
			else
				System.exit(0);	
		}
	}
}

class MyPanel extends Panel
{
	public MyPanel()
	{
		Button bButton = new Button("蓝色");
		
		add(bButton);
		
		MyMouseAdapter bAction = new MyMouseAdapter(Color.blue);
		MyMouseMotionAdapter rAction = new MyMouseMotionAdapter(Color.red);
		
		bButton.addMouseListener(bAction);
		addMouseMotionListener(rAction);
	}
	
	private class MyMouseAdapter extends MouseAdapter
	{
		private Color bgColor;
		
		public MyMouseAdapter(Color c)
		{
			bgColor = c;
		}
		
		public void mouseClicked(MouseEvent mevent)
		{
			setBackground(bgColor);
			repaint();
		}
	}
	
	private class MyMouseMotionAdapter extends MouseMotionAdapter
	{
		private Color bgColor;
		
		public MyMouseMotionAdapter(Color c)
		{
			bgColor = c;
		}
		
		public void mouseMoved(MouseEvent mevent)
		{
			setBackground(bgColor);
			repaint();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?