Professional Documents
Culture Documents
Kod Aturcara Javascript BMICalculator
Kod Aturcara Javascript BMICalculator
Antara Muka Pengguna Grafik, atau ringkasnya GUI, ialah sejenis pengguna
antara muka yang membolehkan pengguna berinteraksi dengan peranti
elektronik dan aplikasi perisian menggunakan elemen visual seperti ikon,
butang, menu, dan tingkap. GUI direka bentuk untuk memudahkan pengguna
mengemudi dan menggunakan sistem yang kompleks dengan memberikan
mereka visual perwakilan fungsi dan keupayaan sistem.
tujuan ini projek ini adalah untuk memberi pengenalan ringkas kepada
aplikasi berasaskan GUI pembangunan di Jawa melalui penggunaan
perpustakaan AWT dan Swing GUI oleh mencipta aplikasi kalkulator BMI
yang menggunakan kedua-dua GUI Java perpustakaan dalam menyediakan
titik interaksi kepada pengguna akhir.
1
SKOP KERJA SETIAP AHLI KUMPULAN
2
PAPAN CERITA
Output
3
CARTA ALIR
4
HASIL PROJEK.
5
DOKUMENTASI .
BMICalculator.java
package bmi;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.text.DecimalFormat;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.BoxLayout;
import java.awt.FlowLayout;
import java.awt.Component;
import javax.swing.SwingConstants;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BMICalculator frame = new BMICalculator();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public BMICalculator() {
6
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel panel = new JPanel();
panel.setBounds(48, 27, 152, 27);
contentPane.add(panel);
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
JLabel lblBerat = new JLabel("Berat(Kg): ");
panel.add(lblBerat);
panel.add(tfBerat);
tfBerat.setColumns(10);
tfBerat.setColumns(5);
JPanel panel_1 = new JPanel();
panel_1.setBounds(48, 66, 152, 27);
contentPane.add(panel_1);
panel_1.setLayout(new BoxLayout(panel_1, BoxLayout.X_AXIS));
JLabel lblTinggi = new JLabel("Tinggi(m): ");
panel_1.add(lblTinggi);
tfTinggi = new JTextField();
tfTinggi.setColumns(10);
panel_1.add(tfTinggi);
JPanel panel_2 = new JPanel();
panel_2.setBounds(49, 170, 298, 27);
contentPane.add(panel_2);
JLabel lblBmi = new JLabel("BMI: ");
panel_2.add(lblBmi);
panel_2.add(lblBmiOutput);
JPanel panel_3 = new JPanel();
panel_3.setBounds(346, 12, 80, 232);
contentPane.add(panel_3);
panel_3.setLayout(new BoxLayout(panel_3, BoxLayout.Y_AXIS));
JLabel lblStatus = new JLabel("Status:");
lblStatus.setHorizontalAlignment(SwingConstants.CENTER);
panel_3.add(lblStatus);
JLabel lblStatusOutput = new JLabel("");
7
lblStatusOutput.setHorizontalAlignment(SwingConstants.CENTER);
panel_3.add(lblStatusOutput);
JButton btnCalculate = new JButton("Calculate");
btnCalculate.setBounds(48, 217, 105, 27);
contentPane.add(btnCalculate);
btnCalculate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
class BmiCalculatorManager {
private boolean validInput = false;
private DecimalFormat df = new DecimalFormat("0.00");
private void set() {
if(isDouble(tfBerat.getText())&&isDouble(tfTinggi.getText())) {
validInput = true;
double inputtedBerat =
Double.parseDouble(tfBerat.getText());
double inputtedTinggi =
Double.parseDouble(tfTinggi.getText());
bmiCalculatorLogicObj.set(inputtedBerat, inputtedTinggi);
}else {
validInput = false;
}
}
static boolean isDouble(String value) {
try {
if(Double.parseDouble(value) > 0) {
return true;
}
}catch(NumberFormatException e) {
// Handles Exception
}
return false;
}
private void get() {
if(validInput) { // Valid weight & height
lblBmiOutput.setText(df.format(bmiCalculatorLogicObj.getBMI())+"
Kg/m^2"); // Outputs BMI value
lblStatusOutput.setText(bmiCalculatorLogicObj.getStatus());
// Outputs status
}else { // Invalid weight & height
lblBmiOutput.setText("Invalid weight or height value, try
entering numbers for each fields");
}
}
}
8
BmiCalculatorManager bmiCalculatorManagerObj = new
BmiCalculatorManager();// Instantiate bmiCalculatorManager
bmiCalculatorManagerObj.set();
bmiCalculatorManagerObj.get();
}
});
JButton btnReset = new JButton("Reset");
btnReset.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblBmiOutput.setText("");
lblStatusOutput.setText("");
tfTinggi.setText("");
tfBerat.setText("");
}
});
btnReset.setBounds(242, 217, 105, 27);
contentPane.add(btnReset);
}
}
9
BMICalculatorLogic.java
package bmi;
import java.util.*;
import java.lang.Math;
10
PENUTUP.
11