package engineeringSpecificationInterface;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.text.*;
import java.util.*;
public class EngineeringSpecificationInterface extends JFrame
{
// Declare variables and objects
private static final long serialVersionUID = 1L;
private JTabbedPane tabbedPane;
private JLabel poolCommentLabel;
private JTextField poolLengthText, poolWidthText, poolDepthText, poolVolumeText;
private JLabel tubCommentLabel;
private JRadioButton roundButton, ovalButton;
private JTextField tubWidthText, tubLengthText, tubDepthText, tubVolumeText;
private JTextField tempText, resultText;
private JComboBox comboBox;
private JLabel resultLabel;
private JTextField milMeterText, meterText, yardText, feetText, inchesText;
private JTextField companyText;
private JTextArea customerMessage, customerText;
private JTextArea contractorMessage, contractorText;
// Constructor
public EngineeringSpecificationInterface()
{
// Methods to create GUI
MainFrame();
PoolTab();
HotTubTab();
TempCalcTab();
LengthCalcTab();
GeneralTab();
OptionTab();
CustomerTab();
ContractorTab();
}// End constructor
//*************************************************************************************************************
// Create and format frame
private void MainFrame(){
this.tabbedPane = new JTabbedPane();
this.setTitle("CIS355A Course Project");
this.setSize(400, 375);
this.add(BorderLayout.CENTER, this.tabbedPane);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}// End MainFrame method
//*************************************************************************************************************
// Create and format Pool Tab
public void PoolTab(){
// Format panel
JPanel poolPanel = new JPanel();
poolPanel.setLayout(null);
this.tabbedPane.add("Pool", poolPanel);
//Create, format and add components to panel
JLabel lengthLabel = new JLabel("Enter the pool's length (ft):");
lengthLabel.setSize(150, 20);
lengthLabel.setLocation(15, 20);
poolPanel.add(lengthLabel);
poolLengthText = new JTextField();
poolLengthText.setSize(125, 20);
poolLengthText.setLocation(175, 20);
poolPanel.add(poolLengthText);
//******************************************************************
JLabel widthLabel = new JLabel("Enter the pool's width (ft):");
widthLabel.setSize(150, 20);
widthLabel.setLocation(15, 55);
poolPanel.add(widthLabel);
poolWidthText = new JTextField();
poolWidthText.setSize(125, 20);
poolWidthText.setLocation(175, 55);
poolPanel.add(poolWidthText);
//******************************************************************
JLabel depthLabel = new JLabel("Enter the pool's depth (ft):");
depthLabel.setSize(150, 20);
depthLabel.setLocation(15, 90);
poolPanel.add(depthLabel);
poolDepthText = new JTextField();
poolDepthText.setSize(125, 20);
poolDepthText.setLocation(175, 90);
poolPanel.add(poolDepthText);
//******************************************************************
JButton calculateButton = new JButton("Calculate Volume");
calculateButton.setSize(150, 25);
calculateButton.setLocation(15, 125);
poolPanel.add(calculateButton);
calculateButton.setMnemonic('C');
calculateButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
calculatePoolVolume();
}
});
//******************************************************************
JButton exitButton = new JButton("Exit");
exitButton.setSize(100, 25);
exitButton.setLocation(170, 125);
poolPanel.add(exitButton);
exitButton.setMnemonic('X');
exitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
closeProgram();
}
});
//******************************************************************
JLabel volumeLabel = new JLabel("The pool's volume is (ft^3):");
volumeLabel.setSize(155, 20);
volumeLabel.setLocation(15, 175);
poolPanel.add(volumeLabel);
poolVolumeText = new JTextField();
poolVolumeText.setSize(125, 20);
poolVolumeText.setLocation(175, 175);
poolVolumeText.setEditable(false);
poolVolumeText.setBackground(new Color(238,238,238));
poolPanel.add(poolVolumeText);
//******************************************************************
poolCommentLabel = new JLabel();
poolCommentLabel.setSize(200, 20);
poolCommentLabel.setLocation(15, 215);
poolPanel.add(poolCommentLabel);
}// End PoolTab method
//*************************************************************************************************************
//Create and format Hot Tub Tab
private void HotTubTab(){
// Format panel
JPanel hotTubPanel = new JPanel();
hotTubPanel.setLayout(null);
this.tabbedPane.add("Hot Tubs", hotTubPanel);
//Create, format and add components to panel
roundButton = new JRadioButton();
roundButton.setSelected(true);
roundButton.setText("Round Tub");
roundButton.setSize(85, 20);
roundButton.setLocation(45, 5);
roundButton.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent arg0){
roundButtonState();
}
});
hotTubPanel.add(roundButton);
//******************************************************************
ovalButton = new JRadioButton();
ovalButton.setText("Oval Tub");
ovalButton.setSize(85, 20);
ovalButton.setLocation(165, 5);
hotTubPanel.add(ovalButton);
// Group radio buttons
ButtonGroup group = new ButtonGroup();
group.add(roundButton);
group.add(ovalButton);
//******************************************************************
JLabel lengthLabel = new JLabel("Enter the tub's length (ft):");
lengthLabel.setSize(150, 20);
lengthLabel.setLocation(15, 30);
hotTubPanel.add(lengthLabel);
tubLengthText = new JTextField();
tubLengthText.setSize(120, 20);
tubLengthText.setLocation(185, 30);
hotTubPanel.add(tubLengthText);
//******************************************************************
JLabel widthLabel = new JLabel("Enter the tub's width (ft):");
widthLabel.setSize(150, 20);
widthLabel.setLocation(15, 60);
hotTubPanel.add(widthLabel);
tubWidthText = new JTextField();
tubWidthText.setSize(120, 20);
tubWidthText.setLocation(185, 60);
tubWidthText.setEditable(false);
hotTubPanel.add(tubWidthText);
//******************************************************************
JLabel depthLabel = new JLabel("Enter the tub's depth (ft):");
depthLabel.setSize(150, 20);
depthLabel.setLocation(15, 95);
hotTubPanel.add(depthLabel);
tubDepthText = new JTextField();
tubDepthText.setSize(120, 20);
tubDepthText.setLocation(185, 95);
hotTubPanel.add(tubDepthText);
//******************************************************************
JButton calculateButton = new JButton("Calculate Volume");
calculateButton.setSize(150, 25);
calculateButton.setLocation(15, 130);
hotTubPanel.add(calculateButton);
calculateButton.setMnemonic('C');
calculateButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
calculateTubVolume();
}
});
//******************************************************************
JButton exitButton = new JButton("Exit");
exitButton.setSize(100, 25);
exitButton.setLocation(170, 130);
hotTubPanel.add(exitButton);
exitButton.setMnemonic('X');
exitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
closeProgram();
}
});
//******************************************************************
JLabel volumeLabel = new JLabel("The tub's volume is (ft^3):");
volumeLabel.setSize(155, 20);
volumeLabel.setLocation(15, 180);
hotTubPanel.add(volumeLabel);
tubVolumeText = new JTextField();
tubVolumeText.setSize(120, 20);
tubVolumeText.setLocation(185, 180);
tubVolumeText.setEditable(false);
tubVolumeText.setBackground(new Color(238,238,238));
hotTubPanel.add(tubVolumeText);
//******************************************************************
tubCommentLabel = new JLabel();
tubCommentLabel.setSize(200, 20);
tubCommentLabel.setLocation(15, 215);
hotTubPanel.add(tubCommentLabel);
}// End HotTub method
//*************************************************************************************************************
// Create and format Temperature Calculator Tab
private void TempCalcTab(){
// Format panel
JPanel tempCalcPanel = new JPanel();
tempCalcPanel.setLayout(null);
this.tabbedPane.addTab("Temp Calc", tempCalcPanel);
//Create, format and add components to panel
JLabel tempLabel = new JLabel("Enter Temperature:");
tempLabel.setSize(115, 20);
tempLabel.setLocation(10, 40);
tempCalcPanel.add(tempLabel);
tempText = new JTextField();
tempText.setSize(120, 20);
tempText.setLocation(140, 40);
tempText.setText("0");
tempCalcPanel.add(tempText);
//******************************************************************
JLabel resultLabel = new JLabel("Result:");
resultLabel.setSize(45, 20);
resultLabel.setLocation(10, 80);
tempCalcPanel.add(resultLabel);
resultLabel = new JLabel("F");
resultLabel.setSize(15, 20);
resultLabel.setLocation(280, 80);
tempCalcPanel.add(resultLabel);
//******************************************************************
resultText = new JTextField();
resultText.setSize(120, 20);
resultText.setLocation(140, 80);
resultText.setEditable(false);
resultText.setText("32");
tempCalcPanel.add(resultText);
//******************************************************************
comboBox = new JComboBox(new String[] {"C", "F"});
comboBox.setSize(90, 25);
comboBox.setLocation(280, 40);
comboBox.setEditable(false);
comboBox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
comboBoxState();
}
});
tempCalcPanel.add(comboBox);
//******************************************************************
JButton convertButton = new JButton("Convert");
convertButton.setSize(150, 25);
convertButton.setLocation(35, 120);
tempCalcPanel.add(convertButton);
convertButton.setMnemonic('C');
convertButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
convertTemperature();
}
});
//******************************************************************
JButton exitButton = new JButton("Exit");
exitButton.setSize(100, 25);
exitButton.setLocation(190, 120);
tempCalcPanel.add(exitButton);
exitButton.setMnemonic('X');
exitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
closeProgram();
}
});
}// End TempCalcTab method
//*************************************************************************************************************
// Create and format Length Calculator Tab
private void LengthCalcTab(){
// Format panel
JPanel lengthCalcPanel = new JPanel();
lengthCalcPanel.setLayout(null);
this.tabbedPane.add("Length Calc", lengthCalcPanel);
//Create, format and add components to panel
JLabel milMeterLabel = new JLabel("Millimeters");
milMeterLabel.setSize(65, 20);
milMeterLabel.setLocation(15, 25);
lengthCalcPanel.add(milMeterLabel);
milMeterText = new JTextField();
milMeterText.setSize(65, 20);
milMeterText.setLocation(15, 45);
milMeterText.setEditable(false);
lengthCalcPanel.add(milMeterText);
//******************************************************************
JLabel meterLabel = new JLabel("Meters");
meterLabel.setSize(65, 20);
meterLabel.setLocation(90, 25);
lengthCalcPanel.add(meterLabel);
meterText = new JTextField();
meterText.setSize(65, 20);
meterText.setLocation(90, 45);
meterText.setEditable(false);
lengthCalcPanel.add(meterText);
//******************************************************************
JLabel yardLabel = new JLabel("Yards");
yardLabel.setSize(65, 20);
yardLabel.setLocation(160, 25);
lengthCalcPanel.add(yardLabel);
yardText = new JTextField();
yardText.setSize(65, 20);
yardText.setLocation(160, 45);
yardText.setEditable(false);
lengthCalcPanel.add(yardText);
//******************************************************************
JLabel feetLabel = new JLabel("Feet");
feetLabel.setSize(65, 20);
feetLabel.setLocation(230, 25);
lengthCalcPanel.add(feetLabel);
feetText = new JTextField();
feetText.setSize(65, 20);
feetText.setLocation(230, 45);
lengthCalcPanel.add(feetText);
//******************************************************************
JLabel inchesLabel = new JLabel("Inches");
inchesLabel.setSize(65, 20);
inchesLabel.setLocation(300, 25);
lengthCalcPanel.add(inchesLabel);
inchesText = new JTextField();
inchesText.setSize(65, 20);
inchesText.setLocation(300, 45);
inchesText.setEditable(false);
lengthCalcPanel.add(inchesText);
//******************************************************************
JButton convertButton = new JButton("Convert");
convertButton.setSize(150, 25);
convertButton.setLocation(35, 120);
lengthCalcPanel.add(convertButton);
convertButton.setMnemonic('C');
convertButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
convertLength();
}
});
//******************************************************************
JButton exitButton = new JButton("Exit");
exitButton.setSize(100, 25);
exitButton.setLocation(190, 120);
lengthCalcPanel.add(exitButton);
exitButton.setMnemonic('X');
exitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
closeProgram();
}
});
}// End lengthCalcTab method
//*************************************************************************************************************
// Create and format General Tab
private void GeneralTab(){
// Format panel
JPanel generalPanel = new JPanel();
generalPanel.setLayout(null);
this.tabbedPane.addTab("General", generalPanel);
//Create, format and add components to panel
JLabel dateTodayLabel = new JLabel("Today's Date:");
dateTodayLabel.setSize(80, 25);
dateTodayLabel.setLocation(45, 40);
generalPanel.add(dateTodayLabel);
//******************************************************************
JLabel dateLabel = new JLabel("mm/dd/yyyy");
dateLabel.setSize(80, 25);
dateLabel.setLocation(165, 40);
generalPanel.add(dateLabel);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
dateLabel.setText(dateFormat.format(new Date()));
//******************************************************************
JButton exitButton = new JButton("Exit");
exitButton.setSize(110, 25);
exitButton.setLocation(260, 40);
generalPanel.add(exitButton);
exitButton.setMnemonic('X');
exitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
closeProgram(); }});
}// End GeneralTab method
//*************************************************************************************************************
//Create and format Option Tab
private void OptionTab(){
// Format panel
JPanel optionsPanel = new JPanel();
optionsPanel.setLayout(null);
this.tabbedPane.addTab("Options", optionsPanel);
// Create, format and add components to panel
JLabel changeCompanyLabel = new JLabel("Change Company Name:");
changeCompanyLabel.setSize(150, 25);
changeCompanyLabel.setLocation(68, 15);
optionsPanel.add(changeCompanyLabel);
//******************************************************************
companyText = new JTextField();
companyText.setSize(200, 20);
companyText.setLocation(30, 45);
optionsPanel.add(companyText);
//******************************************************************
JButton newNameButton = new JButton("Set New Name");
newNameButton.setSize(130, 25);
newNameButton.setLocation(20, 85);
optionsPanel.add(newNameButton);
newNameButton.setMnemonic('S');
newNameButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
replaceName();
}
});
//******************************************************************
JButton exitButton = new JButton("Exit");
exitButton.setSize(110, 25);
exitButton.setLocation(170, 85);
optionsPanel.add(exitButton);
exitButton.setMnemonic('X');
exitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
closeProgram();
}
});
}// End OptionsTab method
//*************************************************************************************************************
// Create and format Customer Tab
private void CustomerTab(){
// Format panel
JPanel customerPanel = new JPanel();
customerPanel.setLayout(null);
this.tabbedPane.add("Customers", customerPanel);
// Create, format and add components to panel
customerText = new JTextArea();
customerText.setText("Select Add Customer to add customers.\nSelect Refresh to refresh this page.");
customerText.setSize(360, 140);
customerText.setLocation(10, 10);
customerText.setEditable(false);
customerText.setBorder(BorderFactory.createEtchedBorder());
customerPanel.add(customerText);
//******************************************************************
JButton exitButton = new JButton("Exit");
exitButton.setSize(70, 25);
exitButton.setLocation(10, 160);
customerPanel.add(exitButton);
exitButton.setMnemonic('X');
exitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
closeProgram();
}
});
//******************************************************************
JButton addCustomerButton = new JButton("Add Customer");
addCustomerButton.setSize(125,25);
addCustomerButton.setLocation(90, 160);
customerPanel.add(addCustomerButton);
addCustomerButton.setMnemonic('A');
addCustomerButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
addCustomer();
}
});
//******************************************************************
JButton refreshButton = new JButton("Refresh");
refreshButton.setSize(95, 25);
refreshButton.setLocation(220, 160);
customerPanel.add(refreshButton);
refreshButton.setMnemonic('R');
refreshButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
refreshCustomer();
}
});
//******************************************************************
customerMessage = new JTextArea();
customerMessage.setText("File customer.txt does not exist yet.\nWill be created when you add a customer!");
customerMessage.setSize(360, 45);
customerMessage.setLocation(10, 190);
customerMessage.setEditable(false);
customerMessage.setBorder(BorderFactory.createEtchedBorder());
customerPanel.add(customerMessage);
}// End CustomerTab method
//*************************************************************************************************************
// Create and format Contractor Tab
private void ContractorTab(){
// Format panel
JPanel contractorPanel = new JPanel();
contractorPanel.setLayout(null);
this.tabbedPane.add("Contractors", contractorPanel);
// Create, format and add components to panel
contractorText = new JTextArea();
contractorText.setText("Select Add Contractor to add contractors. \nSelect Refresh to refresh this page.");
contractorText.setSize(360, 140);
contractorText.setLocation(10, 10);
contractorText.setEditable(false);
contractorText.setBorder(BorderFactory.createEtchedBorder());
contractorPanel.add(contractorText);
//******************************************************************
JButton exitButton = new JButton("Exit");
exitButton.setSize(70, 25);
exitButton.setLocation(10, 160);
contractorPanel.add(exitButton);
exitButton.setMnemonic('X');
exitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
closeProgram();
}
});
//******************************************************************
JButton addContractorButton = new JButton("Add Contractor");
addContractorButton.setSize(125,25);
addContractorButton.setLocation(90, 160);
contractorPanel.add(addContractorButton);
addContractorButton.setMnemonic('A');
addContractorButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
addContractor();
}
});
//******************************************************************
JButton refreshButton = new JButton("Refresh");
refreshButton.setSize(95, 25);
refreshButton.setLocation(220, 160);
contractorPanel.add(refreshButton);
refreshButton.setMnemonic('R');
refreshButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
refreshContractor();
}
});
//******************************************************************
contractorMessage = new JTextArea();
contractorMessage.setText("File contract.txt does not exist yet.\nWill be created when you add contractor!");
contractorMessage.setSize(360, 45);
contractorMessage.setLocation(10, 190);
contractorMessage.setEditable(false);
contractorMessage.setBorder(BorderFactory.createEtchedBorder());
contractorPanel.add(contractorMessage);
}// End ContractorTab method
//*************************************************************************************************************
// Method to close the program from all tabs
public void closeProgram()
{
this.setVisible(false);
}
//************************************************************************************************************* ode
//-------------------------------------------------------------------------------------------------------------
//*****************************METHODS FOR OPERATIONS PERFORMED IN TABS****************************************
// Formatting and Calculating Pool Volume
private void calculatePoolVolume(){
// Declare variables
DecimalFormat decimalFormat = new DecimalFormat("###.##");
double length = 0.0, width = 0.0, depth = 0.0;
String error = "";
// Format text boxes
poolCommentLabel.setText("");
poolLengthText.setBackground(Color.WHITE);
poolWidthText.setBackground(Color.WHITE);
poolDepthText.setBackground(Color.WHITE);
// Validating fields have input
if (poolLengthText.getText().trim().length() < 1){
poolLengthText.setBackground(Color.YELLOW);
error = "Please fill out all the fields";
}
if (poolWidthText.getText().trim().length() < 1){
poolWidthText.setBackground(Color.YELLOW);
error = "Please fill out all the fields";
}
if (poolDepthText.getText().trim().length() < 1){
poolDepthText.setBackground(Color.YELLOW);
error = "Please fill out all the fields";
}
if (error.length() > 0) {
poolCommentLabel.setText(error);
return;
}
// Validating proper input
try {
length = Double.parseDouble(poolLengthText.getText());
}
catch (Exception ex){
poolLengthText.setBackground(Color.YELLOW);
error = "Please enter valid numbers";
}
try{
width = Double.parseDouble(poolWidthText.getText());
}
catch (Exception ex){
poolWidthText.setBackground(Color.YELLOW);
error = "Please enter valid numbers";
}
try{
depth = Double.parseDouble(poolDepthText.getText());
}
catch (Exception ex){
poolDepthText.setBackground(Color.YELLOW);
error = "Please enter valid numbers";
}
if (error.length() > 0){
poolCommentLabel.setText(error);
return;
}
// Calculating volume and formatting results
double volume = width * length * depth;
poolVolumeText.setText(decimalFormat.format(volume));
// Writing data to pool.txt
try {
String value = poolVolumeText.getText();
File file = new File("pool.txt");
FileWriter fstream = new FileWriter(file, true);
BufferedWriter out = new BufferedWriter(fstream);
out.write("Length= " + length + ", Width= " + width
+ ", Depth= " + depth
+ " Volume of Swimming Pool is " + value);
out.newLine();
out.close();
} catch (Exception e) {
}
}// End calculatePoolVolume method
//-------------------------------------------------------------------------------------------------------------
// Calculating and Formatting Hot Tub Volume
// Formatting text field depending on which radio button is selected
private void roundButtonState(){
if(roundButton.isSelected()){
tubWidthText.setEditable(false);
}
else{
tubWidthText.setEditable(true);
}
}// End roundButtonState method
// Formatting and calculating Hot Tub Volume
private void calculateTubVolume(){
// Declare variables
DecimalFormat decimalFormat = new DecimalFormat("###.##");
double length = 0.0, width = 0.0, depth = 0.0;
String error = "";
// Formatting text boxes
tubCommentLabel.setText("");
tubLengthText.setBackground(Color.WHITE);
tubWidthText.setBackground(Color.WHITE);
tubDepthText.setBackground(Color.WHITE);
// Formating for round button selected
if(roundButton.isSelected()){
tubWidthText.setText(tubLengthText.getText());
}
// Validating fields have input
if (tubLengthText.getText().trim().length() < 1){
tubLengthText.setBackground(Color.YELLOW);
error = "Please fill out all the fields";
}
if (tubWidthText.getText().trim().length() < 1){
tubWidthText.setBackground(Color.YELLOW);
error = "Please fill out all the fields";
}
if (tubDepthText.getText().trim().length() < 1){
tubDepthText.setBackground(Color.YELLOW);
error = "Please fill out all the fields";
}
if (error.length() > 0){
tubCommentLabel.setText(error);
return;
}
// Validating proper input
try{
length = Double.parseDouble(tubLengthText.getText());
}
catch (Exception e){
tubLengthText.setBackground(Color.YELLOW);
error = "Please enter valid numbers";
}
try{
width = Double.parseDouble(tubWidthText.getText());
}
catch (Exception e)
{
tubWidthText.setBackground(Color.YELLOW);
error = "Please enter valid numbers";
}
try{
depth = Double.parseDouble(tubDepthText.getText());
}
catch (Exception e){
tubDepthText.setBackground(Color.YELLOW);
error = "Please enter valid numbers";
}
if (error.length() > 0){
tubCommentLabel.setText(error);
return;
}
// Calculating volume and formatting results
double volume = (Math.PI * ((length/2) * (width/2))) * depth;
tubVolumeText.setText(decimalFormat.format(volume));
// Writing data to hot_tub.txt
try {
String value = tubVolumeText.getText();
File file = new File("hot_tub.txt");
FileWriter fstream = new FileWriter(file, true);
BufferedWriter out = new BufferedWriter(fstream);
out.write("Length= " + length + ", Width= " + width
+ ", Depth= " + depth
+ " Volume of Hot Tub is " + value);
out.newLine();
out.close();
} catch (Exception e) {
}
}// End tubCalculate
//-------------------------------------------------------------------------------------------------------------
// Calculating and Formatting Temperature Calculator
// Determining the result label
private void comboBoxState(){
if(comboBox.getSelectedItem().toString().equals("C")){
resultLabel.setText("F");
}
else{
resultLabel.setText("C");
}
}// End comboBoxState method
// Formatting and calculating temperature conversions
private void convertTemperature(){
// Declare variables
double temperature = 0.0;
double result = 0.0;
// Validating input
if(tempText.getText().length() < 1){
tempText.setText("0");
}
try{
temperature = Double.parseDouble(tempText.getText());
}
catch(Exception ex){
temperature = 0.0;
}
// Converting to celsius or fahrenheit
if(comboBox.getSelectedItem().toString().equals("C")){
result = (temperature * 9/5) + 32;
}
else{
result = (temperature - 32) * 5/9;
}
// Format and display results
DecimalFormat decimalFormat = new DecimalFormat("##.##");
resultText.setText(decimalFormat.format(result));
}// End convert temperature method
//-------------------------------------------------------------------------------------------------------------
// Calculating and Formatting Hot Tub Volume
private void convertLength(){
// Declare variables
double feet = 0.0;
double milliMeter = 0.0;
double meter = 0.0;
double yards = 0.0;
double inches = 0.0;
// Validating input
try{
feet = Double.parseDouble(feetText.getText());
}
catch (Exception ex){
feet = 0;
feetText.setText("0");
}
// Converting length
milliMeter = feet * 304.8;
meter = feet * 0.3048;
yards = feet * 0.3333;
inches = feet * 12;
// Formatting and display results
DecimalFormat decimalFormat = new DecimalFormat("####.###");
milMeterText.setText(decimalFormat.format(milliMeter));
meterText.setText(decimalFormat.format(meter));
yardText.setText(decimalFormat.format(yards));
inchesText.setText(decimalFormat.format(inches));
}// End convertLength method
//-------------------------------------------------------------------------------------------------------------
// Method to replace company name in option tab
private void replaceName()
{
this.setTitle(this.companyText.getText());
}
//-------------------------------------------------------------------------------------------------------------
// Formatting and defining Customer Functions
// Method to add customer
private void addCustomer(){
AddCustomer dialog = new AddCustomer(this);
dialog.setVisible(true);
}
// Method to check if database file exists
private void refreshCustomer(){
File file = new File("customer.txt");
if (!file.exists()){
customerMessage.setText("File customer.txt does not exist yet.\nWill be created when you add customer!");
return;
}
else{
customerMessage.setText("File customer.txt exists and can be read from!");}
String string = FileManager.readFromFile("customer.txt");
customerText.setText(string);
}
//-------------------------------------------------------------------------------------------------------------
// Formatting and defining Contractor Functions
// Method to add contractor
private void addContractor(){
AddContractor dialog = new AddContractor(this);
dialog.setVisible(true);
}
// Method to check if database file exists
private void refreshContractor(){
File file = new File("contractor.txt");
if (!file.exists()){
contractorMessage.setText("File contractor.txt does not exist yet.\nWill be created when you add contractor!");
return;
}
else{
contractorMessage.setText("File contractor.txt exists and can be read from!");}
String string = FileManager.readFromFile("contractor.txt");
contractorText.setText(string);
}
//-------------------------------------------------------------------------------------------------------------
//*************************************************************************************************************
// Main Method
public static void main(String[] args)
{
// start the program by showing the main frame
EngineeringSpecificationInterface main = new EngineeringSpecificationInterface();
main.setVisible(true);
}
}// End class