티스토리 뷰
AWT 를 사용하여 강수량을 계산하는 프로그램입니다.
1. Rainfall.java
package Rain; public class Rainfall { String year;// 연도 String whether;// 기상현상 int six, seven, eight, nine;// 6,7,8,9 int sum;// 총강우량 double avg;// 평균강우량 public void SetRainfall(String y, String wh, int six, int seven, int eight, int nine) { this.year = y; this.whether = wh; this.six = six; this.seven = seven; this.eight = eight; this.nine = nine; } public Rainfall() { } public void gaesan() { sum = six + seven + eight + nine; avg = sum / 4.0; } public void output(){ String out=""; out="년도= "+this.year+"6월="+this.six+"7월="+this.seven+"8월="+this.eight+"9월="+this.nine+"총강우량= "+sum+"평균="+avg; return; } }
2. Check.java
package Rain; import java.awt.*; import java.awt.event.*; public class Check extends Frame implements ActionListener { Panel[] p = new Panel[4]; Label[] la = new Label[7]; TextField[] tf = new TextField[6]; Rainfall[] rf = new Rainfall[10]; TextArea ta = new TextArea(5, 20); Button[] bu = new Button[2]; String[] laname = { "연도", "6월", "7월", "8월", "9월", "기상현상", "출력" }; String[] btname = { "입력", "출력" }; int count = 0; public Check(String t) { super(t); setSize(600, 600); for (int i = 0; i < p.length; i++) { p[i] = new Panel(); } for (int i = 0; i < la.length; i++) { la[i] = new Label(laname[i]); } for (int i = 0; i < bu.length; i++) { bu[i] = new Button(btname[i]); bu[i].addActionListener(this); p[2].add(bu[i]); } for (int i = 0; i < tf.length; i++) { la[i] = new Label(laname[i]); tf[i] = new TextField(10); p[0].add(la[i]); p[0].add(tf[i]); } p[0].setBounds(20, 30, 150, 300); p[0].setBackground(Color.gray); add(p[0]); p[1].setBounds(200, 30, 200, 200); p[1].setBackground(Color.cyan); p[1].add(la[6]); p[1].add(ta); add(p[1]); p[2].setBounds(200, 300, 150, 100); p[2].setBackground(Color.GREEN); add(p[2]); setLayout(null); setVisible(true); addWindowListener(new MyListener()); } public void actionPerformed(ActionEvent e) { Object o = e.getSource(); int sum = 0; double avg = 0.0; if (o == bu[0]) { rf[count] = new Rainfall(); rf[count].SetRainfall(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())); for (int i = 0; i < tf.length; i++) { // 텍스트필드 입력란 초기화 tf[i].setText(""); } count++; // 카운트 추가 } else if (o == bu[1]) { for (int i = 0; i < count; i++) { sum = rf[i].six + rf[i].seven + rf[i].eight + rf[i].nine; avg = (double) sum / 4.0; ta.append("해당년도" + rf[i].year + "\n"); ta.append("총강우량" + sum + "\n"); ta.append("평균강우량" + avg + "\n"); } } else if (count == 10) { ta.setText("10번이상을 입력하여 에러입니다\n"); } /* * for(int i=0;i<4;i++){ if(tf[i]>=2000||tf[i]<=0) * ta.setText("0이상 2000이하의 강수량을 입력하세요\n"); * * } */ } public void itemStateChanged(ItemEvent e) { } }
3. Check_Test.java
package Rain; public class Check_Test { public static void main(String[] args) { // TODO Auto-generated method stub Check cha = new Check("강우량"); } }
4. MyListener.java
package Rain; 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) { } }
결과
'프로그래밍 > Java Programming' 카테고리의 다른 글
학생성적관리시스템 AWT (0) | 2018.04.07 |
---|---|
자바 도서관리 AWT (0) | 2018.04.07 |
스레드 파일입력 (0) | 2018.04.06 |
스레드 Thread 기본 (0) | 2018.04.06 |
사원정보 및 월급 출력 (0) | 2018.04.06 |
댓글