📄 example6_8.java
字号:
package ForTest;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//主类
public class Example6_8 extends Applet{
public void init(){
MyWindow myWindow=new MyWindow("鼠标事件示例程序");
}
}
//窗口类
class MyWindow extends JFrame implements MouseListener{
JTextArea text;
MyPanel panel;
int x,y,r=10;
int mouseFlag=0;
static String mouseStates[]={"鼠标按下","鼠标松开","鼠标进来",
"鼠标离开","鼠标单击"};
//构造方法
MyWindow(String s){
super(s);
Container con=this.getContentPane();
con.setLayout(new GridLayout(2,1));
this.setSize(200,300);
this.setLocation(100,100);
panel=new MyPanel();
con.add(panel);
text=new JTextArea(10,20);
text.setBackground(Color.YELLOW);
con.add(text);
this.addMouseListener(this);
this.setVisible(true);
this.pack();
}
public void paint(Graphics g){
r=r+4;
if(r>80){
r=10;
}
text.append(mouseStates[mouseFlag]+"了,位置是("+x+", "+y+")\n");
panel.print(r);
}
public void mouseClicked(MouseEvent e) {
x=e.getX();
y=e.getY();
mouseFlag=4;
repaint();
}
public void mouseEntered(MouseEvent e) {
x=e.getX();
y=e.getY();
mouseFlag=2;
repaint();
}
public void mouseExited(MouseEvent e) {
x=e.getX();
y=e.getY();
mouseFlag=3;
repaint();
}
public void mousePressed(MouseEvent e) {
x=e.getX();
y=e.getY();
mouseFlag=0;
repaint();
}
public void mouseReleased(MouseEvent e) {
x=e.getX();
y=e.getY();
mouseFlag=1;
repaint();
}
}
//面板类
class MyPanel extends JPanel{
public void print(int r){
Graphics g=this.getGraphics();
g.clearRect(0,0,this.getWidth(),this.getHeight());
g.setColor(Color.RED);
g.fillOval(10, 10, r, r);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -