Perdon!!!!!!!
Publicado por Pel (15 intervenciones) el 04/09/2006 20:00:24
Perdonad , pero intentando poner bien el codigo para el copy paste lo mandé 3 veces , ( no se como )
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.event.*;
import java.applet.Applet;
public class Ventana extends JApplet implements MouseListener, MouseMotionListener
{ PixelGrabber pg;
JButton boton1,boton2,boton3,boton4;
Image img,image2;
PanelImagenPanoramica pan;
int pulsado=0;
int pixels[];
JTextField campoTexto ;
/**
* Constructor por defecto.
*/
public void init()
{
img = this.getImage(getDocumentBase(),"image.jpg");// imagen de 480*360
pan=new PanelImagenPanoramica(img);// CODIGO TB ES DE CHUIDIANG
//PERO LE PUESTO PARAMETRO DE ENTRADA LA IMAGEN EN EL CONSTRUCTOR
pan.addMouseListener(this);
pan.addMouseMotionListener(this);
this.getContentPane().setLayout(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.gridwidth = 2;
constraints.gridheight = 2;
constraints.anchor = GridBagConstraints.CENTER;
constraints.fill = GridBagConstraints.BOTH;
constraints.weighty = 1.0;
this.getContentPane().add (pan, constraints);
constraints.weighty = 0.0;
boton1 = new JButton ("Boton 1");
// boton1.setActionCommand("BOTON1");
constraints.gridx = 2;
constraints.gridy = 0;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weighty = 1.0;
// El botón 1 debe ocupar la posición NORTH de su celda
constraints.anchor = GridBagConstraints.NORTH;
// El botón 1 no debe estirarse. Habíamos cambiado este valor en el
// area de texto, asi que lo restauramos.
constraints.fill = GridBagConstraints.NONE;
this.getContentPane().add (boton1, constraints);
constraints.anchor = GridBagConstraints.CENTER;
constraints.weighty = 0.0;
boton2 = new JButton ("Boton 2");
constraints.gridx = 2;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weighty = 1.0;
// El boton 2 debe ocupar la posición NORTH de su celda.
constraints.anchor = GridBagConstraints.NORTH;
this.getContentPane().add (boton2, constraints);
constraints.weighty = 0.0;
constraints.anchor = GridBagConstraints.CENTER;
boton3 = new JButton ("Boton 3");
constraints.gridx = 0;
constraints.gridy = 2;
constraints.gridwidth = 1;
constraints.gridheight = 1;
this.getContentPane().add (boton3, constraints);
boton4 = new JButton ("Boton 4");
constraints.gridx = 2;
constraints.gridy = 2;
constraints.gridwidth = 1;
constraints.gridheight = 1;
this.getContentPane().add (boton4, constraints);
campoTexto = new JTextField ("Campo text");
constraints.gridx = 1;
constraints.gridy = 2;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 1.0;
// El campo de texto debe estirarse sólo en horizontal.
constraints.fill = GridBagConstraints.HORIZONTAL;
this.getContentPane().add (campoTexto, constraints);
///////////////ACCION BOTON 1/////////////////////////////////////////////////////////////
boton1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
campoTexto.setText("Pulsado boton1");
pixels=new int[480*360];
pg=new PixelGrabber(img,0,0,480,360,pixels,0,480);
try {
pg.grabPixels();
}
catch (InterruptedException ev){}
// campoTexto.setText(new Integer(pixels[100]).toString());
// campoTexto.setText(new Integer(pixels.length).toString());
for (int loop_index=0;loop_index<480*360;loop_index++){
int p=pixels[loop_index];
int red=(0xff & (p>>16))-200;
int green=(0xff & (p>>8))-200;
// Lo unico que hace esto ,bajar el brillo
int blue=(0xff & p)-200;
if (red<0) red =0; // para que no de valores negativos
if (green<0) green =0;
if (blue<0) blue =0;
pixels[loop_index]=(0xff000000|red<<16|green<<8|blue);
}
image2=createImage(new MemoryImageSource(480,360,pixels,0,480));
// guardo imagen modificada en otra Image
// PERO AHORA COMO LA VUELVO A PRESENTAR ???????????????????????????
}
});
////////////////////////////////////////////////////////////////////////////////////////////////////
//////////EL RESTO DE BOTONES AUN SIN UTILIDAD////////////////////////////////////////////////
boton2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
campoTexto.setText("Pulsado boton2");
}
});
boton3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
campoTexto.setText("Pulsado boton3");
}
});
boton4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
campoTexto.setText("Pulsado boton4");
}
});
}
//ESTO ES PARA EN UN FUTURO SELECCIONAR LOS PIXELES Y JUGAR CON ELLOS SOBRE LA IMAGEN///////////////////
public void mousePressed(MouseEvent e)
{
if ((e.getModifiers()&InputEvent.BUTTON1_MASK)==InputEvent.BUTTON1_MASK){
campoTexto.setText("Boton Izquierdo del raton pulsado en "+e.getX()+" "+e.getY());
}
else{
campoTexto.setText("Boton derecho del raton pulsado en "+e.getX()+" "+e.getY());
}
}
public void mouseClicked(MouseEvent e)
{
campoTexto.setText("Hio clic sobre el raton en "+e.getX()+" "+e.getY());
}
public void mouseReleased(MouseEvent e)
{
campoTexto.setText("Se solto el boton del raton.");
}
public void mouseEntered(MouseEvent e)
{
campoTexto.setText("Raton para introducir");
}
public void mouseExited(MouseEvent e)
{
campoTexto.setText("Raton para salir");
}
public void mouseDragged(MouseEvent e)
{
campoTexto.setText("Se arrastro el raton");
}
public void mouseMoved(MouseEvent e)
{
campoTexto.setText("Se movio el raton");
}
///////////////////////////////FIN JUGAR CON PIXELES///////////////////////////////////////////
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.event.*;
import java.applet.Applet;
public class Ventana extends JApplet implements MouseListener, MouseMotionListener
{ PixelGrabber pg;
JButton boton1,boton2,boton3,boton4;
Image img,image2;
PanelImagenPanoramica pan;
int pulsado=0;
int pixels[];
JTextField campoTexto ;
/**
* Constructor por defecto.
*/
public void init()
{
img = this.getImage(getDocumentBase(),"image.jpg");// imagen de 480*360
pan=new PanelImagenPanoramica(img);// CODIGO TB ES DE CHUIDIANG
//PERO LE PUESTO PARAMETRO DE ENTRADA LA IMAGEN EN EL CONSTRUCTOR
pan.addMouseListener(this);
pan.addMouseMotionListener(this);
this.getContentPane().setLayout(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.gridwidth = 2;
constraints.gridheight = 2;
constraints.anchor = GridBagConstraints.CENTER;
constraints.fill = GridBagConstraints.BOTH;
constraints.weighty = 1.0;
this.getContentPane().add (pan, constraints);
constraints.weighty = 0.0;
boton1 = new JButton ("Boton 1");
// boton1.setActionCommand("BOTON1");
constraints.gridx = 2;
constraints.gridy = 0;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weighty = 1.0;
// El botón 1 debe ocupar la posición NORTH de su celda
constraints.anchor = GridBagConstraints.NORTH;
// El botón 1 no debe estirarse. Habíamos cambiado este valor en el
// area de texto, asi que lo restauramos.
constraints.fill = GridBagConstraints.NONE;
this.getContentPane().add (boton1, constraints);
constraints.anchor = GridBagConstraints.CENTER;
constraints.weighty = 0.0;
boton2 = new JButton ("Boton 2");
constraints.gridx = 2;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weighty = 1.0;
// El boton 2 debe ocupar la posición NORTH de su celda.
constraints.anchor = GridBagConstraints.NORTH;
this.getContentPane().add (boton2, constraints);
constraints.weighty = 0.0;
constraints.anchor = GridBagConstraints.CENTER;
boton3 = new JButton ("Boton 3");
constraints.gridx = 0;
constraints.gridy = 2;
constraints.gridwidth = 1;
constraints.gridheight = 1;
this.getContentPane().add (boton3, constraints);
boton4 = new JButton ("Boton 4");
constraints.gridx = 2;
constraints.gridy = 2;
constraints.gridwidth = 1;
constraints.gridheight = 1;
this.getContentPane().add (boton4, constraints);
campoTexto = new JTextField ("Campo text");
constraints.gridx = 1;
constraints.gridy = 2;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.weightx = 1.0;
// El campo de texto debe estirarse sólo en horizontal.
constraints.fill = GridBagConstraints.HORIZONTAL;
this.getContentPane().add (campoTexto, constraints);
///////////////ACCION BOTON 1/////////////////////////////////////////////////////////////
boton1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
campoTexto.setText("Pulsado boton1");
pixels=new int[480*360];
pg=new PixelGrabber(img,0,0,480,360,pixels,0,480);
try {
pg.grabPixels();
}
catch (InterruptedException ev){}
// campoTexto.setText(new Integer(pixels[100]).toString());
// campoTexto.setText(new Integer(pixels.length).toString());
for (int loop_index=0;loop_index<480*360;loop_index++){
int p=pixels[loop_index];
int red=(0xff & (p>>16))-200;
int green=(0xff & (p>>8))-200;
// Lo unico que hace esto ,bajar el brillo
int blue=(0xff & p)-200;
if (red<0) red =0; // para que no de valores negativos
if (green<0) green =0;
if (blue<0) blue =0;
pixels[loop_index]=(0xff000000|red<<16|green<<8|blue);
}
image2=createImage(new MemoryImageSource(480,360,pixels,0,480));
// guardo imagen modificada en otra Image
// PERO AHORA COMO LA VUELVO A PRESENTAR ???????????????????????????
}
});
////////////////////////////////////////////////////////////////////////////////////////////////////
//////////EL RESTO DE BOTONES AUN SIN UTILIDAD////////////////////////////////////////////////
boton2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
campoTexto.setText("Pulsado boton2");
}
});
boton3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
campoTexto.setText("Pulsado boton3");
}
});
boton4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
campoTexto.setText("Pulsado boton4");
}
});
}
//ESTO ES PARA EN UN FUTURO SELECCIONAR LOS PIXELES Y JUGAR CON ELLOS SOBRE LA IMAGEN///////////////////
public void mousePressed(MouseEvent e)
{
if ((e.getModifiers()&InputEvent.BUTTON1_MASK)==InputEvent.BUTTON1_MASK){
campoTexto.setText("Boton Izquierdo del raton pulsado en "+e.getX()+" "+e.getY());
}
else{
campoTexto.setText("Boton derecho del raton pulsado en "+e.getX()+" "+e.getY());
}
}
public void mouseClicked(MouseEvent e)
{
campoTexto.setText("Hio clic sobre el raton en "+e.getX()+" "+e.getY());
}
public void mouseReleased(MouseEvent e)
{
campoTexto.setText("Se solto el boton del raton.");
}
public void mouseEntered(MouseEvent e)
{
campoTexto.setText("Raton para introducir");
}
public void mouseExited(MouseEvent e)
{
campoTexto.setText("Raton para salir");
}
public void mouseDragged(MouseEvent e)
{
campoTexto.setText("Se arrastro el raton");
}
public void mouseMoved(MouseEvent e)
{
campoTexto.setText("Se movio el raton");
}
///////////////////////////////FIN JUGAR CON PIXELES///////////////////////////////////////////
}
Valora esta pregunta


0