7 Contoh Program Java GUI Sederhana

Posted on

 

https://www.gabuttech.com/

Java adalah salah satu bahasa pemrograman yang sangat populer dan banyak digunakan di seluruh dunia. Salah satu aspek yang membuat Java begitu populer adalah kemampuan untuk membuat aplikasi berbasis GUI (Graphical User Interface) yang interaktif. Dalam artikel ini, kita akan menjelajahi 7 contoh program Java GUI sederhana yang dapat membantu Anda memahami dasar-dasar pembuatan aplikasi berbasis GUI.

Java menyediakan berbagai alat dan pustaka yang memungkinkan pengembang untuk membuat antarmuka pengguna grafis yang menarik dan interaktif. GUI memungkinkan pengguna berinteraksi dengan aplikasi Anda melalui tombol, teks kotak, jendela, dan elemen GUI lainnya.

Kita akan memulai dengan contoh-contoh yang sangat sederhana dan kemudian melanjutkan dengan contoh-contoh yang semakin kompleks. Semua contoh ini dapat dijalankan dengan menggunakan Java Development Kit (JDK) dan Integrated Development Environment (IDE) seperti NetBeans, Eclipse, atau IntelliJ IDEA.

7 Contoh Program Java GUI Sederhana :

1. Hello World GUI

Mari mulai dengan program Java GUI yang sangat sederhana, yang hanya menampilkan pesan “Hello, World!” dalam sebuah jendela.

java

Copy code :

import javax.swing.*;


public class HelloWorldGUI {

    public static void main(String[] args) {

        JFrame frame = new JFrame(“Hello World GUI”);

        JOptionPane.showMessageDialog(frame, “Hello, World!”);

        System.exit(0);

    }

}

Program ini menggunakan kelas JFrame dan JOptionPane untuk menampilkan pesan “Hello, World!” dalam sebuah jendela dialog. Ini adalah contoh dasar yang menunjukkan bagaimana Anda dapat membuat jendela dan menampilkan pesan sederhana.

2. Kalkulator Sederhana

Kalkulator sederhana adalah aplikasi GUI yang lebih kompleks daripada “Hello, World!”. Program ini memungkinkan pengguna untuk melakukan operasi matematika dasar.

java

Copy code :

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


public class SimpleCalculator {

    public static void main(String[] args) {

        JFrame frame = new JFrame(“Kalkulator Sederhana”);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(300, 400);


        JPanel panel = new JPanel();

        frame.add(panel);


        JTextField display = new JTextField(10);

        panel.add(display);


        String[] buttons = {“1”, “2”, “3”, “+”, “4”, “5”, “6”, “-“, “7”, “8”, “9”, “*”, “C”, “0”, “=”, “/”};

        for (String button : buttons) {

            JButton btn = new JButton(button);

            panel.add(btn);

            btn.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {

                    String command = e.getActionCommand();

                    if (command.equals(“C”)) {

                        display.setText(“”);

                    } else if (command.equals(“=”)) {

                        String expression = display.getText();

                        try {

                            display.setText(String.valueOf(eval(expression)));

                        } catch (Exception ex) {

                            display.setText(“Error”);

                        }

                    } else {

                        display.setText(display.getText() + command);

                    }

                }

            });

        }


        frame.setVisible(true);

    }


    public static double eval(String expression) {

        return new Object() {

            int pos = -1, ch;


            void nextChar() {

                ch = (++pos < expression.length()) ? expression.charAt(pos) : -1;

            }


            boolean eat(int charToEat) {

                while (ch == ‘ ‘) nextChar();

                if (ch == charToEat) {

                    nextChar();

                    return true;

                }

                return false;

            }


            double parse() {

                nextChar();

                double x = parseExpression();

                if (pos < expression.length()) throw new RuntimeException(“Unexpected: ” + (char)ch);

                return x;

            }


            double parseExpression() {

                double x = parseTerm();

                for (; ; ) {

                    if (eat(‘+’)) x += parseTerm();

                    else if (eat(‘-‘)) x -= parseTerm();

                    else return x;

                }

            }


            double parseTerm() {

                double x = parseFactor();

                for (; ; ) {

                    if (eat(‘*’)) x *= parseFactor();

                    else if (eat(‘/’)) x /= parseFactor();

                    else return x;

                }

            }


            double parseFactor() {

                if (eat(‘+’)) return parseFactor();

                if (eat(‘-‘)) return -parseFactor();


                double x;

                int startPos = this.pos;

                if (eat(‘(‘)) {

                    x = parseExpression();

                    eat(‘)’);

                } else if ((ch >= ‘0’ && ch <= ‘9’) || ch == ‘.’) {

                    while ((ch >= ‘0’ && ch <= ‘9’) || ch == ‘.’) nextChar();

                    x = Double.parseDouble(expression.substring(startPos, this.pos));

                } else {

                    throw new RuntimeException(“Unexpected: ” + (char)ch);

                }


                if (eat(‘^’)) x = Math.pow(x, parseFactor());


                return x;

            }

        }.parse();

    }

}

