Programación General > Java
Duda Con Swing
Drackzer:
Hola..!!
Concuerdo con el amigo Silverfox, pero a la vez contigo tambine, te diras por que??
Bueno, por el hecho de que si es posible utilizar el operador == para hacer este tipo de comparaciones, pero aqui el error es que, creo que esta en la clase donde implementaste el ActionListener, el metodo "Interno"...
Porque al manejar la variable "o" para los dos, es como si solo compararan una misma accion por igual, y si se ejecuto una vez en un objeto, no puede ser vovler ejecutado por otro el mismo objeto... No se si sea correcta mi hipotesis, pero asi lo capto yo.
Porque no pruebas con el "this" como argumento en vez de la variable "o", y veras que ahora si podras usar los dos "if" que quieres implementar para declarar dos acciones difrerentes.
Ojala y te sirva de ayuda, Saludos..!!
--- Código: Text --- // ***Programa que cambia los factores de formato de un boton// ***por medio de eventos import java.awt.*;import javax.swing.*;import java.awt.event.*; public class BotonDemo implements ActionListener{ JButton b1,b2,b3,b4,b5,b6; JFrame marco; public BotonDemo() { marco=new JFrame("Prog.Botones"); marco.getContentPane().setLayout(new GridLayout(2,3,5,5)); // ** Aqui esta lo que te decia // ** utilizar el this para instanciarle // ** el evento, uno diferente // ** para cada uno b1=new JButton(); b1.addActionListener(this); marco.getContentPane().add(b1); b2=new JButton(); b2.addActionListener(this); marco.getContentPane().add(b2); b3=new JButton(); b3.addActionListener(this); marco.getContentPane().add(b3); b4=new JButton(); b4.addActionListener(this); marco.getContentPane().add(b4); b5=new JButton(); b5.addActionListener(this); marco.getContentPane().add(b5); b6=new JButton(); b6.addActionListener(this); marco.getContentPane().add(b6); marco.setSize(500,150); marco.setVisible(true); marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } // ** Y aqui se ejecutna tales eventos.... public void actionPerformed(ActionEvent ev) { if(ev.getSource()==b1) { b1.setBackground(Color.lightGray); b1.setForeground(Color.white); b1.setText("Botoncito uno"); b1.setBorder(BorderFactory.createTitledBorder("Marco del boton uno")); } if(ev.getSource()==b2) { b2.setBackground(Color.yellow); b2.setForeground(Color.green); b2.setText("Botoncito dos"); b2.setBorder(BorderFactory.createTitledBorder("Marco del boton dos")); } if(ev.getSource()==b3) { b3.setBackground(Color.red); b3.setForeground(Color.white); b3.setText("Botoncito tres"); b3.setBorder(BorderFactory.createTitledBorder("Marco del boton tres")); } if(ev.getSource()==b4) { b4.setBackground(Color.white); b4.setForeground(Color.black); b4.setText("Botoncito cuatro"); b4.setBorder(BorderFactory.createTitledBorder("Marco del boton cuatro")); } if(ev.getSource()==b5) { b5.setBackground(Color.orange); b5.setForeground(Color.blue); b5.setText("Botoncito cinco"); b5.setBorder(BorderFactory.createTitledBorder("Marco del boton cinco")); } if(ev.getSource()==b6) { b6.setBackground(Color.blue); b6.setForeground(Color.white); b6.setText("Botoncito seis"); b6.setBorder(BorderFactory.createTitledBorder("Marco del boton seis")); } } public static void main(String args[]) { BotonDemo obj=new BotonDemo(); }}
Espero te sirva carnal..!!
Navegación
[*] Página Anterior
Ir a la versión completa