- made by 김한성 선배님
 
- 미션1 : 이쁘게 GUI 구성하기
 
- 미션2 : 파일 입출력 사용해서 DB 관리 프로그램 만들기
 
- 아래의 코드는 예시코드입니다. 이를 배끼지 말고 참고해서 만들어 봅시다.
- 실행은 DataBase를 펴서 실행시키셔야 합니다.
 
계산기가 생각난다...킁...
 
 
- DataBase
 
package Homework_Hansunng;
import javax.swing.JFrame;
//실제 파일을 관리할 곳
public class DataBase {
	public static void main(String[] args) {
		GUI mainGUI = new GUI();
		mainGUI.pack();
		mainGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		mainGUI.setVisible(true);
		mainGUI.setTitle("Assignment!!");
	}
}
 
//기본적인 data형식
package Homework_Hansunng;
public class Data {
	private String FileName;		// 파일 이름은 yyyy-mm-dd형식을 사용
	private String RorW;			// 읽기 전용은 R 읽고 쓰기는 W (W는 기본적으로 R을 포함)
	private String encryption;		// 암호화여부(   (X xor Y) xor Y = X   ->  key값을 1번 xor해주면 암호화 다시 xor하면 해독)
	private String key = "123";		// 암호화를 위한 key값(즉 위의 식에서 Y값)
	private String content;			// 실질적인 파일 내용
	
	public Data(){
		FileName = "2014-08-11";
		RorW = "RW";
		encryption = null;
		content = null;
	}
	
	public Data(String date){
		FileName = date;
		RorW = "RW";
		encryption = null;
		content = null;
	}
	
	public void setFileName(String FileName){
		this.FileName = FileName;
	}
	
	public void setRorW(String RorW){
		this.RorW = RorW;
	}
	
	public void setencryption(String encryption){
		this.encryption = encryption;
	}
	
	public void setcontent(String content){
		this.content = content;
	}
	
	public String getFileName(){
		return FileName;
	}
	
	public String getRorW(){
		return RorW;
	}
	
	public String getencryption(){
		return encryption;
	}
	
	public String getcontent(){
		return content;
	}
	
}
 
package Homework_Hansunng;
/* File Name = yyyy-mm-dd
 * File Content
 * 1. File Name ex) 2014-08-11
 * 2. Read Or Write ex) 0(It's mean that R), 1(It's mean that W)
 * 3. Encryption ex) 0(Not use Encryption), 1(Use Encryption)
 * 4. Key     -> Just Key value
 * 5. Content -> Memo
 */
public class FileManager {
	private Data tempOfdata = new Data();
	
	public void Save(){
		
		
	}
	
}
 
package Homework_Hansunng;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class GUI extends JFrame {
	private JLabel labelOfFile = new JLabel("FileName");
	private JLabel labelOfRorW = new JLabel("Read or Write");
	private JLabel labelOfencryption = new JLabel("PassWord");
	private JLabel labelOfcontent = new JLabel("Content");
	private JTextField FileName = new JTextField(10);
	private JTextField RorW = new JTextField(10);
	private JTextField encryption = new JTextField(5);
	private JTextField content = new JTextField(100);
	private JButton Save = new JButton("Save");
	private JButton Load = new JButton("Load");
	public GUI() {
		// data를 생성합시다
		Data dataOftoday = new Data("2014-08-11");
		// default value(First Show)
		dataOftoday.setRorW("R Or W을 입력하세요");
		dataOftoday.setencryption("yes Or no");
		dataOftoday.setcontent("저장된 내용을 불러오시려면 FileName을 입력하고 Load해주세요");
		// 생성한 data를 현재 보여질 GUI에 넣어 줍시다
		FileName.setText(dataOftoday.getFileName());
		RorW.setText(dataOftoday.getRorW());
		encryption.setText(dataOftoday.getencryption());
		content.setText(dataOftoday.getcontent());
		// 넣어준 요소들을 화면에 띄워줍시다
		JPanel gLabel = new JPanel();
		gLabel.add(labelOfFile);
		gLabel.add(labelOfRorW);
		gLabel.add(labelOfencryption);
		gLabel.add(labelOfcontent);
		gLabel.setLayout(new GridLayout(4, 1));
		JPanel gText = new JPanel();
		gText.add(FileName);
		gText.add(RorW);
		gText.add(encryption);
		gText.add(content);
		gText.setLayout(new GridLayout(4, 1));
		
		JPanel topOfPanel = new JPanel();
		topOfPanel.add(gLabel, BorderLayout.WEST);
		topOfPanel.add(gText, BorderLayout.EAST);
		topOfPanel.setLayout(new GridLayout(1, 2));
		JPanel gButton = new JPanel();
		gButton.add(Save);
		gButton.add(Load);
		gButton.setLayout(new GridLayout(1, 2));
		
		add(topOfPanel, BorderLayout.NORTH);
		add(gButton, BorderLayout.SOUTH);
		
		// Save, Load Button
		Save.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// Save를 눌렀을때 돌아감
				// FileManager로 잘해볼것
				
			}
		});
		Load.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// Load를 눌렀을때 돌아감
				// FileManager로 잘해볼것
				
				
			}
		});
	}
}