1. 서문
1)이 계산기는 Java 언어로 된 그래픽 인터페이스 AWT를 기반으로 작성됩니다. 실제로, 나는이 계산기를 쓸 때 어떤 기능을 구현하는지는 중요하지 않다고 생각합니다. 시장은이 계산기가 부족하지 않고 오히려 AWT에서 간단한 컨트롤의 운영 및 사용을 사용합니다. AWT의 기본 사항을 연결하고 친숙하게함으로써 심도있는 학습의 토대를 마련합니다. 이 계산기는 또한 매우 간단한 기능을 가지고 있으며 사용하기 쉽습니다. 그러나 관심이 있으시면 기능을 계속 추가하고 작업을 향상시킬 수 있습니다.
2) 사용 플랫폼 : 주로 MyClipse2014를 사용합니다
3) 주요 지식 지점 : Java 기본; AWT+스윙
2. 기능 구현 및 코드 디스플레이
1) 주로 레이아웃 레이아웃의 연습, 아르트 보드 텍스트 상자 사용 및 제어 버튼의 이벤트 등록 및 모니터링입니다. 함수도 매우 간단하기 때문에 코드는 동일한 클래스로 축약됩니다. 기본 4 개의 작업이 실현됩니다.
2) 코드는 다음과 같습니다.
java.awt.borderlayout import; import java.awt.gridlayout; java.awt.textfield import; import java.awt.event.actionevent; import java.awt.event.actionListener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jpanel; import java.awt.color; 공개 클래스 Jisuanji {개인 JFrame 프레임; // 관련 레이아웃 패널 개인 jpanel 패널 웨스트를 선언합니다. 개인 JPANEL 패널 센터; 개인 JPANEL 패널; 개인 텍스트 필드 TF; Private JButton Buttonzero; // 선언 버튼 제어 개인 JBUTTON BUTTONDOT; 개인 Jbutton Buttonqual; 개인 Jbutton ButtonPlus, ButtonMinus, Button -Multiple, ButtonDevision, Buttonsin, Buttontozero; Private JButton ButtonOne, Buttontwo, Buttonthree, ButtonFour, ButtonFive, Buttonsix, ButtonSeven, ButtonIgn, ButtonNine; 개인 ButtonListener 리스너; // 청취 이벤트를 선언합니다 public static void main (String args []) {new jisuanji (); } public jisuanji () {initView (); // 관련 객체 setCenter ()를 인스턴스화합니다. // 레이아웃 SetWest ()를 처리하기 위해 컨트롤 및 관련 컨트롤을 추가합니다. seteast (); addListener (); // set listening setframe (); // 프레임에 대한 레이아웃 및 디스플레이 처리 설정} 클래스 ButtonListener는 ActionListener {int biiaozhi = 0; // 관련 변수 이중 플래그 1 = 0, flag2 = 0, flag3 = 0; //@public void ActionPerformed (ActionEvent e) {// (1) Through 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 ()); } else if (e.getSource () == buttonOne) {tf.settext (tf.getText ()+"1"); // 텍스트 상자에 1, 2, 3이 표시됩니다. flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == buttontwo) {tf.settext (tf.getText ()+"2"); flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == buttonthree) {tf.settext (tf.getText ()+"3"); flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == buttonfour) {tf.settext (tf.getText ()+"4"); flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == buttonFive) {tf.settext (tf.getText ()+"5"); flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == buttonsix) {tf.settext (tf.getText ()+"6"); flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == buttonsix) {tf.settext (tf.getText ()+"6"); flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == buttonSeven) {tf.settext (tf.getText ()+"7"); flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == buttOneight) {tf.settext (tf.getText ()+"8"); flag1 = double.parsedouble (tf.getText ()); } else if (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 () == buttonsin) {flag3 = math.sin (flag1); tf.settext (flag3+""); } if (e.getSource () == buttonequal) {if (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 ( "간단한 컴퓨터"); 패널 센터 = 새로운 jpanel (); 패널 웨스트 = 새로운 jpanel (); 패널 이스트 = 새로운 jpanel (); 리스너 = 새로운 buttonListener (); // 청취 개체를 인스턴스화} private void setCenter () {// (1) 제어 버튼의 표시 값을 초기화 = new Jbutton ( "1"); buttontwo = New Jbutton ( "2"); Buttonthree = New Jbutton ( "3"); ButtonFour = New Jbutton ( "4"); ButtonFive = New JButton ( "5"); buttonsix = new Jbutton ( "6"); ButtonSeven = New Jbutton ( "7"); ButtonNeight = New Jbutton ( "8"); ButtonNine = New Jbutton ( "9"); // (2) 레이아웃 스타일 패널 센터를 설정합니다. 세트 레이 아웃 (New GridLayout (3,3)); // 컨텐츠에 따른 레이아웃 // (3) 제어 버튼 ADD PANELCENTER.ADD (buttonOne); PelationCenter.add (buttontwo); PelationCenter.add (버튼 제목); PelationCenter.add (ButtonFour); PelationCenter.add (buttonfive); PelationCenter.add (buttonsix); PelationCenter.add (ButtonSeven); PelationCenter.add (ButtonNeight); PALENCENTER.ADD (ButtonNine); } private void seteast () {// (1) 제어 디스플레이 기호를 설정합니다. ButtonPlus = new Jbutton ( "+"); buttonminus = new Jbutton ( "-"); buttonmultiple = new Jbutton ( "*"); buttondevision = new Jbutton ( "/"); buttonsin = new Jbutton ( "sin"); Buttontozero = New Jbutton ( "Clear"); // (2) 레이아웃 스타일 패널을 설정합니다. // (3) 해당 버튼 제어 PANELEASST.ADD (buttonPlus)를 추가합니다. Panneasst.add (buttonminus); panteleasst.add (buttonmultiple); panteleasst.add (buttondevision); panteleasst.add (buttondevision); panteleasst.add (buttonsin); Panneast.add (Buttontozero); } private void setwest () {// (1) 제어 디스플레이 값 Buttonzero = New JButton ( "0"); Buttondot = New Jbutton ( "."); buttonqual = new Jbutton ( "="); // (2)이 세 버튼에 대한 레이아웃을 설정합니다. // (3) 왼쪽 레이아웃에서 버튼 제어 추가, 레이아웃 패널 웨스트에 3 개의 버튼을 추가하십시오 (buttonzero); 패널 웨스트 .add (buttondot); PANILWEST.ADD (ButtonQual); } private void 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 (리스너); } private void setframe () {frame.setLayout (new BorderLayout ()); // 대형 프레임 프레임까지 준비된 다른 방향에서 내용을 추가합니다. frame.add (tf, borderlayout.north); frame.add (Panel West, Borderlayout.West); frame.add (PanelCenter, BorderLayout.Center); // 색상을 설정하십시오. frame.pack (); // 프레임 프레임을 확장합니다 .setLocation (500,500); // 프로그램 프레임은 화면 위치 프레임에 있습니다. //이 문장을 추가하지 않고 프로세스를 종료하고 페이지를 닫지 만 프로그램 프로세스는 여전히 frame.setVisible (true)을 실행 중입니다. // 그래픽 인터페이스는 기본적으로 보이지 않으며 SetVisible은 그래픽 인터페이스를 Visible로 설정합니다}}코드 테스트를 사용할 수 있습니다.
3. 시연과 효과
1) 실행 인터페이스는 다음과 같습니다.
물론 그래픽 인터페이스의 크기와 위치를 조정할 수 있으며 위치와 크기도 초기화 될 수 있습니다.
2) 간단한 테스트 4 개의 작업 : 11*12
단순한 것이 더 간단 할 수없는 것 같습니다. 이 계산기는 단순한 버튼을 사용 하여 레이아웃 연결 에 중점을두기 위해 기록됩니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.