[[TableOfContents]] = ì°¸ì—¬ìž ëª…ë‹¨ = || 단장 || ì´ê¸¸ìƒ || 16학번 || - || ||<|4> ë‹¨ì› || 강필중 ||<|4> 21학번 || - || || 권재민 || - || || 김민경 || - || || ì´ìˆ˜ì€ || - || = 수업 = == 진행 == 1. 장소 : 구글 ë¯¸ì¸ 2. 시간 : 19ì‹œ ~ 21ì‹œ == ë‚´ìš© == '''ìžë°” GUI''' * Swing ì»´í¬ë„ŒíŠ¸ë¡œ 화면 구성하기 * í”„ë ˆìž„ê³¼ 패ë„, 버튼과 í…스트필드 '''계산기 만들어보기''' * UIê³¼ ë¡œì§ì„ 분리하여 ìƒì†ìœ¼ë¡œ 엮어보기 '''ppt''' * [[https://drive.google.com/file/d/1CRW01mQkqc4ZWwI3ixQ44tncNyNfWpxh/view?usp=sharing]] = 코드 = == ì˜ˆì œ == {{{ import javax.swing.*; import java.awt.*; import java.awt.event.*; class JavaGUI extends JFrame{ String names[] = {"1", "2", "3" ,"+" , "4", "5", "6", "-", "7", "8", "9", "*", "C", "0", "=", "/"}; JTextField inputText; JButton buttons[]; JavaGUI(){ setSize(300, 400); setTitle("계산기"); setLayout(new BorderLayout(0, 10)); JPanel inputPanel = new JPanel(new BorderLayout(5, 2)); JPanel buttonPanel = new JPanel(new GridLayout(4, 4)); add(inputPanel, BorderLayout.NORTH); add(buttonPanel, BorderLayout.CENTER); inputText = new JTextField(); inputText.setHorizontalAlignment(JTextField.RIGHT); inputPanel.add(inputText); buttons = new JButton[16]; for(int i = 0; i< 16; i++){ buttons[i] = new JButton(names[i]); buttonPanel.add(buttons[i]); } setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } } class Calculator extends JavaGUI implements ActionListener{ Calculator(){ for(int i = 0; i< 16; i++){ buttons[i].addActionListener(this); } } @Override public void actionPerformed(ActionEvent e) { JButton pressedButton = (JButton)e.getSource(); String text = pressedButton.getText(); switch (text) { case "=": int result = textAnalysis(inputText.getText()); inputText.setText("" + result); break; case "C": inputText.setText(""); break; default: inputText.setText(inputText.getText() + text); break; } } int textAnalysis(String text){ if (text.contains("+")){ String[] formula = text.split("\\+"); int x = Integer.parseInt(formula[0]); int y = Integer.parseInt(formula[1]); return x + y; } if (text.contains("-")){ String[] formula = text.split("-"); int x = Integer.parseInt(formula[0]); int y = Integer.parseInt(formula[1]); return x - y; } if (text.contains("*")){ String[] formula = text.split("\\*"); int x = Integer.parseInt(formula[0]); int y = Integer.parseInt(formula[1]); return x * y; } if (text.contains("/")){ String[] formula = text.split("/"); int x = Integer.parseInt(formula[0]); int y = Integer.parseInt(formula[1]); return x / y; } return 0; } } public class GUI { public static void main(String[] args) { System.out.println("시작!"); Calculator gui = new Calculator(); } } }}} = ìˆ™ì œ = 1. íšŒê³ ìž‘ì„± = íšŒê³ ë¡ = '''권재민''' * ë‚œì´ë„: 6/10 * 후기: GUI를 ì²˜ìŒ ì ‘í•´ë³´ê²Œ ë˜ì–´ì„œ ì‹ ì„ í–ˆì–´ìš”. 잘 가르ì³ì£¼ì…”ì„œ 좀 쉽게 배울 수 있었어요. ë¬¼ë¡ ìžë°”ê°€ ì´ˆìŒì´ë¼ 막 쉽지는 않았습니다. ---- '''ì´ìˆ˜ì€''' * ë‚œì´ë„: 5/10 * 후기: 새로운 ê²ƒì„ í•´ë´ì„œ 재밌게 마무리 í• ìˆ˜ ìžˆì—ˆë˜ ê²ƒ 같습니다. 차근차근 ì•Œë ¤ì£¼ì…”ì„œ 좋았어요. ---- '''김민경''' * ë‚œì´ë„: 6/10 * 후기: 오늘 다룬 ì£¼ì œê°€ í¥ë¯¸ë¡œì›Œì„œ ì²˜ìŒ ì ‘í•´ë³¸ ë‚´ìš©ì´ ë§Žì•˜ì§€ë§Œ 재밌게 ë”°ë¼ê°ˆ 수 있었습니다. ---- '''강필중''' * ë‚œì´ë„: /10 * 후기: ---- '''ì´ê¸¸ìƒ''' * 후기: 짧ì€ê¸°ê°„ì— ë„ˆë¬´ 많ì€ê±¸ í•´ê²°í•˜ë ¤ 한건 아닌지. ---- ---- ----------------------------------- [새싹êµì‹¤/2021] [새싹êµì‹¤/2021/ì¹´ë¼ë°˜]