import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class VelocityTimeGUI extends JFrame {
private JTextField initialVelocityField;
private JTextField accelerationField;
private JTextField timeField;
private JTextField finalVelocityField;
public VelocityTimeGUI() {
setTitle("Velocity-Time Calculator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(5, 2));
add(new JLabel("Initial Velocity (u):"));
initialVelocityField = new JTextField();
add(initialVelocityField);
add(new JLabel("Acceleration (a):"));
accelerationField = new JTextField();
add(accelerationField);
add(new JLabel("Time (t):"));
timeField = new JTextField();
add(timeField);
add(new JLabel("Final Velocity (v):"));
finalVelocityField = new JTextField();
finalVelocityField.setEditable(false);
add(finalVelocityField);
JButton calculateButton = new JButton("Calculate");
calculateButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
calculateFinalVelocity();
}
});
add(calculateButton);
JButton stopButton = new JButton("Stop");
stopButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
add(stopButton);
pack();
setVisible(true);
}
private void calculateFinalVelocity() {
try {
double u = Double.parseDouble(initialVelocityField.getText());
double a = Double.parseDouble(accelerationField.getText());
double t = Double.parseDouble(timeField.getText());
double v = u + a * t;
finalVelocityField.setText(Double.toString(v));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "Invalid input! Please enter numbers.");
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new VelocityTimeGUI();
}
});
}
}