You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.2 KiB
74 lines
2.2 KiB
package cmpt213.assignment3.packagedeliveries.view;
|
|
|
|
import cmpt213.assignment3.packagedeliveries.control.PackageDeliveriesTracker;
|
|
import com.sun.tools.jconsole.JConsoleContext;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import java.awt.event.WindowAdapter;
|
|
import java.awt.event.WindowEvent;
|
|
import java.util.Objects;
|
|
|
|
public class JavaSwingUI implements ActionListener {
|
|
JFrame uiFrame;
|
|
JTextPane uiPane;
|
|
private final PackageDeliveriesTracker pTracker=PackageDeliveriesTracker.getInstance();
|
|
|
|
public void displayMainPage(){
|
|
pTracker.load();
|
|
uiFrame=new JFrame("package deliveries tracker");
|
|
uiFrame.setSize(500, 500);
|
|
uiFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
|
uiFrame.setLayout(new BoxLayout(uiFrame.getContentPane(), BoxLayout.Y_AXIS));
|
|
uiFrame.addWindowListener(new WindowAdapter() {
|
|
@Override
|
|
public void windowClosing(WindowEvent e) {
|
|
pTracker.save();
|
|
super.windowClosing(e);
|
|
uiFrame.dispose();
|
|
}
|
|
});
|
|
uiFrame.setVisible(true);
|
|
displayPackages();
|
|
addButton();
|
|
}
|
|
|
|
private void displayPackages(){
|
|
uiPane=new JTextPane();
|
|
JScrollPane scrollView=new JScrollPane(uiPane);
|
|
uiPane.setEditable(false);
|
|
scrollView.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
|
|
uiFrame.add(scrollView);
|
|
uiPane.setText(pTracker.getAllPackages());
|
|
uiPane.setCaretPosition(0);
|
|
}
|
|
|
|
private void addButton(){
|
|
JButton add=new JButton("add a package");
|
|
JPanel addPanel=new JPanel();
|
|
addPanel.setLayout(new BoxLayout(addPanel, BoxLayout.X_AXIS));
|
|
addPanel.add(add);
|
|
addPanel.setPreferredSize(new Dimension(500, 50));
|
|
uiFrame.add(addPanel);
|
|
add.addActionListener(this);
|
|
}
|
|
|
|
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
String actionString= e.getActionCommand();
|
|
switch (actionString){
|
|
case "add a package":
|
|
addPackage();
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
private void addPackage(){
|
|
new Input(uiFrame);
|
|
}
|
|
}
|