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 {private jframe frame; // объявить соответствующую панель макета частная JPanel PanelWest; Частный JPanel PanelCenter; Частный JPanel Paneleas; частное текстовое поле TF; Частный Jbutton Buttonzero; // Объявление кнопки управления кнопкой Private Jbutton Buttondot; Частный Jbutton Buttonqual; Приватный Jbutton Buttonplus, Buttonminus, Buttonmultiple, Buttondevision, Buttonsin, Buttontozero; Приватный Jbutton Buttonone, Buttontwo, Buttonthree, Buttonfour, Buttonfive, ButtonSix, Buttonseven, Buttonight, Buttonnine; Private ButtonListener Sulderer; // Объявит событие прослушивания Public Static void Main (String args []) {new jisuanji (); } public jisuanji () {initView (); // создание связанного объекта setCenter (); // макет добавляет элементы управления и соответствующие элементы управления для обработки setWest (); seteast (); addlistener (); // установить прослушивание setFrame (); // Установить макет и обработку отображения для кадры} Класс ButtonListener реализует ActionListener {int biiaozhi = 0; // Инициализировать связанную переменную двойной флаг1 = 0, flag2 = 0, flag3 = 0; //@переопределить public void actionperformed (actionevent e) {// (1) через e.getsource (), получить кнопку источника события Click и сделать соответствующую обработку if (e.getSource () == buttondot) {tf.settext ("0."); } if (e.getSource () == buttonontozero) {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); // Инициализировать ширину интерфейса = new JFrame ("Simple Computer"); PanelCenter = new jPanel (); панель -запад = new jpanel (); PanelEast = new jPanel (); Слушатель = новый ButtenListener (); // создание объекта прослушивания} private void setCenter () {// (1) Инициализировать значение отображения кнопки управления = new Jbutton ("1"); bottontwo = new jbutton ("2"); buttonthree = new Jbutton ("3"); Buttonfour = new Jbutton ("4"); Buttonfive = new Jbutton ("5"); ButkonSix = new Jbutton ("6"); Buttonseven = new Jbutton ("7"); ButtonNeight = new Jbutton ("8"); Buttonnine = new Jbutton ("9"); // (2) Установить макет стиль Panelenter.setLayout (New Gridlayout (3,3)); // макет в соответствии с содержанием // (3) Добавить кнопки управления panelcenter.add (buttongone); panelcenter.add (buttontwo); panelcenter.add (buttonthree); panelenter.add (buttonfour); panelenter.add (buttonfive); Panelenter.Add (ButtonSix); panelenter.add (Buttonseven); Panelenter.Add (ButtonNeight); panelcenter.add (Buttonnine); } private void seteast () {// (1) Установите элемент управления Symbol Symbolplus = new Jbutton ("+"); Buttonminus = new Jbutton ("-"); ButtonMultiple = new Jbutton ("*"); buttondevision = new jbutton ("/"); butkonsin = new Jbutton ("sin"); buttonontozero = new jbutton ("clear"); // (2) Установите Mayout Style Panelesst.SetLayout (New Gridlayout (3,2)); // (3) Добавить соответствующую панель управления кнопкой кнопки. Danemesst.add (Buttonminus); panelesst.add (buttonmultiple); panelesst.add (buttondevision); panelesst.add (buttondevision); panelesst.add (butkonsin); paneleast.add (buttonontozero); } private void setWest () {// (1) Инициализировать значение дисплея управления Buttonzero = new Jbutton ("0"); buttondot = new Jbutton ("."); buttonqual = new Jbutton ("="); // (2) Установите макет для этих трех кнопок Panelwest.setLayout (New Gridlayout (3,1)); // (3) Добавить кнопку управления кнопкой в левую макет, добавьте три кнопки в Mayout panel west.add (Buttonzero); panelwest.add (buttondot); Panelwest.Add (Buttonqual); } private void AddListener () {// (1) Добавить кнопки прослушивания для кнопок, соответствующих 1-9.AddActionListener (слушатель); Buttontwo.addactionListener (слушатель); buttonthree.addactionListener (слушатель); buttonfour.addactionListener (слушатель); buttonfive.addactionListener (слушатель); butkonsix.addactionListener (слушатель); buttonseven.addactionListener (слушатель); ButtonNeight.AddactionListener (слушатель); ButtonNeight.AddactionListener (слушатель); buttonnine.addactionListener (слушатель); // (2) Добавить прослушивание buttonplus.addactionListener (слушатель); buttonminus.addactionListener (слушатель); buttonmultiple.addactionListener (слушатель); buttondevision.addactionListener (слушатель); butkonsin.addactionListener (слушатель); buttonontozero.addactionListener (слушатель); buttonontozero.addactionListener (слушатель); // (3) прослушивание Buttonzero.addactionListener (слушатель); Buttonzero.addactionListener (слушатель); buttondot.addactionListener (слушатель); buttonqual.addactionListener (слушатель); } private void setFrame () {frame.setLayout (new BorderLayout ()); // Добавить контент из разных направлений, подготовленных к большой кадре. frame.add (tf, borderlayout.north); Frame.add (Panelwest, Borderlayout.west); Frame.Add (PanelCenter, Borderlayout.center); // установить цвет tf.setbackground (color.green); Frame.pack (); // Расширение кадра. // программа кадра находится в рамке положения экрана.setDefaultCloseoPeration (jframe.exit_on_close); // Выйти из процесса, не добавляя это предложение, закройте страницу, но программный процесс все еще работает Frame.SetVisible (true); // Графический интерфейс по умолчанию невидим, устанавливает графический интерфейс на видимый}}Тестирование кода доступно.
3. Демонстрация и эффекты
1) Занимающий интерфейс заключается в следующем:
Конечно, размер и положение графического интерфейса могут быть отрегулированы, а его положение и размер также могут быть инициализированы.
2) Простой тест четыре операции: 11*12
Кажется, что просто не может быть проще. Этот калькулятор записывается, чтобы сосредоточиться на соединении макета с простой использованием кнопок .
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.