mirror of
https://github.com/DanilaFe/abacus
synced 2024-12-24 08:12:39 -08:00
Make enter key call evaluate entered expression.
This commit is contained in:
parent
b9bcae4e41
commit
cc0d1d71d5
|
@ -7,6 +7,7 @@ import org.nwapw.abacus.tree.TreeNode;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.datatransfer.StringSelection;
|
import java.awt.datatransfer.StringSelection;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
|
@ -127,7 +128,7 @@ public class Window extends JFrame {
|
||||||
inputPanel = new JPanel();
|
inputPanel = new JPanel();
|
||||||
inputPanel.setLayout(new BorderLayout());
|
inputPanel.setLayout(new BorderLayout());
|
||||||
inputPanel.add(inputField, BorderLayout.CENTER);
|
inputPanel.add(inputField, BorderLayout.CENTER);
|
||||||
inputPanel.add(inputEnterButton, BorderLayout.EAST);
|
inputPanel.add(inputEnterButton, BorderLayout.SOUTH);
|
||||||
|
|
||||||
historyModel = new HistoryTableModel();
|
historyModel = new HistoryTableModel();
|
||||||
historyTable = new JTable(historyModel);
|
historyTable = new JTable(historyModel);
|
||||||
|
@ -165,7 +166,7 @@ public class Window extends JFrame {
|
||||||
add(sidePanel, BorderLayout.EAST);
|
add(sidePanel, BorderLayout.EAST);
|
||||||
add(inputPanel, BorderLayout.SOUTH);
|
add(inputPanel, BorderLayout.SOUTH);
|
||||||
|
|
||||||
inputEnterButton.addActionListener((event) -> {
|
ActionListener actionListener = (event) -> {
|
||||||
TreeNode parsedExpression = TreeNode.fromString(inputField.getText());
|
TreeNode parsedExpression = TreeNode.fromString(inputField.getText());
|
||||||
if(parsedExpression == null){
|
if(parsedExpression == null){
|
||||||
lastOutputArea.setText(SYNTAX_ERR_STRING);
|
lastOutputArea.setText(SYNTAX_ERR_STRING);
|
||||||
|
@ -178,8 +179,9 @@ public class Window extends JFrame {
|
||||||
historyModel.addEntry(new HistoryTableModel.HistoryEntry(inputField.getText(), parsedExpression, lastOutput));
|
historyModel.addEntry(new HistoryTableModel.HistoryEntry(inputField.getText(), parsedExpression, lastOutput));
|
||||||
historyTable.invalidate();
|
historyTable.invalidate();
|
||||||
lastOutputArea.setText(lastOutput);
|
lastOutputArea.setText(lastOutput);
|
||||||
inputField.setText(lastOutput);
|
};
|
||||||
});
|
inputEnterButton.addActionListener(actionListener);
|
||||||
|
inputField.addActionListener(actionListener);
|
||||||
historyTable.addMouseListener(new MouseAdapter() {
|
historyTable.addMouseListener(new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user