Foros del Web » Programación para mayores de 30 ;) » Java »

Cambiar la taza de Java

Estas en el tema de Cambiar la taza de Java en el foro de Java en Foros del Web. Hola tengo un frame y he conseguido cambiar la taza de Java que sale en la barra de título, pero a la hora de hacerlo ...
  #1 (permalink)  
Antiguo 31/12/2003, 11:38
 
Fecha de Ingreso: septiembre-2003
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Cambiar la taza de Java

Hola tengo un frame y he conseguido cambiar la taza de Java que sale en la barra de título, pero a la hora de hacerlo en un dialog me dice:

method setIconImage(<any>) not found in class proyecto_biblioteca.Dialogo1 at line 106, column 5

Lo que he hecho es lo siguiente:

ImageIcon logo = new ImageIcon ("C:\\Documents and Settings\\Rosa\\Mis documentos\\Proyecto\\Logotipo UCAV.gif");
setIconImage(logo.getImage());

Muchas gracias.
  #2 (permalink)  
Antiguo 31/12/2003, 11:40
 
Fecha de Ingreso: septiembre-2003
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Re: Cambiar la taza de Java

Cita:
Mensaje Original por ross_av
Hola tengo un frame y he conseguido cambiar la taza de Java que sale en la barra de título, pero a la hora de hacerlo en un dialog me dice:

method setIconImage(<any>) not found in class proyecto_biblioteca.Dialogo1 at line 106, column 5

Lo que he hecho es lo siguiente:

ImageIcon logo = new ImageIcon ("C:\\Documents and Settings\\Rosa\\Mis documentos\\Proyecto\\Logotipo UCAV.gif");
setIconImage(logo.getImage());

Muchas gracias.
  #3 (permalink)  
Antiguo 02/01/2004, 23:25
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 22 años, 6 meses
Puntos: 10
pues egun el mensaje que te arroja el compilador lo que pasa es que no estas llamando correctamente a la imagen, fijate bien en la ruta de esta, y te recomiendo que cambis los \\ por / ya que Java trabaja mejor con las direcciones dadas con un simple slach, y no hay problemas de esto al hacerlo en windows.

si aun tienes problemas pon el mensaje exacto completo que te arroja el compilador, suelen ser muy descriptivos, y si puedes pon el codigo completo del dialog

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #4 (permalink)  
Antiguo 04/01/2004, 11:28
 
Fecha de Ingreso: septiembre-2003
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Me sigue diciendo lo siguiente:

"Dialogo1.java": Error #: 300 : method setIconImage(java.awt.Image) not found in class proyecto_biblioteca.Dialogo1 at line 108, column 5

El código completo del Dialog es este:


package proyecto_biblioteca;

import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.sql.*;
import java.awt.event.*;
import java.lang.*;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
import Graphics.*;
import java.awt.Image;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/

