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();
}
});
}
}
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


0