Botones JAVA

Iniciado por jemiesro, 13 Junio 2013, 06:41 AM

0 Miembros y 1 Visitante están viendo este tema.

jemiesro

Buenas noches,

tengo q crear un codigo con arboles binarios, donde dan varias opciones.

mis preguntas son:

1. como hago el boton salir y q pues me saque del cuadro de dialogo.
2. los Case se pueden usar cuando trabajo con botones, ejemplo: tengo un boton "Aceptar" y pues tengo varios label (opcion 1, 2, 3, 4,....10) cada opcion es un case, debo escoger una opcion y depues click en el boton "Aceptar", de acuerdo a la opcion escogida, se da una accion, por ejemplo escojo op. 1 entonces pregunto de cuantos nodos creare mi arbol binario, si doy op 2 lo ordeno en preorden y así suscesivamente.   entonces este boton lo puedo trabajar con case (si es así como lo hago).  o lo trabajo con if.

gracias por su valiosa ayuda.  :rolleyes:


RyogiShiki

Para hacer que el botón salir cierre la ventana donde estás tienes dos opciones, llamar al método setVi¡sible(boolean b) al hacer click sobre el botón, o llamar a el método dispose(), la diferencia es que el primero solo oculta la ventana, la segunda cierra como tal.

Ahora para hacer lo de los switch case, una opción es usar JRadioButtons y ButtonGroup para que solo se seleccione una y solo una de las opciones requeridas, el código que te presento tiene a continuación todos los elementos por los que preguntas.

Código (java) [Seleccionar]
package org.windowbuttons.ui;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MainWindow extends JFrame implements ActionListener {

   private static final String EXIT_CMD = "exit";

   private static final String ACCEPT_CMD = "accept";

   private static final String OPC_ONE = "opc1";

   private static final String OPC_TWO = "opc2";

   private static final String OPC_THREE = "opc3";

   private static final String OPC_FOUR = "opc4";

   private JButton exitButton;

   private JButton acceptButton;

   private JRadioButton radioButtonOpcOne;

   private JRadioButton radioButtonOpcTwo;

   private JRadioButton radioButtonOpcThree;

   private JRadioButton radioButtonOpcFour;

   private ButtonGroup radioButtonsGroup;

   public MainWindow() {
       setSize(200, 200);
       setResizable(false);
       setLayout(new FlowLayout());
       setDefaultCloseOperation(DISPOSE_ON_CLOSE);

       radioButtonsGroup = new ButtonGroup();

       radioButtonOpcOne = new JRadioButton("Opcion 1");
       radioButtonOpcTwo = new JRadioButton("Opcion 2");
       radioButtonOpcThree = new JRadioButton("Opcion 3");
       radioButtonOpcFour = new JRadioButton("Opcion 4");

       radioButtonOpcOne.setActionCommand(OPC_ONE);
       radioButtonOpcTwo.setActionCommand(OPC_TWO);
       radioButtonOpcThree.setActionCommand(OPC_THREE);
       radioButtonOpcFour.setActionCommand(OPC_FOUR);

       radioButtonsGroup.add(radioButtonOpcOne);
       radioButtonsGroup.add(radioButtonOpcTwo);
       radioButtonsGroup.add(radioButtonOpcThree);
       radioButtonsGroup.add(radioButtonOpcFour);

       exitButton = new JButton("Sarlir");
       acceptButton = new JButton("Aceptar");

       exitButton.setActionCommand(EXIT_CMD);
       acceptButton.setActionCommand(ACCEPT_CMD);

       exitButton.addActionListener(this);
       acceptButton.addActionListener(this);

       add(radioButtonOpcOne);
       add(radioButtonOpcTwo);
       add(radioButtonOpcThree);
       add(radioButtonOpcFour);

       add(acceptButton);
       add(exitButton);

   }

   public static void main(String[] args) {
       MainWindow mw = new MainWindow();
       mw.setVisible(true);
   }


   @Override
   public void actionPerformed(ActionEvent e) {
       if(e.getActionCommand().equals(EXIT_CMD)) {
           this.dispose();
       }

       if(e.getActionCommand().equals(ACCEPT_CMD)) {
           String cmd = radioButtonsGroup.getSelection().getActionCommand();

           switch (cmd) {
               case OPC_ONE:
                   JOptionPane.showMessageDialog(this, "Opcion 1 seleccionada");
                   break;
               case OPC_TWO:
                   JOptionPane.showMessageDialog(this, "Opcion 2 seleccionada");
                   break;
               case OPC_THREE:
                   JOptionPane.showMessageDialog(this, "Opcion 3 seleccionada");
                   break;
               case OPC_FOUR:
                   JOptionPane.showMessageDialog(this, "Opcion 4 seleccionada");
                   break;
           }
       }

   }
}


Si tienes alguna duda no dudes en preguntar.

Saludos


Slider324

esta muy bien lo que te dice RyogiShiki pero tambien podrias usar un jcombobox