public class Dialogo1 extends JDialog {
GridLayout gridLayout1 = new GridLayout();
JPanel jPanel2 = new JPanel();
FlowLayout flowLayout2 = new FlowLayout();
JLabel jLabel2 = new JLabel();
JTextField jTextField2 = new JTextField();
JPanel jPanel3 = new JPanel();
FlowLayout flowLayout3 = new FlowLayout();
JLabel jLabel3 = new JLabel();
JTextField jTextField3 = new JTextField();
JPanel jPanel4 = new JPanel();
JLabel jLabel4 = new JLabel();
JTextField jTextField4 = new JTextField();
FlowLayout flowLayout4 = new FlowLayout();
JPanel jPanel5 = new JPanel();
FlowLayout flowLayout5 = new FlowLayout();
JLabel jLabel5 = new JLabel();
JPanel jPanel6 = new JPanel();
JLabel jLabel6 = new JLabel();
JTextField jTextField6 = new JTextField();
JPanel jPanel7 = new JPanel();
FlowLayout flowLayout6 = new FlowLayout();
JLabel jLabel7 = new JLabel();
JTextField jTextField7 = new JTextField();
JPanel jPanel8 = new JPanel();
FlowLayout flowLayout7 = new FlowLayout();
JLabel jLabel8 = new JLabel();
JPanel jPanel9 = new JPanel();
FlowLayout flowLayout8 = new FlowLayout();
JButton Borrar = new JButton();
JButton Guardar = new JButton();
JRadioButton opcAlumno = new JRadioButton();
JRadioButton opcProfesor = new JRadioButton();
ButtonGroup Grupo1 = new ButtonGroup();
JPasswordField jPasswordField1 = new JPasswordField();
JButton jButton1 = new JButton();

//Variables para la conexión a la BBDD
Connection con = null;
Statement stmt = null;

//Variable para las modificaciones
ModificacionesAlumnos MALUM = new ModificacionesAlumnos();
ModificacionesProfesores MPROF = new ModificacionesProfesores();
JPanel jPanel1 = new JPanel();
FlowLayout flowLayout1 = new FlowLayout();

public Dialogo1(Frame frame, String title, boolean modal) {
super(frame, title, modal);
try {
jbInit();
pack();
}
catch(Exception ex) {
ex.printStackTrace();
}
}

public Dialogo1() {
this(null, "Altas de usuarios", false);
}

public Dialogo1(Marco1 m1) {
this(null, "Altas de usuarios", false);
con = m1.con;
}

public Dialogo1(Marco1 m1,ModificacionesAlumnos MA) {
this(null, "Altas de usuarios", false);
con = m1.con;
MALUM = MA;
}

public Dialogo1(Marco1 m1,ModificacionesProfesores MP) {
this(null, "Altas de usuarios", false);
con = m1.con;
MPROF = MP;
}

void jbInit() throws Exception {
this.getContentPane().setBackground(new Color(49, 106, 167));
this.getContentPane().setLayout(gridLayout1);
jPanel2.setLayout(flowLayout2);
gridLayout1.setRows(9);
ImageIcon logo = new ImageIcon ("C:/Documents and Settings/Rosa/Mis documentos/Proyecto/Logotipo UCAV.gif");
setIconImage(logo.getImage());
jPanel2.setBackground(new Color(49, 106, 167));
jLabel2.setFont(new java.awt.Font("Dialog", 1, 12));
jLabel2.setForeground(Color.red);
jLabel2.setMaximumSize(new Dimension(118, 17));
jLabel2.setMinimumSize(new Dimension(118, 17));
jLabel2.setPreferredSize(new Dimension(118, 17));
jLabel2.setText("Nombre del usuario");
jTextField2.setPreferredSize(new Dimension(227, 21));
jPanel3.setLayout(flowLayout3);
jPanel3.setBackground(new Color(49, 106, 167));
jLabel3.setFont(new java.awt.Font("Dialog", 1, 12));
jLabel3.setForeground(Color.red);
jLabel3.setText("Apellidos del usuario");
jTextField3.setPreferredSize(new Dimension(227, 21));
jLabel4.setFont(new java.awt.Font("Dialog", 1, 12));
jLabel4.setForeground(Color.red);
jLabel4.setMaximumSize(new Dimension(118, 17));
jLabel4.setMinimumSize(new Dimension(118, 17));
jLabel4.setPreferredSize(new Dimension(118, 17));
jLabel4.setText("Login");
jTextField4.setPreferredSize(new Dimension(227, 21));
jPanel4.setLayout(flowLayout4);
jPanel4.setBackground(new Color(49, 106, 167));
jPanel5.setLayout(flowLayout5);
jLabel5.setFont(new java.awt.Font("Dialog", 1, 12));
jLabel5.setForeground(Color.red);
jLabel5.setMaximumSize(new Dimension(118, 17));
jLabel5.setMinimumSize(new Dimension(118, 17));
jLabel5.setPreferredSize(new Dimension(118, 17));
jLabel5.setText("Password");
jPanel5.setBackground(new Color(49, 106, 167));
jLabel6.setFont(new java.awt.Font("Dialog", 1, 12));
jLabel6.setForeground(Color.red);
jLabel6.setMaximumSize(new Dimension(118, 17));
jLabel6.setMinimumSize(new Dimension(118, 17));
jLabel6.setPreferredSize(new Dimension(118, 17));
jLabel6.setText("D.N.I");
jTextField6.setPreferredSize(new Dimension(227, 21));
jPanel6.setBackground(new Color(49, 106, 167));
jPanel7.setLayout(flowLayout6);
jPanel7.setBackground(new Color(49, 106, 167));
jLabel7.setFont(new java.awt.Font("Dialog", 1, 12));
jLabel7.setForeground(Color.red);
jLabel7.setMaximumSize(new Dimension(118, 17));
jLabel7.setMinimumSize(new Dimension(118, 17));
jLabel7.setPreferredSize(new Dimension(118, 17));
jLabel7.setText("Correo electrónico");
jTextField7.setPreferredSize(new Dimension(227, 21));
jPanel8.setLayout(flowLayout7);
jLabel8.setFont(new java.awt.Font("Dialog", 1, 12));
jLabel8.setForeground(Color.red);
jLabel8.setMaximumSize(new Dimension(118, 17));
jLabel8.setMinimumSize(new Dimension(118, 17));
jLabel8.setPreferredSize(new Dimension(118, 17));
jLabel8.setText("Nivel");
jPanel8.setBackground(new Color(49, 106, 167));
jPanel9.setLayout(flowLayout8);
Borrar.setFont(new java.awt.Font("Dialog", 1, 12));
Borrar.setMaximumSize(new Dimension(107, 27));
Borrar.setMinimumSize(new Dimension(107, 27));
Borrar.setPreferredSize(new Dimension(107, 27));
Borrar.setText("Borrar");
Borrar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
Borrar_actionPerformed(e);
}
});
Guardar.setFont(new java.awt.Font("Dialog", 1, 12));
Guardar.setMaximumSize(new Dimension(107, 27));
Guardar.setMinimumSize(new Dimension(107, 27));
Guardar.setPreferredSize(new Dimension(107, 27));
Guardar.setText("Guardar");
Guardar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
Guardar_actionPerformed(e);

}
});
jPanel9.setBackground(new Color(49, 106, 167));
opcAlumno.setBackground(new Color(49, 106, 167));
opcAlumno.setAlignmentX((float) 0.5);
opcAlumno.setMaximumSize(new Dimension(110, 25));
opcAlumno.setMinimumSize(new Dimension(110, 25));
opcAlumno.setPreferredSize(new Dimension(110, 25));
opcAlumno.setSelected(true);
opcAlumno.setText("Alumno");
opcProfesor.setBackground(new Color(49, 106, 167));
opcProfesor.setMaximumSize(new Dimension(110, 25));
opcProfesor.setMinimumSize(new Dimension(110, 25));
opcProfesor.setPreferredSize(new Dimension(110, 25));
opcProfesor.setText("Profesor");
jPasswordField1.setPreferredSize(new Dimension(227, 21));
jButton1.setFont(new java.awt.Font("Dialog", 1, 12));
jButton1.setMaximumSize(new Dimension(107, 27));
jButton1.setMinimumSize(new Dimension(107, 27));
jButton1.setPreferredSize(new Dimension(107, 27));
jButton1.setText("Cancelar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
jPanel1.setLayout(flowLayout1);
jPanel1.setBackground(new Color(49, 106, 167));
this.getContentPane().add(jPanel2, null);
jPanel2.add(jLabel2, null);
jPanel2.add(jTextField2, null);
this.getContentPane().add(jPanel3, null);
jPanel3.add(jLabel3, null);
jPanel3.add(jTextField3, null);
this.getContentPane().add(jPanel4, null);
jPanel4.add(jLabel4, null);
jPanel4.add(jTextField4, null);
this.getContentPane().add(jPanel5, null);
jPanel5.add(jLabel5, null);
jPanel5.add(jPasswordField1, null);
this.getContentPane().add(jPanel6, null);
jPanel6.add(jLabel6, null);
jPanel6.add(jTextField6, null);
this.getContentPane().add(jPanel7, null);
jPanel7.add(jLabel7, null);
jPanel7.add(jTextField7, null);
this.getContentPane().add(jPanel8, null);
jPanel8.add(jLabel8, null);
jPanel8.add(opcAlumno, null);
jPanel8.add(opcProfesor, null);
this.getContentPane().add(jPanel9, null);
this.getContentPane().add(jPanel1, null);
jPanel1.add(Borrar, null);
jPanel1.add(Guardar, null);
jPanel1.add(jButton1, null);
Grupo1.add(opcAlumno);
Grupo1.add(opcProfesor);
}

}


