Java - Ayuda con Button

 
Vista:

Ayuda con Button

Publicado por misaelrv (1 intervención) el 02/10/2009 06:58:10
Que tal!!
Soy nuevo en el mundo de la programacion con java, y estoy checando los componentes por separado del java.

Acudo a este sitio para saber cual es la causa de este detalle que tengo con un Button, el detalle ocurre cuando le doy a mi botton de desacivar boton central, no lo desactiva y al final los tres botones centrales quedan activados y simplemente no se desactivan, dejo mi codigo para que me puedan sugerir donde esta el problema.

Les agradesco de antemano las sugerencias que me puedan dar y estare a la espera de una respuesta!!

import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon;

import java.applet.Applet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

public class ButtonDemoMRV extends JPanel
implements ActionListener {
protected JButton b1, b2, b3, b4;


public ButtonDemoMRV() {
ImageIcon leftButtonIcon = createImageIcon("images/flecha1.gif");
ImageIcon middleButtonIcon = createImageIcon("images/Computadora.gif");
ImageIcon rightButtonIcon = createImageIcon("images/flecha2.gif");

b1 = new JButton("Desactivar Boton Central", leftButtonIcon);
b1.setVerticalTextPosition(AbstractButton.CENTER);
b1.setHorizontalTextPosition(AbstractButton.LEADING);
b1.setMnemonic(KeyEvent.VK_D);
b1.setActionCommand("disable");

b2 = new JButton("Boton Central", middleButtonIcon);
b2.setVerticalTextPosition(AbstractButton.BOTTOM);
b2.setHorizontalTextPosition(AbstractButton.CENTER);
b2.setMnemonic(KeyEvent.VK_C);

b3 = new JButton("Activar Boton Central", rightButtonIcon);
b3.setMnemonic(KeyEvent.VK_A);
b3.setActionCommand("enable");
b3.setEnabled(false);

b4 = new JButton("Activar/Desactivar");
b4.setMnemonic(KeyEvent.VK_R);
b4.setActionCommand("activar");
b4.setEnabled(true);

b1.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);

b1.setToolTipText("Desactivar Boton Central.");
b2.setToolTipText("Boton Central.");
b3.setToolTipText("Activar Boton Central.");
b4.setToolTipText("Activar y Desactivar Todos los Botones.");

setLayout(new BorderLayout());

add("West",b1);
add("Center",b2);
add("East",b3);
add("South",b4);
}

public void actionPerformed(ActionEvent e) {

if ("disable".equals(e.getActionCommand())) {
b2.setEnabled(false);
b1.setEnabled(false);
b3.setEnabled(true);
} else {
b2.setEnabled(true);
b1.setEnabled(true);
b3.setEnabled(false);
}

if("activar".equals(e.getActionCommand()))
{
b1.setEnabled(false);
b2.setEnabled(false);
b3.setEnabled(false);
b4.setActionCommand("desactivar");
}

else{b4.setActionCommand("activar");
b1.setEnabled(true);
b2.setEnabled(true);
b3.setEnabled(true);
}

}

protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = ButtonDemoMRV.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}

private static void createAndShowGUI() {

JFrame frame = new JFrame("ButtonDemoMRV");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ButtonDemoMRV newContentPane = new ButtonDemoMRV();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);

frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder