📄 ballpanel.java
字号:
package com.ly.util;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class ballpanel extends JPanel implements TimerClient,MouseListener,MouseMotionListener
{
private String winner;
private int i,j,score;
int ix,iy;
private int kx,ky;
ballpanel(){
score=0;
i=0;j=0;
ix=1;iy=1;
kx=0;ky=550;
setOpaque(true);
starttime();
addMouseListener(this); ///注册事件处理对象
addMouseMotionListener(this);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
drawball(g,i,j,kx);
}
public void drawball(Graphics g,int i,int j,int kx){
g.setColor(Color.red);
g.fillOval(i,j,20,20);
g.setColor(Color.blue);
g.fillRect(kx,550,80,20);
Font f1 = new Font("TimesRoman",Font.BOLD,60);
g.setFont(f1);//设置字体
g.drawString("当前得分:"+String.valueOf(score),100,250);
}
public void timerEvent(int id)
{
if(ifok()>0){
repaint();
}
else
{
stoptime();
JOptionPane.showMessageDialog(mybox.thisGame,"这次你输了!还玩不!?","ERRO",JOptionPane.PLAIN_MESSAGE);
}
//System.out.println("timerEvent...");
}
public void starttime()
{
TimerCtl.startTimer(this,1,8*100,true);
}
public void stoptime()
{
TimerCtl.stopTimer(this,1);
}
public int ifok()
{
if(ix>0)
{ if((i+20)>570)
ix=-1;
}
else
{ if((i-20)<0)
ix=1;
}
if(ix>0)
{
i=i+20;
}
else
{
i=i-20;
}
if(iy>0)
{
// if((j+30>550)&((i+20>kx+80)||(i+20>kx)))
//return -1;
if(((j+20)>530)&((i+10>kx+80)||(i-10<kx)))
return -1;
if(((j+20)>530)&(i+10<kx+80)&(i-10>kx))
// if((j+20)>530)
{
iy=-1;
score=score+100;
// bt.setText(String.valueOf(score));
}
}
else
{ if((j-20)<0)
iy=1;
}
if(iy>0)
{
j=j+20;
}
else
{
j=j-20;
}
return 10;
}
public void mouseClicked(MouseEvent e)
{
}
public void mouseReleased(MouseEvent evt)
{
}
public void mouseEntered(MouseEvent mouseevt)
{
}
public void mouseExited(MouseEvent mouseevent)
{
}
public void mouseMoved(MouseEvent moveevt){
}
public void mouseDragged(MouseEvent evt){
}
public void mousePressed(MouseEvent e) {
if (e.getModifiers()==MouseEvent.BUTTON1_MASK)
{
if(kx>=10)
kx=kx-10; }
else
{ if(kx<690)
kx=kx+10;
}
repaint();
// JOptionPane.showMessageDialog(mybox.thisGame,"这里已经有子了,你不能再下在这里了","ERRO",JOptionPane.PLAIN_MESSAGE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -