Red de conocimiento informático - Espacio del host - Código fuente java completo

Código fuente java completo

¿importar? java.awt.*;

¿Importar? java.awt.event.*;

¿Importar? java.awt.geom.*;

¿Importar? java.util.*;

¿Importar? javax . swing *;

/**

*? Abra el Administrador de tareas de Windows y podrá ver los cambios del hilo. ? Puede buscar, ejecutar el método()/. Inicio()

*?

*?Du:? Experiencia con habilidades procesales:? ¿La llamada producción de una bola pequeña, es decir? ¿Nuevo? ¿Su objeto de clase, sus propiedades llevan el método de sacar la pelota? ¿Coordenadas, colores, contenedores? y otros parámetros.

*?

*?Una clase cuyas propiedades se utilizan como contenedores de parámetros. Método...completa la función.

*?*/

//?Clase de carrera

¿Público? ¿clase? ¿Depresión resiliente? {

//

¿Público? ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? {

¿JFrame? ¿marco? =?Nuevo? BouncePressFrame();? // Generar ventana. Ejecutar la construcción. -Lógica empresarial.

frame.setdefaultcloseoperation(JFrame.EXIT_ON_CLOSE);? //?¿semejanza? a

//?Ventana

//?Listener

frame show();

}

}

¿Clase? ¿BouncePressFrame? ¿extender? JFrame? {

¿Privado? ¿Campo de béisbol? Lienzo;

¿Público? ¿BouncePressFrame()? {

setSize(600,?500);? //Tamaño de ventana

setTitle("¿Rebote? Pelota");

¿Contenedor? ¿Panel de contenido? =?getContentPane();? //La ventana de Swing no puede colocar cosas directamente, solo se puede colocar en su ContentPane.

¿Lienzo? =?Nuevo? lienzo de prensa de pelota();? //Generar un nuevo panel. -canvas

contentPane.add(canvas,BorderLayout.center);? //¿Centro de ventanas? Añade este panel.

¿JPanel? botón¿Panel? =?Nuevo? JPanel();? //Luego genera un nuevo panel. -Panel de botones

//?Llame a este método addButton.

addButton(panel de botones,?"Inicio",?//?Generar un botón "Inicio"--Agregar panel panel de botones.

¿Nuevo?ActionListener()?{? / /?|-& gt; oyente de acción.

Público? actionPerformed(ActionEvent?evt)? {?//?|?El objeto del contenedor de bolas

addBall(Thread. NORM_PRIORITY?-?4,?Color.Black);? //Al procesar el evento, ejecute el método -addBall() ->Generar una bola (objeto de parámetro)->;Agregar a la lista. sacando la pelota

}

});? ///? Presione una vez, addBall() una vez -> generar una nueva bola -> agregar a la lista -> comenzar a dibujar esta nueva bola.

//?-& gt;BallPressThread->Run() de Ball (objeto de parámetro). mover () -> Cada vez que dibujes, muévete primero, luego juzga y luego dibuja.

//?-& gt; Objeto Canvas de la clase BallPressCanvas.

paint()->Ajusta automáticamente el paintComponent(Graphics) de la clase BallPressCanvas.

//?g) método.

//?-& gt;En este método, todas las bolas, la I-ésima bola, se eliminan de la lista, -->;Ajusta el campo de béisbol.

//?. método draw() -> Dibujar una bola ajustando el método Graphics2D. - usando color/

addButton(ButtonPanel,?"Express",?new?ActionListener()?{

Público?Void?actionPerformed(ActionEvent?evt)?{

addBall(thread.NORM_PRIORITY?+?2,?color. rojo);

}

});

addButton(Panel de botones, ? nuevo ? ActionListener()? { ? actionPerformed(ActionEvent? evt)? ;

}

¿público? ¿Vacío? addButton(¿Contenedor?c,?Cadena?Título,?ActionListener?Listener)? {

¿Botón J? ¿Botón? =?Nuevo? JButton(título);? //Generar un botón.

c.add(botón);? //Agregar al contenedor.

botón.addActionListener(oyente);? //?¿Abotonar? Oyente de acción.

}

/**?Método de negocio principal. ? */

¿Público? ¿Vacío? addBall(int? prioridad,? color? color)? {

//?¿Una generación? Pelota (objeto de parámetro)

¿Campo de béisbol? ¿b? =?Nuevo? campo de béisbol(lienzo, color);? //? Genera un objeto BallPress, llévalo e inicialízalo.

//?Dibuja una bola esférica, parámetros requeridos: componente del contenedor, color requerido: negro/rojo.

//?La pelota se une? en la lista.

lienzo . agregar(b);? //¿Lienzo del panel? ¿En una lista de matriz? Agrega un objeto de campo de béisbol.

¿Línea de bolígrafo? ¿Hilo? =?Nuevo? Rosca de presión de bola (b);? //? Genera el objeto BallPressThread, una clase de hilo para dibujar bolas. Pase el objeto BallPress (lleva la información necesaria para dibujar la bola.

//?Contenedor, parámetros de color).

thread.setPriority(prioridad);

thread.start();? //?¿Llamar? correr(),? ¿pelota? ¿comenzar? ¿A dónde ir? Mover

//?Comienza el sorteo de la bola. -> Ejecución de BallPressThread() -> bola (objeto de parámetro). mover ()->Mover primero, luego dibujar. canvas . paint-& gt;Clase de lienzo de campo de béisbol

}

}

//? Clase de hilo para dibujar la pelota.

¿Clase? ¿Línea de bolígrafo? ¿extender? ¿Hilo? {

¿Privado? ¿Campo de béisbol? b;

¿Público? BallPressThread(BallPress?aBall)? {

b? =?aBall

}

//?Comienza el sorteo de la bola.

¿Público? ¿Vacío? correr()? {

¿Probarlo? {

¿Para qué? (int?i?=?1;?i?<=?1000;?i++)? {?//?Dibujar 1000 veces.

b . mover();? //Cada vez que dibujes, muévete primero, luego juzga y luego dibuja.

Dormir(5);? //Entonces la pelota se mueve más lento que Bounce.java.

}

}?¿Atrapar? (¿Excepción de interrupción? e)? {

}

}

}

//? Clase de panel oscilante.

//?Función 1)? Este objeto del panel. método paint() -> dibuja automáticamente el panel y ajusta automáticamente el método paintComponent (gráficos

//?g), --> anula este método para dibujar el panel (y sus componentes).

//?Personaje 2)? ¿Este tipo de objeto? ¿Lista de matrices de propiedades? Bolas: también funciona como contenedor para bolas (objetos de parámetro).

¿Clase? ¿Campo de béisbol? ¿extender? JPanel? {

¿Privado? ¿Lista de matrices? ¿Huevos? =?Nuevo? ArrayList();

¿Público? ¿Vacío? Suplemento (¿uniforme de béisbol? b)? {

bolas . agregar(b);? //Agrega una bola a la lista de matriz. Cuando presionas el botón y agregas varias bolas, todas se guardan en esta lista.

}

//?¿Reescribir? ¿Javax.swing.JComponent? Método PaintComponent(). El método

//?paint() llama automáticamente a este método.

¿Público? ¿Vacío? paintComponent(gráficos?g)? {

super .componente de pintura(g);

¿Gráficos2D? g2? =?(Gráficos2D)? g;

¿Para qué? (int?i?=?0;?i?<?balls.size();?i++)? {?//?Transmisión

¿Estadio de béisbol? ¿b? =?(campo de béisbol)? bolas .get(I);? //Obtener la primera bola de la lista,

b. draw(G2);? //Dibuja esta bola.

}

}

}

/**

*?Dibuja una bola.

*?

*?¿Estás en línea? Dibuja una pequeña bola de color en el lienzo.

*?

*? atributo, que se puede utilizar para llevar los parámetros necesarios para dibujar la pelota.

*?

*?

*?

*?@Autor? Du Kongan

*?

*/

¿Clase? ¿Campo de béisbol? {

¿Privado? ¿Componentes? Lienzo;

¿Privado? ¿color? Color;

¿Privado? int? ¿incógnita? =?0;

¿Privado? int? ¿y? =?0;

¿Privado? int? ¿dx? =?2;

¿Privado? int? morir? =?2;

//?Estructura? inicialización? ¿recipiente? ¿color? parámetro.

¿Público? ¿Campo de béisbol(componente?c,?color?aColor)? {

¿Lienzo? =?c;

¿Color? =?aColor

}

//?Establece la posición y dibuja la pelota.

¿Público? ¿Vacío? dibujar (Gráficos2D? g2)? {

g2.setColor(color);

g2.fill(new?Ellipse2D.Double(x,y,?15,?15));? //?Oval:ovate

}

//?Mover la pelota.

//?Cada vez que dibujes, muévete primero, luego juzga y luego dibuja.

//?Cada vez que se ejecuta este método, ¿dibuja las coordenadas del punto inicial de la pelota? (x, y),? +2 cada vez,? Es decir, muévete en diagonal hacia la parte inferior derecha.

¿Público? ¿Vacío? mover()? {

x? +=?dx;? //?x = x+dx;? ¿Dibujar las coordenadas iniciales de la pelota? (x, y),? +2 cada vez,? Es decir, muévete en diagonal hacia la parte inferior derecha.

y? +=?dy;? ///?y = y+dy;

¿Si? (x?<?0)?{?//?La pelota llega al límite izquierdo. De acuerdo, comience a dibujar desde el borde izquierdo.

x? =?0;

dx? =?-dx;? //El valor de cambio de la abscisa de la bola se invierte. Iniciar movimiento inverso.

}

¿Y si? (x?+?15?& gt=?canvas.getWidth())? {?//?El lado derecho de la pelota llega al lado derecho del tablero de dibujo.

x? =?canvas.getWidth()? -?15;

dx? =?-dx;? //Iniciar movimiento inverso.

}

¿Y si? (y?<?0)?{?//?Promesa, comenzando desde el cuadro superior.

y? =?0;

dy? =?-dy;

}

¿Si? (y?+?15?& gt=?canvas.getHeight())? {?//?La pelota ha llegado a la parte superior de la mesa de dibujo.

y? =?canvas.getHeight()? -?15;

dy? =?-dy;

}

lienzo pintura(lienzo. obtener gráficos());? //Dibuja el objeto del panel lienzo-(y todos los componentes que contiene)

//?//.paint() método, llamado automáticamente.

}

}

/*¿Importar? java.awt.*;

¿Importar? java.awt.event.*;

¿Importar? java.awt.geom.*;

¿Importar? java.util.*;

¿Importar? javax . swing *;

*//**

*? No se puede buscar, ejecute el método()/. start()

*//*

¿Público? ¿clase? ¿rebotar? {

¿Público? ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? {

¿JFrame? ¿marco? =?Nuevo? cuadro de rebote();

frame.setdefaultcloseoperation(JFrame.EXIT_ON_CLOSE);? //?¿semejanza? a

//?Ventana

//?Listener

frame show();

}

}