package project;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
import javax.swing.event.ChangeListener;

public class RadioButtons extends JPanel implements ActionListener {
	
	private static final long serialVersionUID = 1L;
	private String selectedValue;
	private String[] model;
	JRadioButton[] radioButtonArray;
	ButtonGroup buttonGroup;
	public RadioButtons(String[] model,int direction){
		super();
		GridLayout grid=null;
		this.model=model;
		if (direction==1){
			 grid=new GridLayout(1, 0);
		}
		else grid=new GridLayout(0, 1);
		
		setLayout(grid);
		
		Border emptyBorder=BorderFactory.createEmptyBorder(5, 5, 5,5);
		Border etchedBorder=BorderFactory.createBevelBorder(BevelBorder.LOWERED );
		Border compoundBorder=BorderFactory.createCompoundBorder( etchedBorder,emptyBorder);
		Border compoundBorder1=BorderFactory.createCompoundBorder( new CustomBorder(2, Color.blue),emptyBorder);
		Border compoundBorder2=BorderFactory.createCompoundBorder( new CustomBorder(2, Color.blue),etchedBorder);
		setBorder(compoundBorder1);
		
		radioButtonArray=new JRadioButton[model.length];
		buttonGroup=new ButtonGroup();
		for(int i=0;i<model.length;i++){
			radioButtonArray[i]=new JRadioButton(model[i]);
			radioButtonArray[i].setActionCommand(model[i]);
			radioButtonArray[i].addActionListener(this);
			buttonGroup.add(radioButtonArray[i]);
			add(radioButtonArray[i]);
		}
	
	}
	
	

	@Override
	public void actionPerformed(ActionEvent e) {
		System.out.println(e.getActionCommand());
		selectedValue=e.getActionCommand();
		
	}
	
	public String getSelectedValue(){
		for (int i=0;i<radioButtonArray.length;i++){
			if (radioButtonArray[i].isSelected()){
				selectedValue=radioButtonArray[i].getText();
				return selectedValue;
			}
		}
		return selectedValue;
	}
	public String getText(){
		for (int i=0;i<radioButtonArray.length;i++){
			if (radioButtonArray[i].isSelected()){
				selectedValue=radioButtonArray[i].getText();
				return selectedValue;
			}
		}
		return selectedValue;
	}
	
	public void setText(int i){
		 radioButtonArray[i].setSelected(true);
	}
	
	public void setText(String i){
		 radioButtonArray[Integer.parseInt(i)].setSelected(true);
	}
	
	
}
