티스토리 뷰
1. Student.java
package ScoreMana; public class Student { String Name, Bun, Friend, Movie, Food, Music; int kor, eng, math, sci; double sum, avg; public Student(String name, String bun, int kor, int eng, int math, int sci, String food, String music, String friend, String movie) { this.Name = name; this.Bun = bun; this.kor = kor; this.eng = eng; this.math = math; this.sci = sci; this.Food = food; this.Music = music; this.Friend = friend; this.Movie = movie; sum = kor + eng + math + sci; avg = (double) sum / 4; } }
2. MyListener.java
package ScoreMana; import java.awt.*; import java.awt.event.*; public class MyListener implements WindowListener { public void windowClosing(WindowEvent ev) { System.exit(0); } public void windowActivated(WindowEvent ev) { } public void windowClosed(WindowEvent e) { } public void windowDeactivated(WindowEvent e) { } public void windowDeiconified(WindowEvent e) { } public void windowIconified(WindowEvent e) { } public void windowOpened(WindowEvent e) { } }
3. Student_Test.java
package ScoreMana; public class Student_Test { public static void main(String[] args) { Student_awt awt = new Student_awt("나의성적계산프로그램"); } }
4. Student_awt.java
package ScoreMana; import java.awt.*; import java.awt.event.*; public class Student_awt extends Frame implements ActionListener, ItemListener { Panel[] panel = new Panel[5];// 패널구역5개 Label[] la = new Label[11];// 라벨 String laname[] = { "이름", "학번", "국어", "영어", "수학", "과학", " " + " 좋아하는음식 ", " 좋아하는음악 ", "출력", "좋아하는친구", "좋아하는영화" };// 항목이름 TextField[] tf = new TextField[6];// 텍스트필드 Checkbox[] cb = new Checkbox[6];// 체크란 CheckboxGroup cbg1 = new CheckboxGroup();// 좋아하는음식 CheckboxGroup cbg2 = new CheckboxGroup();// 좋아하는음악 TextArea ta = new TextArea(10, 30);// 출력창 Student[] stu = new Student[10]; Choice ch = new Choice(); List list = new List(5);// 리스트 Button[] button = new Button[3];// 버튼 String[] btname = { "배열저장", "출력", "종료" };// 버튼이름 GridLayout gl = new GridLayout(3, 1);// 버튼3행1열 String music, food;// 배열저장과출력값을위한변수 int count = 0;// 저장출력값을위해for문으로돌릴때필요하다 public Student_awt(String t) { super(t); setLayout(null); for (int i = 0; i < panel.length; i++) {// 패널생성 panel[i] = new Panel(); } for (int i = 0; i < button.length; i++) {// 버튼생성 button[i] = new Button(btname[i]); button[i].addActionListener(this); panel[4].add(button[i]); } for (int i = 0; i < cb.length; i++) {// 체크박스생성 cb[i] = additemListener(this); } for (int i = 0; i < la.length; i++) {// 라벨생성 la[i] = new Label(laname[i]); } for (int i = 0; i < tf.length; i++) {// 텍스트필드(같은패널안에집어넣으려면2번째생성한포문안에순서대로입력같이생성) la[i] = new Label(laname[i]); tf[i] = new TextField(10); panel[0].add(la[i]); panel[0].add(tf[i]); } panel[0].setBounds(10, 55, 150, 180);// 라벨패널 panel[0].setBackground(Color.green); add(panel[0]); panel[2].setBounds(200, 50, 300, 200);// 출력패널 panel[2].setBackground(Color.pink); panel[2].add(la[8]); panel[2].add(ta); add(panel[2]); panel[3].setBounds(200, 270, 150, 200); panel[3].setBackground(Color.cyan); panel[3].add(la[9]);// 좋아하는친구 ch.add("-----선택-----"); ch.add("신현의"); ch.add("황창하"); ch.add("윤승욱"); ch.add("윤재훈"); panel[3].add(ch);// 패널3에초이스추가 panel[3].add(la[10]);// 좋아하는영화 list.add("내부자들"); list.add("정글북"); list.add("이응이응"); list.add("주토피아"); panel[3].add(list);// 패널3에리스트추가 add(panel[3]); panel[4].setBounds(360, 270, 150, 200); panel[4].setBackground(Color.DARK_GRAY); panel[4].setLayout(gl); add(panel[4]); setSize(600, 600); setVisible(true); addWindowListener(new MyListener()); } private Checkbox additemListener(Student_awt student_awt) { // TODO Auto-generated method stub return null; } public void actionPerformed(ActionEvent e) {// 값계산 int sum = 0; Object o = e.getSource(); if (o == button[0]) { stu[count] = new Student(tf[0].getText(), tf[1].getText(), Integer.parseInt(tf[2].getText()), Integer.parseInt(tf[3].getText()), Integer.parseInt(tf[4].getText()), Integer.parseInt(tf[5].getText()), food, music, ch.getSelectedItem(), list.getSelectedItem()); count++; for (int i = 0; i < tf.length; i++) { tf[i].setText(""); } } else if (o == button[1]) { for (int i = 0; i < count; i++) { ta.append("이름=" + stu[i].Name + "\n");// 학생클래스처음선언해준변수를넣어주어야한다. ta.append("학번= " + stu[i].Bun + "\n"); ta.append("국어= " + stu[i].kor + "\n"); ta.append("영어= " + stu[i].eng + "\n"); ta.append("수학= " + stu[i].math + "\n"); ta.append("과학= " + stu[i].sci + "\n"); ta.append("총점= " + stu[i].sum + "\n"); ta.append("평균= " + stu[i].avg + "\n"); ta.append("좋아하는친구= " + stu[i].Friend + "\n"); ta.append("좋아하는영화= " + stu[i].Movie + "\n"); } } else if (o == button[2]) { System.exit(0); } } public void itemStateChanged(ItemEvent e) {// 체크박스값넘겨주기 Object o = e.getSource(); if (o == cb[0]) {// 좋아하는음식넘겨주기 food = cb[0].getLabel(); } else if (o == cb[1]) { food = cb[1].getLabel(); } else if (o == cb[2]) { food = cb[2].getLabel(); } if (o == cb[3]) {// 좋아하는음식넘겨주기 music = cb[3].getLabel(); } else if (o == cb[4]) { music = cb[4].getLabel(); } else if (o == cb[5]) { music = cb[5].getLabel(); } } }
결과
'프로그래밍 > Java Programming' 카테고리의 다른 글
AWT 기본만들기 (0) | 2018.04.07 |
---|---|
자바 도서관리 AWT (0) | 2018.04.07 |
자바 강수량 구하기 AWT (0) | 2018.04.07 |
스레드 파일입력 (0) | 2018.04.06 |
스레드 Thread 기본 (0) | 2018.04.06 |
댓글