Muchas gracias.
  #5 (permalink)  
Antiguo 04/01/2004, 12:07
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 22 años, 6 meses
Puntos: 10
pues prueba de esta forma

getContentPane().setIconImage(logo.getImage());

a ver que sucede.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #6 (permalink)  
Antiguo 04/01/2004, 12:29
 
Fecha de Ingreso: septiembre-2003
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Tampoco compila, me da el siguiente error:

"Dialogo1.java": Error #: 300 : method setIconImage(java.awt.Image) not found in class java.awt.Container at line 108, column 22
  #7 (permalink)  
Antiguo 04/01/2004, 12:56
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 22 años, 6 meses
Puntos: 10
Sabes, no estoy seguro, pero creo que ese metodo entonces funciona solo con contenedores AWT y no con los SWING, es por eso que posiblemente te lanza ese error, pueba a hacer un Dialog en vez de un JDialog y probar el metodo, si asi funciona entonces solo funcionma con los AWT.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #8 (permalink)  
Antiguo 04/01/2004, 18:36
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 3 meses
Puntos: 51
Hola,
El mensaje de error lo dice muy claro: "El metodo setIconImage(Image) no existe en la clase java.awt.Container". Mirando el API puedes ver que la unica clase que tiene un metodo asi es la clase java.awt.Frame. Las clases swing tienen el metodo setIcon(Icon).

