diff --git a/src/org/nwapw/abacus/window/Window.java b/src/org/nwapw/abacus/window/Window.java index cfbcd8f..12ecda5 100644 --- a/src/org/nwapw/abacus/window/Window.java +++ b/src/org/nwapw/abacus/window/Window.java @@ -7,6 +7,7 @@ import org.nwapw.abacus.tree.TreeNode; import javax.swing.*; import java.awt.*; import java.awt.datatransfer.StringSelection; +import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -119,6 +120,7 @@ public class Window extends JFrame { history = ""; lastOutput = ""; + setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setSize(640, 480); inputField = new JTextField(); @@ -127,7 +129,7 @@ public class Window extends JFrame { inputPanel = new JPanel(); inputPanel.setLayout(new BorderLayout()); inputPanel.add(inputField, BorderLayout.CENTER); - inputPanel.add(inputEnterButton, BorderLayout.EAST); + inputPanel.add(inputEnterButton, BorderLayout.SOUTH); historyModel = new HistoryTableModel(); historyTable = new JTable(historyModel); @@ -165,7 +167,7 @@ public class Window extends JFrame { add(sidePanel, BorderLayout.EAST); add(inputPanel, BorderLayout.SOUTH); - inputEnterButton.addActionListener((event) -> { + ActionListener actionListener = (event) -> { TreeNode parsedExpression = TreeNode.fromString(inputField.getText()); if(parsedExpression == null){ lastOutputArea.setText(SYNTAX_ERR_STRING); @@ -178,8 +180,9 @@ public class Window extends JFrame { historyModel.addEntry(new HistoryTableModel.HistoryEntry(inputField.getText(), parsedExpression, lastOutput)); historyTable.invalidate(); lastOutputArea.setText(lastOutput); - inputField.setText(lastOutput); - }); + }; + inputEnterButton.addActionListener(actionListener); + inputField.addActionListener(actionListener); historyTable.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) {