'♣Computer Science♣/JAVA'에 해당되는 글 10건

  1. 2010.08.21 로보코드
  2. 2010.08.18 전화번호부 프로그램
  3. 2010.08.17 Look And Feel - 냅킨 룩앤필을 적용한 예제
  4. 2010.08.17 Border 예제입니다.
♣Computer Science♣/JAVA2010. 8. 21. 09:59

로봇전투 시뮬레이터인 로보코드를 다운받아 실행해 보았다.
로보코드는 여기서 다운 받으면 된다.
http://robocode.sourceforge.net/

내 로봇의 이름은 Clover 이다.
이 편집창에서 내 로봇에 대한 설정을 코드로 구현하는 것 같다.
이제 시작이기에 일단은 디폴트로 실행해 보았다.



Battle -> now를 누르면 전투에 참가시킨 로봇들이 전투를 벌이게 된다.
전투 시작하자 마자 대포(?)를 마구 쏴대서 깜짝 놀랐다.ㅋㅋ




나는 그저 넋놓고 바라봤을 뿐인데 corner라는 로봇에 대항하여 내 로봇 Clover가 승리했다.ㅋㅋ
다음번엔 내가 직접 내 로봇의 능력을 자바 코드로 구현해 봐야겠당.



Posted by 클로버,,
♣Computer Science♣/JAVA2010. 8. 18. 22:49
마지막  GUI까지 적용하여, 완성이라고 하기엔 정말 많이 부족한 전화번호부 프로그램을 작성 하였다.
일단 4가지 기능 중 2가지에만 GUI를 적용시킴.


                                   <냅킨 룩앤필을 적용한 모습>

Posted by 클로버,,
♣Computer Science♣/JAVA2010. 8. 17. 23:07

^^


                          -> 냅킨 룩앤필 다운로드 후  napkinlaf-1.2.jar 파일을 압축해제 하면 net 디렉토리를 발견할 수 있습니다.
                               이를 적용한 클래스 파일과 동일한 디렉터리 위치에 가져다 놓으세요~^^

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Vector;

import javax.swing.border.*;

class MyFriend
{
	String name;
	int age;
	
	public MyFriend(String name, int age)
	{
		this.name=name;
		this.age=age;		
	}
	
	public String toString() {return name;}
	public void showFriendInfo()
	{
		System.out.println("name: "+ name);
		System.out.println("age:" + age);		
	}	
}

class ChoiceHandler implements ItemListener
{
	public void itemStateChanged(ItemEvent e)
	{
		if(e.getStateChange()==ItemEvent.SELECTED)
		{
			System.out.println("Selected...");
			((MyFriend)e.getItem()).showFriendInfo();
		}
		else
		{
			System.out.println("Deselected...");
			((MyFriend)e.getItem()).showFriendInfo();
		}
	}
}

class TextChangedHandler implements ActionListener
{
	public void actionPerformed(ActionEvent e)
	{
		if((e.getActionCommand()).compareTo("comboBoxEdited")==0)
			System.out.println("ComboBox Edited");
		else
			System.out.println("ComboBox Changed");
	}
}

class FirstSwing
{
	public static void main(String[] args)
	{
		
		try
		{
			UIManager.setLookAndFeel("net.sourceforge.napkinlaf.NapkinLookAndFeel");
			
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		
		JFrame frm = new JFrame("Choice Component");
		frm.setBounds(120, 120, 250, 120);
		frm.setLayout(new GridLayout(0,2));
		
		Vector friend = new Vector();
		
		friend.add(new MyFriend("yoon", 22));
		friend.add(new MyFriend("aoon", 23));
		friend.add(new MyFriend("qoon", 24));
		friend.add(new MyFriend("woon", 25));

	JLabel label1 = new JLabel("ComboBox");
	JComboBox cmbBox1 = new JComboBox(friend);
	cmbBox1.setMaximumRowCount(3);
	cmbBox1.addItemListener(new ChoiceHandler());
	
	JLabel label2 = new JLabel("Editable ComboBox");
	JComboBox cmbBox2 = new JComboBox(friend);
	cmbBox2.setEditable(true);
	cmbBox2.addActionListener(new TextChangedHandler());
	
	
	frm.add(label1); frm.add(cmbBox1);
	frm.add(label2); frm.add(cmbBox2);
	
	frm.setVisible(true);
	frm.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);	
	}
	
}
실행화면~^^
Posted by 클로버,,
♣Computer Science♣/JAVA2010. 8. 17. 22:06
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;

class CheckBoxHandler implements ItemListener
{
	JRadioButton btn1;
	JRadioButton btn2;
	JRadioButton btn3;
	
	public CheckBoxHandler(JRadioButton b1, JRadioButton b2, JRadioButton b3)
	{
		btn1=b1;
		btn2=b2;
		btn3=b3;
	}
	
	public void itemStateChanged(ItemEvent e)
	{
		if(e.getStateChange()==ItemEvent.SELECTED)
		{
			btn1.setEnabled(true);
			btn2.setEnabled(true);
			btn3.setEnabled(true);
		}
		else
		{
			btn1.setEnabled(false);
			btn2.setEnabled(false);
			btn3.setEnabled(false);
		}
	}
}

class FirstSwing
{
	public static void main(String[] args)
	{
		JFrame frm = new JFrame("Border");
		frm.setBounds(120, 120, 200, 200);
		frm.setLayout(new FlowLayout());
		
		JCheckBox checkBox = new JCheckBox("Are you a programmer");
		
		JRadioButton rbtn1 = new JRadioButton("I like C");
		JRadioButton rbtn2 = new JRadioButton("I like C++");
		JRadioButton rbtn3 = new JRadioButton("I like Java", true);
		
		ButtonGroup bGroup = new ButtonGroup();
		bGroup.add(rbtn1);
		bGroup.add(rbtn2);
		bGroup.add(rbtn3);
		
		
		Border rbtnBorder = BorderFactory.createEtchedBorder();
		rbtnBorder = BorderFactory.createTitledBorder(rbtnBorder, "Language");
		
		JPanel rbtBorderPanel = new JPanel();
		rbtBorderPanel.setLayout(new GridLayout(0,1));
		rbtBorderPanel.setBorder(rbtnBorder);
		
		rbtBorderPanel.add(rbtn1);
		rbtBorderPanel.add(rbtn2);
		rbtBorderPanel.add(rbtn3);
		
		checkBox.addItemListener(new CheckBoxHandler(rbtn1, rbtn2, rbtn3));
		frm.add(checkBox); frm.add(rbtBorderPanel);
		
		rbtn1.setEnabled(false);
		rbtn2.setEnabled(false);
		rbtn3.setEnabled(false);
		
		rbtn1.addItemListener(
				new ItemListener(){
					public void itemStateChanged(ItemEvent e)
					{
						if(e.getStateChange()== ItemEvent.SELECTED)
							System.out.println("I like C too");
					}
				}
		);
		
		rbtn2.addItemListener(
				new ItemListener(){
					public void itemStateChanged(ItemEvent e)
					{
						if(e.getStateChange()== ItemEvent.SELECTED)
							System.out.println("I like C++ too");
					}
				}
		);
		
		rbtn3.addItemListener(
				new ItemListener(){
					public void itemStateChanged(ItemEvent e)
					{
						if(e.getStateChange()== ItemEvent.SELECTED)
							System.out.println("I like Java too");
					}
				}
		);
		
		frm.setVisible(true);
		frm.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

	}
}

실행화면

Posted by 클로버,,