import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;

public class UI_OrderStatus extends JPanel
{
	JTextArea textArea;
	JTextField customerName;
	JComboBox tableNumber;
	JButton orderBtn;
	JButton cancelBtn;
	JButton paymentBtn;
	
	OrderStatusControll osController;
	
	UI_OrderStatus()
	{
		// ¼±¾ðºÎ
		GridBagLayout gbl = new GridBagLayout(); //·¹ÀÌ¾Æ¿ô
		GridBagConstraints gbc = new GridBagConstraints(); 
		LineBorder pBorder = new LineBorder(Color.BLACK); // ÆÐ³Î º¸´õ
		TitledBorder title = new TitledBorder(pBorder, "ÁÖ¹® ³»¿ª"); //Å¸ÀÌÆ² º¸´õ
		
		
		JTextArea textArea = new JTextArea(5, 15);  // ÁÖ¹®ÇöÈ²°ú °áÁ¦±Ý¾× Ãâ·Â
		textArea.setEditable(false);
		JScrollPane sp = new JScrollPane(textArea);
		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		
		JLabel label_1 = new JLabel("°í°´¸í");
		JLabel label_2 = new JLabel("Å×ÀÌºí¸í");
		JTextField customerName = new JTextField(); //°í°´¸í ÀÔ·Â ¹ÞÀº ÄÄÆ÷³ÍÆ®
		
		String[] tableNum = new String[20];
		for(int i=0;i<tableNum.length; i++)
		{
			tableNum[i] = Integer.toString(i+1);
		}		
		JComboBox<String> tableNumber = new JComboBox<String>(tableNum);  //Å×ÀÌºí ¸í ÄÞº¸¹Ú½º
		
		JButton orderBtn = new JButton("ÁÖ¹®"); 
		JButton cancelBtn = new JButton("Ãë¼Ò");
		JButton paymentBtn = new JButton("°áÁ¦");
		
		setLayout(gbl);		
		title.setTitlePosition(TitledBorder.LEFT);		
		setBorder(title);
		
		gbc.insets = new Insets(5, 5, 5, 5);
		gbc.fill = GridBagConstraints.BOTH;
		
		//textArea ¼ÂÆÃ
		LineBorder textAreaBorder = new LineBorder(Color.gray);
		textArea.setBorder(textAreaBorder);
		gbc.weightx = 0.1;
		gbc.weighty = 0.1;
		gbc.gridwidth = 1;
		gbc.gridheight = 7;		
		gbc.gridx = 0;
		gbc.gridy = 0;		
		gbl.setConstraints(sp, gbc);
		//add(textArea);	
		add(sp);
		
		//°í°´¸í ·¹ÀÌºí, ÅØ½ºÆ®ÇÊµå ¼ÂÆÃ
		gbc.weightx = 0.1;
		gbc.weighty = 0.1;
		gbc.gridwidth = 1;
		gbc.gridheight = 1;
		gbc.gridx = 2;
		gbc.gridy = 0;
		gbl.setConstraints(label_1, gbc);
		add(label_1);		
		
		gbc.gridx = 2;
		gbc.gridy = 1;
		gbl.setConstraints(customerName, gbc);
		add(customerName);
		
		//Å×ÀÌºí¸í ·¹ÀÌºí, Å×ÀÌºí¸í ÄÞº¸¹Ú½º ¼ÂÆÃ
		gbc.gridx = 2;
		gbc.gridy = 2;
		gbl.setConstraints(label_2, gbc);
		add(label_2);		
		
		gbc.gridx = 2;
		gbc.gridy = 3;
		gbl.setConstraints(tableNumber, gbc);
		add(tableNumber);
		
		// ¹öÆ° ¼ÂÆÃ
		gbc.fill = GridBagConstraints.EAST;
		gbc.gridx = 2;
		gbc.gridy = 4;
		gbl.setConstraints(orderBtn, gbc);
		add(orderBtn);
		
		gbc.gridx = 2;
		gbc.gridy = 5;
		gbl.setConstraints(cancelBtn, gbc);
		add(cancelBtn);
		
		gbc.gridx = 2;
		gbc.gridy = 6;
		gbl.setConstraints(paymentBtn, gbc);
		add(paymentBtn);	
		
		System.out.println("UI_OrderStatus ÆÐ³Î »ý¼º ¿Ï·á..");
		
		// À¯¾ÆÀÌ ÄÁÆ®·Ñ·¯ »ý¼º
		osController = new OrderStatusControll(textArea, customerName, tableNumber, 
				orderBtn, cancelBtn, paymentBtn);
		// µî·Ï
		customerName.addActionListener(osController);
		tableNumber.addActionListener(osController);
		orderBtn.addActionListener(osController);
		cancelBtn.addActionListener(osController);
		paymentBtn.addActionListener(osController);		
	}
	
	public OrderStatusControll getController()
	{
		return this.osController;
	}
}
