En la página principal de los foros
encontrarás los enlaces al
feed general
y al de cada uno de los foros.
Subscribete para mantenerte informado de los cambios y responde a las dudas siempre que te sea posible
Uff, Franklin ¿sabes lo que estas pidiendo? Pues aqui lo tie ...
Estoy tratando de dar formato a un numero ejm 27,900 y debe ...
Abraham, he estado mirando el enlace que me comentas, pero n ...
Alguien sabe de algun tutorial, maual o recurso para pode tr ...
pero sigo sin saber como armo la cadena , el lee los datos y ...
| Re: Evento en JComboBox | 01/02/2003 00:00 | |
| viejo-foro |
El fallo está aquí: public void actionPerformed(ActionEvent e) JComboBox cb = (JComboBox)e.getSource(); String petName = (String)cb.getSelectedItem(); System.out.println(petName) ; ImageIcon icono=new ImageIcon("imagenes/"+petName+".gif"); <--------- -new LabelPersonal(icono.getImage());----------> {} Creas una nueva label pero ni eliminas la anterior d ela UI, ni añades la nueva a la UI, la creas, no te quedas con una referencia a ella y el Garbage collector la elimina. Haz una de dos: elimina la label antigua del UI, cambiala por la nueva y llama a validate() sobre el frame, o camia el icono de la label incial por el nuevo con el metodo setIconImage, o algo asó. Es más eficiente la segunda aproximación, evitas crear obtetos de un modo inútil. Saludos. |
|
|
||
| Evento en JComboBox | 01/02/2003 00:00 | |
| viejo-foro |
Hola a todos: alguien puede decirme el fallo de este código?. Se trata de un combo box y una label. En función del elemento del combo seleccionado debe aparecer una imagen distinta. Además, la imagen debe ocupar todo el área disponible en la label. La imagen preseleccionada se muestra bien, pero al seleccionar otro animal del combo, no se modifica la imagen. Gracias Código: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class EventoComboBox extends JFrame implements ActionListener LabelPersonal miLabel; String[] petStrings={"Bird","Cat","Dog","Rabbit","Pig"{}; public EventoComboBox(String titulo) super(titulo); //Crear el combo box directamente mediante un array //y seleccionar por defecto el cerdo JComboBox petList = new JComboBox(petStrings); petList.setSelectedIndex(4); //Asignar un escuchador de ActionEvent y gestionarlos petList.addActionListener(this); //Mostrar la imagen preseleccionada en la línea 14 miLabel=new LabelPersonal(new ImageIcon("imagenes/"+petStrings[petList.getSelectedIndex()] +".gif").getImage()); //label.setBorder(BorderFactory.createEmptyBorder(10,0,0,0)) ; miLabel.setBorder(BorderFactory.createTitledBorder( BorderFactory.createLoweredBevelBorder(), "Masc otas", TitledBorder.LEFT, TitledBorder.TOP )); //Obtener panel de contenido, asignar administrador y borde y agregar componentes JPanel contentPane=(JPanel)getContentPane(); contentPane.setLayout(new BorderLayout()); //Este borde hace que el combo box y la label no estén pegados a los //bordes de la frame contentPane.setBorder(BorderFactory.createEmptyBorder(20,20, 20,20)); contentPane.add(petList,BorderLayout.NORTH); contentPane.add(miLabel,BorderLayout.CENTER); {} public void actionPerformed(ActionEvent e) JComboBox cb = (JComboBox)e.getSource(); String petName = (String)cb.getSelectedItem(); System.out.println(petNam e); ImageIcon icono=new ImageIcon("imagenes/"+petName+".gif"); new LabelPersonal(icono.getImage()); {} public static void main(String s[]) JFrame frame = new EventoComboBox("Eventos con combo box"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(500,500); frame.setVisible(true); {} } class LabelPersonal extends JLabel Image imagen; public LabelPersonal(Image imagen){ this.imagen=imagen; System.out.println("C onst"); {} public void paint(Graphics g) System.out.println("paint"); g.drawImage(imagen ,0,0,getWidth(),getHeight(),this); {} } |
|
|
||