Red de conocimiento informático - Aprendizaje de código fuente - Mostrar código fuente del sitio web

Mostrar código fuente del sitio web

Te daré el código y leeré los comentarios. Para evitar que el mouse se mueva hacia los lados cuando se mueve hacia la izquierda o hacia la derecha, agregué una rotación en abanico.

Dentro de veinte píxeles, se considera horizontal.

Echa un vistazo.

Afortunadamente, te moviste mientras mantenías presionado el mouse. Sería problemático si simplemente movieras el mouse.

-

Importar Java .awt .gráficos

Importar Java . ;

Importar evento de acción Java .

Importar evento de mouse de Java . evento;

Importar Java. evento. p>

Importar archivo Java.io.

Importar icono de imagen javax.swing.

p>

Importar javax.swing.jbutton;

Importar selector de archivos javax.swing.j;

Importar javax.swing.jframe;

Importar javax .swing .jpanel;

Importar javax . . selector de archivos . filenameextensionfilter;

La aplicación de clase pública extiende JFrame para implementar MouseListener, ActionListener {

int x = 0 ;

int y = 0;

archivo[]archivos seleccionados = nulo;

int índice de archivo = 0;

int ancho = 200

int alto = 200

Aplicación pública(){

setDefaultCloseOperation(EXIT _ ON _ CLOSE);

setLocationRelativeTo( null);

setResizable(falso);

getContentPane(). establecer diseño (nulo);

Panel JPanel = nuevo panel de imagen();

panel.setBounds(12, 40, 370, 218);

getContentPane (). add(panel);

addmouse listener(this);

JButton BTN Browse = new JButton(" Browse ");

BTN browser addactionlistener(this.

btnBrowse.setBounds(12, 9, 91, 21);

getContentPane().

agregar (exploración BTN);

establecer visible (verdadero);

}

Public static void main(String[] args) {

Nueva aplicación();

}

Acción de anulación pública realizada (evento de acción e){

Selector de jfile = nuevo selector de jfile();

selector . setmultiselectenabled(true);

FileNameExtensionFilter filter = new FileNameExtensionFilter(

Imagen JPG y GIF", "jpg", "GIF");

//Establecer tipo de archivo

chooser.setFileFilter(filter);

//Abrir el panel de selección

int return val = selector . showopendialog(this);

if (returnVal == JFileChooser.APPROVE_OPTION) {

archivos seleccionados = selector obtiene archivos seleccionados();

repintar (. );

}

}

se hizo clic en el vacío público (evento del mouse e){

}

entrada del mouse public void (evento del mouse e){

}

salida del mouse public void (evento del mouse e){

}

public void mouse presionado (evento del mouse e){

punto punto = información del mouse . getpointerinfo() obtener ubicación();

x = punto.x

< p. >y = point.y

}

ratón vacío público liberado (evento del mouse e){

punto punto = información del mouse getpointerinfo(). get ubicación();

int thisX = point.x

int thisY = point.y

system out . " "+" thisY = "+thisY);

If ((y-thisY & lt; 20 & amp& ampy-thisY & gt; 0)

| |(y- thisY <0 & amp&y-thisY >-20)) {

// El movimiento Y dentro de 20° se considera un movimiento horizontal.

if(x & lt;thisX) {

//right

if (selectedFiles!=null

& amp& ampfileIndex & ltselectedFiles.length - 1) {

índice de archivo++;

}

}de lo contrario {

//lado izquierdo

if (selectedFiles!= null & amp& ampfileIndex & gt0) {

Índice de archivos -;

}

}

} De lo contrario {

if(x & lt; thisX) {

//Abajo a la derecha

Ancho += 20;

Alto += 20;

} En caso contrario {

//Esquina superior izquierda

Ancho -= 20;

Alto -= 20;

}

}

repaint();

}

La clase ImagePanel extiende JPanel {

pintura pública en blanco (gráfico g) {

super.paint(g);

if (selectedFiles!= null) {

icono de imagen icon = icono de nueva imagen(archivos seleccionados[índice de archivo]

.getPath());

g.drawImage(icon.getImage(), 0, 0, ancho, alto, esto );

}

}

}

}