i've searched the interwebs for info regarding adding swing GUI to an existing java program, but i'm still a little confused as to how i should make it happen.
I've created a separate class for the form layouts, and can call/open the form window from the main class. I got the base code for the GUI off the internet...
GUI class:
package gui;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MainWindow extends JFrame implements ActionListener {
private Container c;
private JLabel title;
private JLabel masterFilePath;
private JTextField masterFilePathInput;
private JLabel dataFilePath;
private JTextField dataFilePathInput;
private JButton reset;
String def = "";
public void mainWindow() {
setTitle("Count Survey Comparison");
setBounds(300, 90, 900, 600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
c = getContentPane();
c.setLayout(null);
title = new JLabel("Count Survey Comparison");
title.setFont(new Font("Arial", Font.PLAIN, 30));
title.setSize(500, 30);
title.setLocation(300, 30);
c.add(title);
masterFilePath = new JLabel("Master Data File Location");
masterFilePath.setFont(new Font("Arial", Font.PLAIN, 20));
masterFilePath.setSize(500, 20);
masterFilePath.setLocation(80, 100);
c.add(masterFilePath);
masterFilePathInput = new JTextField();
masterFilePathInput.setFont(new Font("Arial", Font.PLAIN, 15));
masterFilePathInput.setSize(200, 20);
masterFilePathInput.setLocation(400, 100);
c.add(masterFilePathInput);
dataFilePath = new JLabel("Count Survey Data File Location");
dataFilePath.setFont(new Font("Arial", Font.PLAIN, 20));
dataFilePath.setSize(500, 20);
dataFilePath.setLocation(80, 150);
c.add(dataFilePath);
dataFilePathInput = new JTextField();
dataFilePathInput.setFont(new Font("Arial", Font.PLAIN, 15));
dataFilePathInput.setSize(200, 20);
dataFilePathInput.setLocation(400, 150);
c.add(dataFilePathInput);
reset = new JButton("Reset");
reset.setFont(new Font("Arial", Font.PLAIN, 15));
reset.setSize(100, 20);
reset.setLocation(270, 450);
reset.addActionListener(this);
c.add(reset);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
}
}
What should be the actions that go into actionPerformed?
I can call the class from my main method, and open the form, but i'm stuck as to how to get data from the form itself, and enter them into my existing code (namely the readExcel(...) method)
Main Method:
MainWindow window = new MainWindow();
window.mainWindow();
ReadExcel readExcel = new ReadExcel();
CompareAndCleanData cleanData = new CompareAndCleanData();
WriteExcel writeExcel = new WriteExcel();
/* Change file paths here */
/* Based on BSTVN Data */
System.out.println("Read Input Excel Data: In Progress...");
List<VehicleData> vehicleDataList = readExcel.readExcel(
"C:\\Users\\ray.tong\\Desktop\\Count Survey Digitalisation Things\\BSTVN\\Count survey data (PSR19, TBR18).xlsx");
System.out.println("Read Input Excel Data: Complete");
/* Read MasterData */
System.out.println("Read Brand Master Data: In Progress...");
List<BrandMasterData> brandMasterDataList = readExcel
.readBrandMaster("C:\\Users\\ray.tong\\Desktop\\Count Survey Digitalisation Things\\TireMasterData.xlsx");
System.out.println("Read Brand Master Data: Complete");
System.out.println("Read Size Master Data: In Progress...");
List<SizeMasterData> sizeMasterDataList = readExcel
.readSizeMaster("C:\\Users\\ray.tong\\Desktop\\Count Survey Digitalisation Things\\TireMasterData.xlsx");
System.out.println("Read Size Master Data: Complete");
System.out.println("Read Pattern Master Data: In Progress...");
List<PatternMasterData> patternMasterDataList = readExcel
.readPatternMaster("C:\\Users\\ray.tong\\Desktop\\Count Survey Digitalisation Things\\TireMasterData.xlsx");
System.out.println("Read Pattern Master Data: Complete");
System.out.println("Read Vehicle Make/Model Master Data: In Progress...");
List<VehicleMasterData> vehicleMasterDataList = readExcel
.readVehicleMaster("C:\\Users\\ray.tong\\Desktop\\Count Survey Digitalisation Things\\TireMasterData.xlsx");
System.out.println("Read Vehicle Master Data: Complete");
Any help is appreciated,
Thanks in advance guys.