summaryrefslogtreecommitdiff
path: root/src/com/benburwell/planes/gui/Main1090.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/benburwell/planes/gui/Main1090.java')
-rw-r--r--src/com/benburwell/planes/gui/Main1090.java61
1 files changed, 19 insertions, 42 deletions
diff --git a/src/com/benburwell/planes/gui/Main1090.java b/src/com/benburwell/planes/gui/Main1090.java
index 02ef2bf..5b446c6 100644
--- a/src/com/benburwell/planes/gui/Main1090.java
+++ b/src/com/benburwell/planes/gui/Main1090.java
@@ -10,14 +10,12 @@ import com.benburwell.planes.data.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
-import java.util.Map;
-import java.util.HashMap;
public class Main1090 extends JFrame {
private AggregateDataSource sbsDataSource = new AggregateDataSource();
- private Map<String,Aircraft> aircraftMap = new HashMap<>();
+ private AircraftStore aircraft = new AircraftStore();
private int currentTcpConnection = 0;
- private AircraftTableModel aircraftTableModel = new AircraftTableModel(this.aircraftMap);
+ private JTabbedPane tabbedPane = new JTabbedPane();
public Main1090() {
this.initUI();
@@ -26,69 +24,48 @@ public class Main1090 extends JFrame {
private void initUI() {
this.createMenuBar();
- this.createTable();
-
this.setTitle("1090");
this.setSize(100, 100);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.openDataSource();
+
+ this.createTabs();
}
- private void createTable() {
- JTable table = new JTable(this.aircraftTableModel);
- table.setFillsViewportHeight(true);
- JScrollPane scrollPane = new JScrollPane(table);
- this.add(scrollPane);
+ private void createTabs() {
+ AircraftTableComponent aircraftData = new AircraftTableComponent(this.aircraft);
+ this.tabbedPane.addTab("Aircraft Data", aircraftData.getComponent());
+
+ this.add(this.tabbedPane);
+ this.tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}
private void createMenuBar() {
- JMenuBar menubar = new JMenuBar();
- JMenu file = new JMenu("1090");
- JMenuItem eMenuItem = new JMenuItem("Quit");
- JMenu data = new JMenu("Data");
- JMenuItem dataConnectItem = new JMenuItem("Connect...");
- JMenuItem dataDisconnectItem = new JMenuItem("Disconnect");
-
- eMenuItem.addActionListener((ActionEvent event) -> {
- System.exit(0);
- });
- file.add(eMenuItem);
- menubar.add(file);
+ MenuBarProvider provider = new MenuBarProvider();
+ this.setJMenuBar(provider.getMenuBar());
- dataConnectItem.addActionListener((ActionEvent event) -> {
+ provider.getDataConnectItem().addActionListener((ActionEvent event) -> {
if (this.currentTcpConnection == 0) {
this.currentTcpConnection = this.addTcpSource("10.0.0.111", 30003);
- dataConnectItem.setEnabled(false);
- dataDisconnectItem.setEnabled(true);
+ provider.getDataConnectItem().setEnabled(false);
+ provider.getDataDisconnectItem().setEnabled(true);
}
});
- dataDisconnectItem.addActionListener((ActionEvent event) -> {
+ provider.getDataDisconnectItem().addActionListener((ActionEvent event) -> {
if (this.currentTcpConnection != 0) {
this.sbsDataSource.closeSource(this.currentTcpConnection);
- dataConnectItem.setEnabled(true);
- dataDisconnectItem.setEnabled(false);
+ provider.getDataConnectItem().setEnabled(true);
+ provider.getDataDisconnectItem().setEnabled(false);
this.currentTcpConnection = 0;
}
});
- dataDisconnectItem.setEnabled(false);
- data.add(dataConnectItem);
- data.add(dataDisconnectItem);
- menubar.add(data);
-
- this.setJMenuBar(menubar);
}
private void openDataSource() {
this.sbsDataSource.subscribe((SBSPacket packet) -> {
- if (packet.getHexIdent() != null) {
- if (!this.aircraftMap.containsKey(packet.getHexIdent())) {
- this.aircraftMap.put(packet.getHexIdent(), new Aircraft(packet.getHexIdent()));
- }
- this.aircraftMap.get(packet.getHexIdent()).handleUpdate(packet);
- this.aircraftTableModel.fireTableDataChanged();
- }
+ this.aircraft.addPacket(packet);
});
this.sbsDataSource.open();
}