Foro de elhacker.net

Programación => Java => Mensaje iniciado por: XpandyX en 8 Marzo 2011, 03:27 am



Título: fondo para un JFrame consulta.
Publicado por: XpandyX en 8 Marzo 2011, 03:27 am
bueno amigos una linea de código es el problema
Código
  1. public class ImpuestosPrediales_ArbitriosMunicipales extends javax.swing.JFrame {
  2.  
  3.    private Image FondoProyecto;  
  4.  
  5.  
  6.    /** Creates new form Rellanado_de_Datos_paraPredio */
  7.    public ImpuestosPrediales_ArbitriosMunicipales() {
  8.        initComponents();
  9.        this.setSize(400,280);
  10.  
  11.    }
  12.    public void paintComponent(Graphics g) {
  13.        Dimension tamanio = getSize();
  14.        ImageIcon fondo = new ImageIcon(getClass().getResource("municipalidad/FondoProyecto.jpg"));
  15.        g.drawImage(fondo.getImage(), 0, 0, tamanio.width, tamanio.height, null);
  16.        setOpaque(false);
  17.        super.paint(g);
  18.    }
  19. }
  20.  



etOpaque(false); en esa linea es donde me muestra error y no se porque y bueno sobre la imagen yo la importe dentro de mi proyecto, y bueno estoy trabajando con el IDE NetBeans, ayuda please!!!.
Soy novato en la programación.

Gracias de antemano.


Título: Re: fondo para un JFrame consulta.
Publicado por: Aeros en 8 Marzo 2011, 05:55 am
coloca en el foro de java y alguien te va a ayudar


Título: Re: fondo para un JFrame consulta.
Publicado por: KuraraGNU en 8 Marzo 2011, 12:43 pm
¿Puedes pegar la excepción que te muestra? No creo que el problema sea que no te carga la imagen, sino te daría antes el error, porque si te fijas la usas aqui: fondo.getImage() Quizás el problema sea por a qué le estas poniendo el setOpaque(); porque se lo estás haciendo a this, imagino y creo que entonces se lo haces a la ventana ¿puede ser? muéstrame la excepción y quizás así pueda ayudarte.


Título: Re: fondo para un JFrame consulta.
Publicado por: XpandyX en 8 Marzo 2011, 18:04 pm
Hola amigo bueno no me sale una excepcion la cuestion es k en esa linea
setOpaque(false); me sale el error pero no corre el programa porque no deja correr cuando hay errores y cuando le doy para arreglar con el netbeans

esto fue lo que me muestra...

cannot find symbol
  symbol:   method setOpaque(boolean)
  location: class municipalidad.Municipalidad_Huancayo


y me dice crear método y le doy click.. y me crea esto...


Código
  1. private void setOpaque(boolean b) {
  2.       throw new UnsupportedOperationException("Not yet implemented");
  3.    }


Título: Re: fondo para un JFrame consulta.
Publicado por: 1mpuls0 en 8 Marzo 2011, 18:15 pm
Es que setOpaque no es un método de JFrame, no recuerdo bien pero creo que es jcomponent, jpanel y otros, así que no creo que anteponiendo un this funcione, a menos que apuntes a un componente como el que te menciono.

Por cierto KuraraGNU es amiga x)

Saludos.


Título: Re: fondo para un JFrame consulta.
Publicado por: KuraraGNU en 8 Marzo 2011, 21:42 pm
Lleva razón Darhius, es de JComponent el setOpaque().

Cuando te salga ese error, examínalo, quiere decir esto:

cannot find symbol --no entiende lo que has escrito, no forma parte del lenguaje de programación, en este caso el setOpaque();
symbol:   method setOpaque(boolean) --entiende que con setOpaque() a lo que te has querido referir es a un método, pero ese método no existe. Suele ocurrir cuando o bien no lo escriber correctamente, o bien estás llamando a un método de una clase que no has importado previamente.
location: class municipalidad.Municipalidad_Huancayo --aqui muestra en qué clase está buscando el método, que suele ser donde estás trabajando en ese momento.

Por lo tanto, al darle a solucionar, el netBeans te crea un método llamado setOpaque() que está sin nada dentro, por eso te ha creado el:
Código
  1. private void setOpaque(boolean b) {
  2.       throw new UnsupportedOperationException("Not yet implemented");
  3.    }


Título: Re: fondo para un JFrame consulta.
Publicado por: XpandyX en 8 Marzo 2011, 21:51 pm
mmm entiendo algo jejej :D pero entonces mmmmmm como sera para para poner la imagen de fondo en mi JFrame???

