Description Using JavaFX and any of its associated controls

Description
Using JavaFX and any of its associated controls, recreate an interface. Examples include items like microwaves, calculators, ATMs, car radios, media players, or other devices. You may choose any object as long as you fulfill the requirements.
Your interface should use a minimum of:
5 UI Components (e.g. Button, Label, TextField, etc.), 3 different types of Panes. At least one Pane must contain another Pane (e.g. FlowPane containing a VBox), 1 bound property. Node property customization
Optional, but useful: Image/ImageView, counts (combined) as 1 of the 5 UI components if used
Other requirements and notes:
Program should indicate, in the comment header, the object you are recreating. If the object you are using is not common, include a link to a representative picture.

Solution

//CALCULATOR import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Calculator extends JFrame implements ActionListener { JPanel[] row = new JPanel[5]; JButton[] button = new JButton[19]; String[] buttonString = {\"7\", \"8\", \"9\", \"+\", \"4\", \"5\", \"6\", \"-\", \"1\", \"2\", \"3\", \"*\", \".\", \"/\", \"C\", \"\", \"+/-\", \"=\", \"0\"}; int[] dimW = {300,45,100,90}; int[] dimH = {35, 40}; Dimension displayDimension = new Dimension(dimW[0], dimH[0]); Dimension regularDimension = new Dimension(dimW[1], dimH[1]); Dimension rColumnDimension = new Dimension(dimW[2], dimH[1]); Dimension zeroButDimension = new Dimension(dimW[3], dimH[1]); boolean[] function = new boolean[4]; double[] temporary = {0, 0}; JTextArea display = new JTextArea(1,20); Font font = new Font(\"Times new Roman\", Font.BOLD, 14); Calculator() { super(\"Calculator\"); setDesign(); setSize(380, 250); setResizable(false); setDefaultCloseOperation(EXIT_ON_CLOSE); GridLayout grid = new GridLayout(5,5); setLayout(grid); for(int i = 0; i < 4; i++) function[i] = false; FlowLayout f1 = new FlowLayout(FlowLayout.CENTER); FlowLayout f2 = new FlowLayout(FlowLayout.CENTER,1,1); for(int i = 0; i < 5; i++) row[i] = new JPanel(); row[0].setLayout(f1); for(int i = 1; i < 5; i++) row[i].setLayout(f2); for(int i = 0; i < 19; i++) { button[i] = new JButton(); button[i].setText(buttonString[i]); button[i].setFont(font); button[i].addActionListener(this); } display.setFont(font); display.setEditable(false); display.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); display.setPreferredSize(displayDimension); for(int i = 0; i < 14; i++) button[i].setPreferredSize(regularDimension); for(int i = 14; i < 18; i++) button[i].setPreferredSize(rColumnDimension); button[18].setPreferredSize(zeroButDimension); row[0].add(display); add(row[0]); for(int i = 0; i < 4; i++) row[1].add(button[i]); row[1].add(button[14]); add(row[1]); for(int i = 4; i < 8; i++) row[2].add(button[i]); row[2].add(button[15]); add(row[2]); for(int i = 8; i < 12; i++) row[3].add(button[i]); row[3].add(button[16]); add(row[3]); row[4].add(button[18]); for(int i = 12; i < 14; i++) row[4].add(button[i]); row[4].add(button[17]); add(row[4]); setVisible(true); } public void clear() { try { display.setText(\"\"); for(int i = 0; i < 4; i++) function[i] = false; for(int i = 0; i < 2; i++) temporary[i] = 0; } catch(NullPointerException e) { } } public void getSqrt() { try { double value = Math.sqrt(Double.parseDouble(display.getText())); display.setText(Double.toString(value)); } catch(NumberFormatException e) { } } public void getPosNeg() { try { double value = Double.parseDouble(display.getText()); if(value != 0) { value = value * (-1); display.setText(Double.toString(value)); } else { } } catch(NumberFormatException e) { } } public void getResult() { double result = 0; temporary[1] = Double.parseDouble(display.getText()); String temp0 = Double.toString(temporary[0]); String temp1 = Double.toString(temporary[1]); try { if(temp0.contains(\"-\")) { String[] temp00 = temp0.split(\"-\", 2); temporary[0] = (Double.parseDouble(temp00[1]) * -1); } if(temp1.contains(\"-\")) { String[] temp11 = temp1.split(\"-\", 2); temporary[1] = (Double.parseDouble(temp11[1]) * -1); } } catch(ArrayIndexOutOfBoundsException e) { } try { if(function[2] == true) result = temporary[0] * temporary[1]; else if(function[3] == true) result = temporary[0] / temporary[1]; else if(function[0] == true) result = temporary[0] + temporary[1]; else if(function[1] == true) result = temporary[0] - temporary[1]; display.setText(Double.toString(result)); for(int i = 0; i < 4; i++) function[i] = false; } catch(NumberFormatException e) { } } public final void setDesign() { try { UIManager.setLookAndFeel( \"com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel\"); } catch(Exception e) { } } @Override public void actionPerformed(ActionEvent ae) { if(ae.getSource() == button[0]) display.append(\"7\"); if(ae.getSource() == button[1]) display.append(\"8\"); if(ae.getSource() == button[2]) display.append(\"9\"); if(ae.getSource() == button[3]) { //add function[0] temporary[0] = Double.parseDouble(display.getText()); function[0] = true; display.setText(\"\"); } if(ae.getSource() == button[4]) display.append(\"4\"); if(ae.getSource() == button[5]) display.append(\"5\"); if(ae.getSource() == button[6]) display.append(\"6\"); if(ae.getSource() == button[7]) { //subtract function[1] temporary[0] = Double.parseDouble(display.getText()); function[1] = true; display.setText(\"\"); } if(ae.getSource() == button[8]) display.append(\"1\"); if(ae.getSource() == button[9]) display.append(\"2\"); if(ae.getSource() == button[10]) display.append(\"3\"); if(ae.getSource() == button[11]) { //multiply function[2] temporary[0] = Double.parseDouble(display.getText()); function[2] = true; display.setText(\"\"); } if(ae.getSource() == button[12]) display.append(\".\"); if(ae.getSource() == button[13]) { //divide function[3] temporary[0] = Double.parseDouble(display.getText()); function[3] = true; display.setText(\"\"); } if(ae.getSource() == button[14]) clear(); if(ae.getSource() == button[15]) getSqrt(); if(ae.getSource() == button[16]) getPosNeg(); if(ae.getSource() == button[17]) getResult(); if(ae.getSource() == button[18]) display.append(\"0\"); } public static void main(String[] arguments) { Calculator c = new Calculator(); } }
Description Using JavaFX and any of its associated controls, recreate an interface. Examples include items like microwaves, calculators, ATMs, car radios, media
Description Using JavaFX and any of its associated controls, recreate an interface. Examples include items like microwaves, calculators, ATMs, car radios, media

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site