1. คำนำ
1) เครื่องคิดเลขนี้เขียนขึ้นอยู่กับอินเตอร์เฟสกราฟิก AWT ในภาษา Java ที่จริงแล้วฉันคิดว่ามันไม่สำคัญว่าจะใช้ฟังก์ชั่นใดเมื่อเขียนเครื่องคิดเลขนี้ ตลาดไม่ได้ขาดเครื่องคิดเลขนี้ แต่ใช้การดำเนินการและการใช้การควบคุมอย่างง่ายใน AWT โดยการเชื่อมต่อและทำความคุ้นเคยกับพื้นฐานของ AWT วางรากฐานสำหรับการเรียนรู้เชิงลึก เครื่องคิดเลขนี้ยังมีฟังก์ชั่นที่ง่ายมากและใช้งานง่าย อย่างไรก็ตามหากคุณสนใจคุณสามารถเพิ่มฟังก์ชั่นและปรับปรุงการดำเนินงานต่อไป
2) แพลตฟอร์มการใช้งาน: ส่วนใหญ่ใช้ myeclipse2014
3) คะแนนความรู้หลัก: พื้นฐาน Java; awt+swing
2. การใช้งานฟังก์ชั่นและการแสดงรหัส
1) ส่วนใหญ่เป็นการออกกำลังกายเค้าโครงการใช้กล่องข้อความ artboard และการลงทะเบียนและการตรวจสอบเหตุการณ์ของปุ่มควบคุม เนื่องจากฟังก์ชั่นนั้นง่ายมากรหัสจึงถูกย่อในคลาสเดียวกัน การดำเนินการขั้นพื้นฐานสี่ประการนั้นเกิดขึ้นได้
2) รหัสมีดังนี้:
นำเข้า Java.awt.BorderLayout; นำเข้า Java.awt.Gridlayout; นำเข้า Java.awt.TextField; นำเข้า java.awt.event.actionEvent; นำเข้า java.awt.event.actionListener; นำเข้า Javax.swing.jbutton; นำเข้า Javax.swing.jframe; นำเข้า Javax.swing.jpanel; นำเข้า Java.awt.Color; ชั้นเรียนสาธารณะ Jisuanji {เฟรมส่วนตัว jframe; // ประกาศแผงเค้าโครงส่วนตัวที่เกี่ยวข้อง JPanel Panelwest; Private JPanel PanelCenter; แผง JPanel ส่วนตัว; Textfield ส่วนตัว TF; JButton ButtonZero ส่วนตัว; // ประกาศปุ่มควบคุมปุ่ม jbutton ส่วนตัว; JButton ButtonQual ส่วนตัว; JButton ButtonPlus ส่วนตัว, ปุ่ม, ปุ่ม, ปุ่ม, ปุ่ม, ปุ่ม, buttontozero; ButtonOne JButton ส่วนตัว, Buttontwo, ButtonThree, ButtonFour, ButtonFive, ปุ่ม, ปุ่ม, ปุ่ม, Buttonight, ButtonNine; ผู้ฟัง ButtonListener ส่วนตัว; // ประกาศเหตุการณ์การฟังเป็นโมฆะสาธารณะคงที่หลัก (String args []) {ใหม่ jisuanji (); } สาธารณะ jisuanji () {initView (); // ตัวอย่างวัตถุที่เกี่ยวข้อง setCenter (); // เลย์เอาต์เพิ่มการควบคุมและการควบคุมที่เกี่ยวข้องเพื่อจัดการ setWest (); seteast (); addListener (); // ตั้งค่าการฟัง setFrame (); // ตั้งค่าเค้าโครงและการประมวลผลการแสดงผลสำหรับเฟรม} คลาส buttonListener ใช้ ActionListener {int biiaozhi = 0; // เริ่มต้นตัวแปรที่เกี่ยวข้อง double flag1 = 0, flag2 = 0, flag3 = 0; //@Override Public Void ActionPerformed (ActionEvent E) {// (1) ผ่าน E.getSource () รับแหล่งที่มาของปุ่มคลิกและทำการประมวลผลที่สอดคล้องกันหาก (E.getSource () == buttondot) {tf.settext ("0"); } if (e.getSource () == buttontozero) {tf.settext (""); } if (e.getSource () == buttonzero) {tf.settext (tf.getText ()+"0"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == buttonOne) {tf.settext (tf.getText ()+"1"); // กล่องข้อความแสดง 1, 2, 3. flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == buttontwo) {tf.settext (tf.getText ()+"2"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == buttonthree) {tf.settext (tf.getText ()+"3"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == buttonfour) {tf.settext (tf.getText ()+"4"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == buttonFive) {tf.settext (tf.getText ()+"5"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == ปุ่ม) {tf.settext (tf.getText ()+"6"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == ปุ่ม) {tf.settext (tf.getText ()+"6"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == ปุ่ม) {tf.settext (tf.getText ()+"7"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == buttoneight) {tf.settext (tf.getText ()+"8"); flag1 = double.parsedouble (tf.getText ()); } อื่นถ้า (e.getSource () == ButtonNine) {tf.settext (tf.getText ()+"9"); flag1 = double.parsedouble (tf.getText ()); } if (e.getSource () == buttonPlus) {tf.settext (""); Flag2 = Flag1; Biozhi = 0; } if (e.getSource () == buttonminus) {tf.settext (""); Flag2 = Flag1; Biozhi = 1; } if (e.getSource () == buttonMultiple) {tf.settext (""); Flag2 = Flag1; Biozhi = 2; } if (e.getSource () == buttondEvision) {tf.settext (""); Flag2 = Flag1; Biozhi = 3; } if (e.getSource () == ปุ่ม) {flag3 = math.sin (flag1); tf.settext (Flag3+""); } if (e.getSource () == buttonequal) {ถ้า (biaozhi == 0) {flag3 = flag2+flag1; } if (biaozhi == 1) {flag3 = flag2-flag1; } if (biaozhi == 2) {flag3 = flag2*flag1; } if (biaozhi == 3) {flag3 = flag2/flag1; } tf.settext (Flag3+""); }}} private void initView () {/*** สร้างเฟรมวัตถุคอนเทนเนอร์ขนาดเล็กวัตถุปุ่ม*/tf = New TextField (30); // เริ่มต้นเฟรมความกว้างอินเตอร์เฟส = JFRAME ใหม่ ("คอมพิวเตอร์ง่าย"); PanelCenter = new JPanel (); PanelWest = new JPanel (); Paneleast = new JPanel (); Listener = ใหม่ buttonListener (); // อินสแตนซ์วัตถุการฟัง} โมฆะส่วนตัว setCenter () {// (1) เริ่มต้นค่าการแสดงผลของปุ่มควบคุม = new JButton ("1"); buttontwo = new JButton ("2"); buttonThree = new JButton ("3"); buttonFour = new JButton ("4"); buttonFive = new JButton ("5"); ปุ่ม = new JButton ("6"); ปุ่ม = new JButton ("7"); buttonneight = new JButton ("8"); ButtonNine = new JButton ("9"); // (2) ตั้งค่า PanelCenter.setLayout (ใหม่ gridlayout (3,3)); // เลย์เอาต์ตามเนื้อหา // (3) เพิ่มปุ่มควบคุม PanelCenter.add (buttonone); PanelCenter.add (buttontwo); PanelCenter.add (buttonThree); PanelCenter.add (ButtonFour); PanelCenter.add (ButtonFive); PanelCenter.add (ปุ่ม); PanelCenter.add (ปุ่ม); PanelCenter.add (ButtonNight); PanelCenter.add (ButtonNine); } โมฆะส่วนตัว seteast () {// (1) ตั้งค่าการแสดงสัญลักษณ์การแสดงสัญลักษณ์ buttonPlus = new JButton ("+"); buttonminus = new JButton ("-"); buttonMultiple = new JButton ("*"); buttondevision = new JButton ("/"); ปุ่ม = new JButton ("sin"); Buttontozero = new JButton ("Clear"); // (2) ตั้งค่า Paneasst สไตล์เค้าโครง SetLayout (ใหม่ gridlayout (3,2)); // (3) เพิ่มแผงควบคุมปุ่มที่สอดคล้องกันแผงควบคุม (ButtonPlus); Paneleasst.add (ปุ่ม); Paneleasst.add (ปุ่ม); Paneleasst.add (buttondevision); Paneleasst.add (buttondevision); Paneleasst.add (ปุ่ม); Paneleast.add (buttontozero); } โมฆะส่วนตัว setWest () {// (1) เริ่มต้นการแสดงผลการควบคุมค่า buttonZero = new JButton ("0"); buttondot = new JButton ("."); buttonQual = new JButton ("="); // (2) ตั้งเค้าโครงสำหรับปุ่มทั้งสามนี้ West.setLayout (ใหม่ gridlayout (3,1)); // (3) เพิ่มการควบคุมปุ่มบนเค้าโครงด้านซ้ายเพิ่มสามปุ่มลงใน layout panelwest.add (buttonzero); Panelwest.add (buttondot); PanelWest.Add (Buttonqual); } โมฆะส่วนตัว addListener () {// (1) เพิ่มปุ่มการฟังสำหรับปุ่มที่สอดคล้องกับ 1-9.addactionListener (ผู้ฟัง); Buttontwo.addactionListener (ผู้ฟัง); ButtonThree.addactionListener (ผู้ฟัง); buttonfour.addactionListener (ผู้ฟัง); buttonfive.addactionListener (ผู้ฟัง); BUTTONSIX.ADDACTIONLISTENER (ผู้ฟัง); BUTTONSEVEN.ADDACTIONLISTENER (ผู้ฟัง); buttonneight.addactionListener (ผู้ฟัง); buttonneight.addactionListener (ผู้ฟัง); ButtonNine.addactionListener (ผู้ฟัง); // (2) เพิ่มการฟัง buttonplus.addactionListener (ผู้ฟัง); buttonminus.addactionListener (ผู้ฟัง); ButtonMultiple.addactionListener (ผู้ฟัง); buttondevision.addactionListener (ผู้ฟัง); buttonsin.addactionListener (ผู้ฟัง); Buttontozero.addactionListener (ผู้ฟัง); Buttontozero.addactionListener (ผู้ฟัง); // (3) ฟัง buttonzero.addactionListener (ผู้ฟัง); buttonzero.addactionListener (ผู้ฟัง); Buttondot.addactionListener (ผู้ฟัง); buttonqual.addactionListener (ผู้ฟัง); } โมฆะส่วนตัว setFrame () {frame.setLayout (New BorderLayout ()); // เพิ่มเนื้อหาจากทิศทางต่าง ๆ ที่เตรียมไว้สำหรับเฟรมขนาดใหญ่ ADD (Paneleast, "East"); frame.add (tf, borderlayout.north); frame.add (Panelwest, BorderLayout.west); frame.add (PanelCenter, BorderLayout.Center); // ตั้งค่าสี tf.setbackground (color.green); frame.pack (); // ขยายเฟรมเฟรม SetLocation (500,500); // เฟรมโปรแกรมอยู่ในเฟรมตำแหน่งหน้าจอ SetDefaultCloseOperation (jframe.exit_on_close); // ออกจากกระบวนการโดยไม่ต้องเพิ่มประโยคนี้ปิดหน้า แต่กระบวนการโปรแกรมยังคงใช้งานเฟรมที่สามารถมองเห็นได้ (จริง); // อินเทอร์เฟซกราฟิกนั้นมองไม่เห็นตามค่าเริ่มต้น SetVisible ตั้งค่าอินเตอร์เฟสกราฟิกให้มองเห็น}}มีการทดสอบรหัส
3. การสาธิตและผลกระทบ
1) อินเทอร์เฟซที่รันมีดังนี้:
แน่นอนขนาดและตำแหน่งของอินเทอร์เฟซกราฟิกสามารถปรับได้และตำแหน่งและขนาดของมันยังสามารถเริ่มต้นได้
2) การทดสอบอย่างง่ายสี่การดำเนินการ: 11*12
ดูเหมือนว่าเรียบง่ายไม่สามารถง่ายกว่านี้ได้ เครื่องคิดเลขนี้ถูกเขียนลงเพื่อมุ่งเน้นไปที่ การเชื่อมต่อเลย์เอาต์ ด้วย การใช้ปุ่มอย่างง่าย
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น