package optionDialog;

import javax.swing.*;

/**
 * Panel z przełącznikami w ramce z tytułem
 */
public class ButtonPanel extends JPanel
{
   private ButtonGroup group;

   /**
    * Tworzy panel przycisków
    * @param title Tytuł wyświetlany w obramowaniu
    * @param options Tablica etykiet przełączników
    */
   public ButtonPanel(String title, String... options)
   {
      setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), title));
      setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
      group = new ButtonGroup();

      // Utworzenie po jednym przełączniku dla każdej opcji
      for (String option : options)
      {
         JRadioButton b = new JRadioButton(option);
         b.setActionCommand(option);
         add(b);
         group.add(b);
         b.setSelected(option == options[0]);
      }
   }

   /**
    * Pobiera aktualnie wybraną opcję
    * @return Zwraca etykietę aktualnie wybranego przełącznika
    */
   public String getSelection()
   {
      return group.getSelection().getActionCommand();
   }
}