Un saludo
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #9 (permalink)  
Antiguo 04/01/2004, 19:15
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 22 años, 6 meses
Puntos: 10
Muchas gracias, yo tambien me estaba complicando ya la existencia jajaja

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #10 (permalink)  
Antiguo 05/01/2004, 11:16
 
Fecha de Ingreso: septiembre-2003
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Con setIcon tampoco me compila :

"Dialogo1.java": Error #: 300 : method setIcon(java.awt.Image) not found in class java.awt.Container at line 108, column 22

De todos modos muchas gracias.
  #11 (permalink)  
Antiguo 05/01/2004, 17:43
Avatar de kripton  
Fecha de Ingreso: diciembre-2002
Ubicación: Zaragoza
Mensajes: 296
Antigüedad: 22 años
Puntos: 0
Hola ross_av!!!

Tu problema se reduce a que intentas utilizar un método que no han implementado los señores de SUN.

¿Cómo solucionarlo?, pues una posible solución que he encontrado es cambiar el icono del frame (ventana padre de la aplicación). Si luego en la llamada al JDialog pasas dicho frame, automáticamente te muestra el icono que le hayas puesto a tu frame.

Ahi va un poco de código para que te hagas una idea:

Código PHP:
public class JFramePruebas extends JFrame{
    public 
JFramePruebas() throws HeadlessException {
        
super("JFRAME PRUEBAS");
        
this.setIconImage(new ImageIcon(getClass().getResource("yg.gif")).getImage());
    }

    public static 
void main(String[] args) {
        final 
JFrame ventana = new JFramePruebas();
        
JButton boton = new JButton("BOTON");
        
boton.addActionListener(new ActionListener() {
            public 
void actionPerformed(ActionEvent e) {
                new 
JDialog(ventana"JDialog"true).setVisible(true);
            }
        });
        
ventana.getContentPane().add(boton);
        
ventana.pack();
        
ventana.setVisible(true);
        
//System.exit(0);
    
}

Espero te sirva,
un saludo,
kripton
__________________
Hoy por ti, mañana por mi. Compartiendo entre amigos.

Usuario Registrado Linux #327495

Última edición por kripton; 05/01/2004 a las 17:48
  #12 (permalink)  
Antiguo 06/01/2004, 12:21
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 3 meses
Puntos: 51
Hola,

Ya te han puesto una posible solución pero para la proxima vez, te repito de nuevo: El mensaje de error lo dice clarito :) -> "El metodo setIconImage(Image) no existe en la clase Container"

Estos errores se solucionan leyendo los mensajes de error y mirando la documentación del API, si tienes que acertar los nombres de los metodos y los parametros sin mirarlo, necesitaras mucha suerte :).

Cita:
Mensaje Original por ross_av
Tampoco compila, me da el siguiente error:

"Dialogo1.java": Error #: 300 : method setIconImage(java.awt.Image) not found in class java.awt.Container at line 108, column 22
  #13 (permalink)  
Antiguo 06/01/2004, 13:29
 
Fecha de Ingreso: septiembre-2003
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Muchas gracias a todos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:46.