62,614
社区成员
发帖
与我相关
我的任务
分享
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame{
MyPanel myPanel;
JButton Ok = null;
JButton Cancel = null;
public Main()
{
this.setLayout(null);
Ok = new JButton("OK");
Cancel = new JButton("Cancel");
this.add(Ok);
Ok.setBounds(10, 10, 80, 30);
this.add(Cancel);
Cancel.setBounds(10, 40, 80, 30);
myPanel = new MyPanel();
this.add(myPanel);
myPanel.setBounds(100, 10, 200, 200);
this.addMouseListener(myPanel);
this.setSize(400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String args[])
{
new Main();
}
}
class MyPanel extends JPanel implements MouseMotionListener, MouseListener
{
JButton Ok;
JButton Cancel;
int x = -10;
int y = -10;
public MyPanel()
{
this.setBackground(Color.CYAN);
}
public void paint(Graphics graphics)
{
super.paint(graphics);
graphics.setColor(Color.blue);
graphics.draw3DRect(10, 10, 180, 180, true);
graphics.fillOval(x - 100, y - 10, 20, 20);
}
@Override
public void mouseDragged(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseMoved(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
if( arg0.getX() > 100 && arg0.getX() < 300 && arg0.getY() > 10 && arg0.getY() < 200 )
{
x = arg0.getX();
y = arg0.getY();
repaint();
}
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}