Skip to content

Instantly share code, notes, and snippets.

@grindarius
Forked from fernfern260244/MyApp.java
Last active February 20, 2021 12:10
Show Gist options
  • Save grindarius/f6129ddbeb93fd60a577edf452799fbe to your computer and use it in GitHub Desktop.
Save grindarius/f6129ddbeb93fd60a577edf452799fbe to your computer and use it in GitHub Desktop.
Task
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.*;
class Task6 extends JFrame implements ActionListener {
final JTextField firstNumerator;
final JTextField secondNumerator;
final JTextField firstDenominator;
final JTextField secondDenominator;
final JLabel equalsLabel;
public Task6() {
setTitle("Fraction Calculator");
setSize(380, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
final JButton calcButton = new JButton("Calculate");
calcButton.addActionListener((this));
getContentPane().add(calcButton, BorderLayout.PAGE_END);
final JPanel calcPanel = new JPanel(new FlowLayout());
getContentPane().add(calcPanel, BorderLayout.CENTER);
final JPanel firstFractionPanel = new JPanel(new GridLayout(2, 1));
calcPanel.add(firstFractionPanel);
firstNumerator = new JTextField("1", 1);
firstNumerator.setFont(firstNumerator.getFont().deriveFont(30f));
firstFractionPanel.add(firstNumerator);
firstDenominator = new JTextField("8", 1);
firstDenominator.setFont(firstDenominator.getFont().deriveFont(30f));
firstFractionPanel.add(firstDenominator);
final JLabel plusLabel = new JLabel("+");
plusLabel.setFont(plusLabel.getFont().deriveFont(20.0f));
calcPanel.add(plusLabel);
final JPanel secondFractionPanel = new JPanel(new GridLayout(2, 1));
calcPanel.add(secondFractionPanel);
secondNumerator = new JTextField("5", 1);
secondNumerator.setFont(secondNumerator.getFont().deriveFont(30f));
secondFractionPanel.add(secondNumerator);
secondDenominator = new JTextField("3", 1);
secondDenominator.setFont(secondDenominator.getFont().deriveFont(30f));
secondFractionPanel.add(secondDenominator);
equalsLabel = new JLabel("= ?");
equalsLabel.setFont(equalsLabel.getFont().deriveFont(50.0f));
calcPanel.add(equalsLabel);
}
public void actionPerformed(ActionEvent e) {
JButton button = (JButton)e.getSource();
double a = Double.parseDouble(firstNumerator.getText());
double b = Double.parseDouble(secondNumerator.getText());
double c = Double.parseDouble(firstDenominator.getText());
double d = Double.parseDouble(secondDenominator.getText());
double sum = (a / c) + (b / d);
equalsLabel.setText("= " + sum);
}
public static void main(String[] args) {
Task6 app = new Task6();
app.setVisible(true);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment