Red de conocimiento informático - Conocimiento sistemático - Código fuente java de bola rodante

Código fuente java de bola rodante

//Checkers.java

Importar Java.awt.*;

Importar Java.awt.event.*;

Importar javax.swing.*;

//Clase Checkers

La clase pública Checkers extiende JFrame para implementar ActionListener {

//Definición de variable

CheckersPanel checkers = new CheckersPanel( ) ;

Botón de inicio JButton = nuevo JButton(" inicio ");

Botón de parada JButton = nuevo JButton(" parada ");

//Constructor

Inspector público(){

Super("damas");

setSize(210, 170);

setDefaultCloseOperation( JFrame .

EXIT _ ON _ CLOSE);

panel JPanel = nuevo JPanel();

borde BorderLayout = nuevo panel BorderLayout();

pane.add(damas, "centradas");

panel de botones JPanel = nuevo JPanel();

botón de inicio. ;

panel de botones . add(botón de inicio);

botón de parada . addactionlistener(this);

botón de parada habilitado(false);

p>

panel de botones. add(botón de parada);

pane.add(buttonPanel, "Sur");

setContentPane(pane);

show();

}

//Respuesta a las operaciones del usuario

acción de anulación pública realizada (ActionEvent evt){

if (evt . getsource()= = botón de inicio){

reproducir animación();

botón de inicio habilitado(false); >

botón de parada habilitado(true);

} De lo contrario {

detener animación()

botón de inicio habilitado(. verdadero);

p>

botón de parada habilitado (falso);

}

}

//Principal. función

Public static void main(String[] argumentos){

Damas CK = new Checkers();

}

}

//Clase CheckersPanel

La clase CheckersPanel extiende JPanel para implementar Runnable{

//Definición de variable

Corredor de subprocesos privado;

p>

int xPos = 5;

int x move = 4;

//Reproducir animación

void reproducir animación(){

if(corredor == null ); {

corredor = nuevo hilo (este

corredor

}<); /p>

}

//Detener animación

void stopAnimation(){

if (¡corredor! = null); {

corredor = null

}

}

//Ejecutar

Vacío público run(){

hilo este hilo = hilo . hilo actual();

while(runner ==thisThread){

xPos+= x movimiento;

if((xPos & gt; 105)|(xP

os<5))

xMove * =-1;

repaint();

Prueba {

thread .sleep (100 );

}catch(interrupción excepción e){}

}

}

//Haz un dibujo

Public void paintComponent (componente de gráficos) {

gráficos 2d comp 2d = (gráficos 2d)comp;

comp2d establece color (color . azul);

comp2D.fillRect(0, 0, 100, 100);

comp2d .color establecido (color . blanco);

comp2D.fillRect(100, 0, 100, 100);

comp2d . establecer color (color . negro);

comp2D.fillOval(xPos, 5, 90, 90); p>

}