:D conocen un tutorial? :(


Título: Re: fondo para un JFrame consulta.
Publicado por: KuraraGNU en 8 Marzo 2011, 22:06 pm
¿Sabes inglés? Te recomiendo que aprendas, es bastante util para un programador.

Cuando tengas dudas de ese estilo, en plan quieres un método que haga tal cosa y quieras saber si está implementado o no, mira la documentación de java, está disponible también offline si te la descargas (no te adjunto el link de descarga) La documentación es esta:

http://download.oracle.com/javase/6/docs/api/

Ya te he buscado el JFrame para que mires sus métodos, pero que sirve para cualquier clase. Te doy esta información en lugar de decirte el metodo que tienes que usar para que te sea util para otra pregunta de este estilo y no tengas que esperar a que te contestemos aqui.

De todas formas el editor visual del netbeans seguro que tiene alguna propiedad la ventana donde puedes establecer la imagen de fondo, bueno, tiene para adjuntar una imagen al JFrame.


Título: Re: fondo para un JFrame consulta.
Publicado por: XpandyX en 8 Marzo 2011, 22:38 pm
 :o me parece muy buena información :D pero hay algo malo :(
yo no se ingles :(:(:( abu T_T recien estoy aprendiendo :(

gracias de todas maneras me servirá mas adelante



Título: Re: fondo para un JFrame consulta.
Publicado por: 1mpuls0 en 10 Marzo 2011, 00:02 am
mmm entiendo algo jejej :D pero entonces mmmmmm como sera para para poner la imagen de fondo en mi JFrame???

:D conocen un tutorial? :(

Utilizando graphics es así.

Código
  1. import java.awt.Graphics;
  2. import java.awt.Image;
  3. import java.awt.Insets;
  4.  
  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7.  
  8. public class DrawImage extends JFrame {
  9.  
  10.  private Image image;
  11.  private Insets insets;
  12.  
  13.  public static void main(String args[]) {
  14.    DrawImage f = new DrawImage();
  15.    f.setSize(200, 200);
  16.    f.show();
  17.  }
  18.  
  19.  public DrawImage() {
  20.    super();
  21.    ImageIcon icon = new ImageIcon("duke.gif");
  22.    image = icon.getImage();
  23.  }
  24.  
  25.  public void paint(Graphics g) {
  26.    super.paint(g);
  27.    g.drawImage(image, 20, 30, this);
  28.  }
  29. }
  30.  

Aquí la imagen del duke
(http://www.cesnavarra.net/cesdigital/Imagenes%20Boletin/duke.gif)


Título: Re: fondo para un JFrame consulta.
Publicado por: 1mpuls0 en 10 Marzo 2011, 00:31 am
Aqui otro ejemplo :p

Código
  1. import javax.swing.JFrame;
  2. import javax.swing.JPanel;
  3. import java.awt.Graphics;
  4. import java.awt.BorderLayout;
  5. import java.awt.Dimension;
  6. import javax.swing.ImageIcon;
  7.  
  8. public class ImagenFondo extends JFrame{
  9.  
  10. public static void main(String args[]){
  11. ImagenFondo imagenFondo = new ImagenFondo();
  12. imagenFondo.setSize(500,400);
  13. imagenFondo.setVisible(true);
  14. imagenFondo.setLocationRelativeTo(null);
  15. }
  16.  
  17.    public ImagenFondo() {
  18.     PanelFondo panelFondo = new PanelFondo();
  19.     this.add(panelFondo,BorderLayout.CENTER);
  20.     this.pack();
  21.    }
  22.  
  23. }
  24.  
  25. class PanelFondo extends JPanel {
  26.  
  27. public PanelFondo(){
  28. this.setSize(100,100);
  29. }
  30.  
  31. public void paintComponent(Graphics g){
  32. Dimension tamanio = getSize();
  33. ImageIcon imagenFondo = new ImageIcon(getClass().getResource("marzo2010.jpg"));
  34. g.drawImage(imagenFondo.getImage(), 0, 0, tamanio.width,(int)tamanio.height, null);
  35. setOpaque(false);
  36. super.paintComponent(g);
  37. }
  38. }
  39.  

Aquí la imagen

(http://img685.imageshack.us/img685/679/marzo2010.jpg)



Título: Re: fondo para un JFrame consulta.
Publicado por: KuraraGNU en 10 Marzo 2011, 04:45 am
Pues yo pensaba que el Graphics sólo era para Applets. Así de bien que me enseñan en clase...


Título: Re: fondo para un JFrame consulta.
Publicado por: 1mpuls0 en 10 Marzo 2011, 07:31 am
Pues yo pensaba que el Graphics sólo era para Applets. Así de bien que me enseñan en clase...

Ya ves, siempre se aprende algo nuevo, no te voy a decir que soy un experto en Java, pero se lo necesario asi como muchos de aquí.
La clase Graphics tiene un amplio campo, hay muchas librerías externas que utilizan esta clase, como jfreechart por ejemplo.

Saludos.


Título: Re: fondo para un JFrame consulta.
Publicado por: ChavalChavito en 11 Marzo 2011, 05:30 am
T dejo un tutorial de como agregar la libreria edison..
VL5pEsNXjCw
Directamente agregas un panelImage al frame, y en las propiedades dond vas a "icon" seleccionas e importas tu imagn al proyecto..
mas facil imposible..


Título: Re: fondo para un JFrame consulta.
Publicado por: TeclaFurtiva en 8 Agosto 2012, 23:36 pm
Justo lo que necesitaba... ¡¡¡y lo encontré aquí!!! muchas gracias, tu código de colocar una imágen de fondo me funcionó a las mil maravillas, muy agradecido estimado Darhius por tu aporte ;-)


Título: Re: fondo para un JFrame consulta.
Publicado por: reylagarto19 en 12 Agosto 2012, 11:47 am
Yo normalmento lo que uso, aunque es una chapuza, pero a mi me da una solucion util y sencilla, es usa un JLabel. En todos los JLabel se puede establecer un fondo con un .jpeg, .png ....  le pongo la dimension que necesite, lo coloco donde proceda y le pongo el .setEditable(false) y poco mas.... asi puedo poner imagenes de fondo sin complicarme mucho la vida. Pero esta claro que las soluciones aportadas anteriormente son mas profesionales.

Salu2