Program ini menciptakan jendela kalkulator sederhana dengan tombol angka, operasi matematika, dan tombol “C” untuk menghapus masukan. Ini juga menggunakan sebuah metode eval yang menghitung hasil ekspresi matematika yang diinput oleh pengguna.

3. Aplikasi Catatan Sederhana

Aplikasi catatan sederhana adalah program GUI yang memungkinkan pengguna membuat dan menyimpan catatan teks.

java

Copy code :

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.*;


public class SimpleNoteApp {

    public static void main(String[] args) {

        JFrame frame = new JFrame(“Aplikasi Catatan Sederhana”);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(400, 300);


        JTextArea textArea = new JTextArea();

        frame.add(new JScrollPane(textArea));


        JMenuBar menuBar = new JMenuBar();

        JMenu fileMenu = new JMenu(“File”);

        JMenuItem saveItem = new JMenuItem(“Simpan”);

        JMenuItem openItem = new JMenuItem(“Buka”);


        fileMenu.add(saveItem);

        fileMenu.add(openItem);

        menuBar.add(fileMenu);


        frame.setJMenuBar(menuBar);


        saveItem.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                JFileChooser fileChooser = new JFileChooser();

                if (fileChooser.showSaveDialog(frame) == JFileChooser.APPROVE_OPTION) {

                    try (PrintWriter writer = new PrintWriter(fileChooser.getSelectedFile())) {

                        writer.write(textArea.getText());

                    } catch (IOException ex) {

                        ex.printStackTrace();

                    }

                }

            }

        });


        openItem.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                JFileChooser fileChooser = new JFileChooser();

                if (fileChooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) {

                    try (BufferedReader reader = new BufferedReader(new FileReader(fileChooser.getSelectedFile()))) {

                        String line;

                        while ((line = reader.readLine()) != null) {

                            textArea.append(line + “n”);

                        }

                    } catch (IOException ex) {

                        ex.printStackTrace();

                    }

                }

            }

        });


        frame.setVisible(true);

    }

}

Aplikasi ini memungkinkan pengguna untuk membuat catatan teks, menyimpan catatan tersebut ke file, dan membuka file catatan yang ada.

4. Aplikasi Jadwal Sederhana

Aplikasi jadwal sederhana adalah program GUI yang memungkinkan pengguna untuk mengatur jadwal harian mereka.

java

Copy code :

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


public class SimpleScheduler {

    public static void main(String[] args) {

        JFrame frame = new JFrame(“Aplikasi Jadwal Sederhana”);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(400, 300);


        JPanel panel = new JPanel();

        frame.add(panel);


        JTextArea textArea = new JTextArea(10, 30);

        panel.add(new JScrollPane(textArea));


        JButton saveButton = new JButton(“Simpan Jadwal”);

        panel.add(saveButton);


        saveButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                String schedule = textArea.getText();

                JOptionPane.showMessageDialog(frame, “Jadwal disimpan:n” + schedule);

            }

        });


        frame.setVisible(true);

    }

}

Aplikasi ini memungkinkan pengguna untuk menambahkan dan menyimpan jadwal harian mereka. Jadwal yang dimasukkan oleh pengguna ditampilkan dalam sebuah jendela dialog setelah pengguna menekan tombol “Simpan Jadwal”.

5. Aplikasi Kalkulator BMI (Indeks Massa Tubuh)

Aplikasi kalkulator BMI adalah program GUI yang memungkinkan pengguna menghitung indeks massa tubuh mereka.

java

Copy code :

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


public class BMICalculator {

    public static void main(String[] args) {

        JFrame frame = new JFrame(“Kalkulator BMI”);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(300, 200);


        JPanel panel = new JPanel();

        frame.add(panel);


        JLabel weightLabel = new JLabel(“Berat (kg):”);

        JTextField weightField = new JTextField(10);

        JLabel heightLabel = new JLabel(“Tinggi (m):”);

        JTextField heightField = new JTextField(10);

        JButton calculateButton = new JButton(“Hitung BMI”);

        JLabel resultLabel = new JLabel(“BMI:”);


        panel.add(weightLabel);

        panel.add(weightField);

        panel.add(heightLabel);

        panel.add(heightField);

        panel.add(calculateButton);

        panel.add(resultLabel);


        calculateButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                try {

                    double weight = Double.parseDouble(weightField.getText());

                    double height = Double.parseDouble(heightField.getText());

                    double bmi = weight / (height * height);

                    resultLabel.setText(“BMI: ” + bmi);

                } catch (NumberFormatException ex) {

                    resultLabel.setText(“BMI: Error”);

                }

            }

        });


        frame.setVisible(true);

    }

}

