GUI Event Handling Berbasis java

Posted on

Kalau dilihat pengertian tentang GUI secara umum adalah Interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik. Contoh implementasi GUI-based shell ini adalah pada sistem operasi Microsoft Windows.kebetulan tadi saya belajar GUI.kebetulan program yang saya pelajari tadi adalah sebuah program pengkonfersian suhu. kali ini saya mengunakan aplikasi NetBeans IDE 6.8, sebelumnya saya mengunakan CMD langsung saja kita lihat list program berikut..

CelsiusConverter2.java

package CelsiusConverter2;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
import java.text.ParseException;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;

/**
 *
 * @author Arief
 */
public class CelsiusConverter2 implements ActionListener {
    JFrame converterFrame;
    JPanel converterPanel;
    JFormattedTextField tempCelsius;
    JLabel celsiusLabel, fahrenheitLabel;
    JButton convertTemp;


    public CelsiusConverter2()
    {
        converterFrame = new JFrame("convert celsius to fahrenheit");
        converterFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        converterFrame.setSize(new Dimension (120, 40));
        converterPanel = new JPanel(new GridLayout(2,2));

        addwidgets();

        converterFrame.getRootPane().setDefaultButton(convertTemp);
        converterFrame.getContentPane().add(converterPanel, BorderLayout.CENTER);
        converterFrame.pack();
        converterFrame.setVisible(true);
    }

    public void addwidgets()
    {
        tempCelsius = new JFormattedTextField(new DecimalFormat("##0"));
        tempCelsius.setFocusLostBehavior(JFormattedTextField.COMMIT_OR_REVERT);

        try{
            tempCelsius.setText("37.0");
            tempCelsius.commitEdit();
        } catch(ParseException e){
            e.printStackTrace();
        }
        celsiusLabel = new JLabel("Celsius", SwingConstants.LEFT);
        convertTemp = new JButton("Konversi");

        fahrenheitLabel = new JLabel("Fahrenheit", SwingConstants.LEFT);
        
        celsiusLabel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
        fahrenheitLabel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));

        convertTemp.addActionListener(this);
        tempCelsius.addActionListener(this);

        converterPanel.add(tempCelsius);
        converterPanel.add(celsiusLabel);
        converterPanel.add(convertTemp);
        converterPanel.add(fahrenheitLabel);
    }

    /*private ImageIcon createImageIcon (String path, String Description)(){

    }*/

    public static void creaetandShowGUI()
    {
        JFrame.setDefaultLookAndFeelDecorated(true);
        CelsiusConverter2 converter = new CelsiusConverter2();

    }

    public void actionPerformed(ActionEvent e){
        String evName = e.getActionCommand();
        int tempFahr = (int)((Double.parseDouble(tempCelsius.getText()))
                                *1.8 + 32);
        if (tempFahr <= 32) {
            fahrenheitLabel.setText("<html><font color=blue>" +
                    tempFahr + "&#176 </font> fahrenheit</html>");
        }else if (tempFahr <=80){
            fahrenheitLabel.setText("<html><font Color=red>" +
                    tempFahr + "&#176 </font> fahrenheit</html>");
        }else
            fahrenheitLabel.setText("<html><font Color=red>" +
                    tempFahr + "&#176 </font> fahrenheit</html>");
            }
       
    public static void main(String args[])
    {
    javax.swing.SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                creaetandShowGUI();
    }
    });
}
    }

hasilnya:

Semoga membantu kalau masih ada yang salah mohon dimaklum karna saya masih dalam proses belajar.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s