Aplikasi ini memungkinkan pengguna untuk memasukkan berat badan dan tinggi badan mereka, dan kemudian menghitung BMI mereka setelah menekan tombol “Hitung BMI”.

6. Aplikasi Pemutar Musik Sederhana

Aplikasi pemutar musik sederhana adalah program GUI yang memungkinkan pengguna memilih dan memainkan file musik.

java

Copy code :

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.IOException;


public class SimpleMusicPlayer {

    public static void main(String[] args) {

        JFrame frame = new JFrame(“Aplikasi Pemutar Musik Sederhana”);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(300, 200);


        JPanel panel = new JPanel();

        frame.add(panel);


        JFileChooser fileChooser = new JFileChooser();

        JButton openButton = new JButton(“Buka File Musik”);

        JButton playButton = new JButton(“Putar Musik”);

        JButton stopButton = new JButton(“Hentikan Musik”);


        panel.add(openButton);

        panel.add(playButton);

        panel.add(stopButton);


        openButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                int result = fileChooser.showOpenDialog(frame);

                if (result == JFileChooser.APPROVE_OPTION) {

                    File selectedFile = fileChooser.getSelectedFile();

                    JOptionPane.showMessageDialog(frame, “File Musik Terpilih: ” + selectedFile.getName());

                }

            }

        });


        playButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                try {

                    Runtime.getRuntime().exec(“cmd /c start wmplayer.exe”);

                } catch (IOException ex) {

                    ex.printStackTrace();

                }

            }

        });


        stopButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                try {

                    Runtime.getRuntime().exec(“cmd /c taskkill /f /im wmplayer.exe”);

                } catch (IOException ex) {

                    ex.printStackTrace();

                }

            }

        });


        frame.setVisible(true);

    }

}

Aplikasi ini memungkinkan pengguna untuk memilih file musik, memainkan musik, dan menghentikan pemutaran musik.

7. Aplikasi Konversi Suhu

Aplikasi konversi suhu adalah program GUI yang memungkinkan pengguna mengonversi suhu antara Fahrenheit dan Celsius.

java

Copy code :

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


public class TemperatureConverter {

    public static void main(String[] args) {

        JFrame frame = new JFrame(“Aplikasi Konversi Suhu”);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(300, 200);


        JPanel panel = new JPanel();

        frame.add(panel);


        JLabel label = new JLabel(“Masukkan Suhu (Fahrenheit):”);

        JTextField inputField = new JTextField(10);

        JButton convertButton = new JButton(“Konversi ke Celsius”);

        JLabel resultLabel = new JLabel(“Hasil: “);


        panel.add(label);

        panel.add(inputField);

        panel.add(convertButton);

        panel.add(resultLabel);


        convertButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                try {

                    double fahrenheit = Double.parseDouble(inputField.getText());

                    double celsius = (fahrenheit – 32) * 5/9;

                    resultLabel.setText(“Hasil: ” + celsius + ” Celsius”);

                } catch (NumberFormatException ex) {

                    resultLabel.setText(“Hasil: Error”);

                }

            }

        });


        frame.setVisible(true);

    }

}

Aplikasi ini memungkinkan pengguna untuk memasukkan suhu dalam Fahrenheit, mengonversinya ke Celsius, dan menampilkan hasil konversi.

Kesimpulan :

Dalam artikel ini, kami telah mengeksplorasi 7 contoh program Java GUI sederhana yang mencakup berbagai fungsionalitas, mulai dari pesan sederhana hingga pemutar musik dan kalkulator. Ini hanya menyentuh permukaan dari apa yang dapat Anda lakukan dengan Java dalam konteks GUI. Selanjutnya, Anda dapat mengeksplorasi pustaka-pustaka GUI yang lebih canggih seperti JavaFX untuk membuat aplikasi yang lebih kuat dan kompleks. Dengan latihan lebih lanjut, Anda dapat mengembangkan keterampilan Anda dalam pengembangan aplikasi GUI dengan Java. Semoga contoh-contoh ini membantu Anda memahami dasar-dasar pembuatan aplikasi GUI dengan Java.

Leave a Reply

Your email address will not be published. Required fields are marked *