Contoh Penggunaan Java SwingX

Pada posting kali ini saya sekedar share pembuatan form aplikasi java agar terlihat lebih hidup dan menarik. salah satu contoh hasilnya seperti gambar berikut ini :


biasanya sebelum menggunakan SwingX, JTextbox dan JButton terlihat persegi biasa.
pada gambar diatas, JXTextbox dan JXButton tampak round dengan ukuran tertentu dan transparan. :)

sumber : http://www.rizal-adompo.web.id/2012/03/make-over-swing-java-menggunakan.html

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Contoh 1 : JXButton Swing Make Over

Contoh :
Buat java class dengan nama sesuai selera misalnya dengan nama ButtonMakeOver. Sourcenya :


import java.awt.Color;

import java.awt.GradientPaint;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.RenderingHints;

import javax.swing.ButtonModel;

import javax.swing.JButton;

public class ButtonMakeOver extends JButton {

    public ButtonMakeOver(String text) {

   setText(text);

        setBorderPainted(false);

        setContentAreaFilled(false);

        setFocusPainted(false);

        setOpaque(false);

        setForeground(Color.white);

    }

    @Override

    protected void paintComponent(Graphics g) {

        ButtonModel buttonModel = getModel();

        Graphics2D gd = (Graphics2D) g.create();

                gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

                gd.setPaint(new   GradientPaint(0,   0,   Color.white,   0, getHeight(), new Color(0, 0, 0, 0)));

        if (buttonModel.isRollover()) {

            gd.setPaint(new GradientPaint(0, 0, new Color(0, 0, 0, 0), 0, getHeight(), Color.white));

            if (buttonModel.isPressed()) {

                gd.setPaint(new GradientPaint(0, 0, Color.white, 0, getHeight(), Color.white));

                setForeground(Color.BLACK);

            } else {

                setForeground(Color.white);

            }

        }

        gd.fillRoundRect(0, 0, getWidth(), getHeight(), 25, 25);

        gd.dispose();

        super.paintComponent(g);

    }

}
Tulis source codeberikut (Test.java) :

import java.awt.BorderLayout;

import java.awt.Color;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class Test extends JFrame {

    private ButtonMakeOver button =new ButtonMakeOver("My Button");

    private JPanel panel;

    public Test() {

        panel = new JPanel(null);

        panel.setBackground(Color.BLACK);

        panel.add(button);

        button.setBounds(20, 20, 120, 23);

        setLayout(new BorderLayout());

        add(panel, BorderLayout.CENTER);

        setSize(200,100);

        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }

    public static void main(String[] args) {

        new Test().setVisible(true);

    }

}


Kemudian run project, dan lihat hasilnya.


source : 
http://itc.himatif.or.id
http://eecchhoo.wordpress

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Swing MakeOver / SwingX

SwingMakeOver merupakan teknik memanipulasi tampilan User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi lebih cantik kelihatannya.

Apa kelebihan SwingX?  SwingX menawarkan fitur-fitur ekstra yang tidak ditemui di Swing secara siap jadi. Sebagai contoh, ada yang disebut sebagai Highlighter, untuk memberi highlight (bisa berupa warna background berbeda dan sebagainya) pada sel tertentu di JXTable, JXList, JXTree, dan sebagainya.  Komponen yang diawali JX kebanyakan adalah turunan dari komponen Swing standar, misalnya JXTable adalah turunan dari JTable.  Demikian juga, JXComboBox adalah turunan dari JComboBoxJXComboBox sudah mendukung fitur highlight dengan adanya fungsi addHighlighter().  Jika kita ingin menampilkan nilai dibawah 50 dengan background merah di JXComboBox, kita dapat menggunakan ColorHighlighter.

sementara ini dulu postingan singkat tentang Java Swing Make Over.
tunggu tutorial yang akan datang :)

sumber : 
http://eecchhoo.wordpress.com/tag/java-swing-make-over/
http://thesolidsnake.wordpress.com/category/java-technology/java-framework-api/

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Contoh Event Handling pada Java

Event Handling merupakan konsep penanganan suatu action yang terjadi. Jadi suatu program akan berjalan saat sesuatu terjadi, misalnya saat tombol diklik, saat combo box dipilih dan sebagainya. Java memiliki beberapa jenis Event Handling, salah satunya adalah class ActionListener yang menangani aksi terhadap tombol. Berikut ini contoh programnya: 





  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Event Handling GUI pada Java

Dalam event handling pada Java ada empat bagian penting yang harus diketahui:
  1. Event Object merupakan object yang mendiskripsikan sebuah event yang di-trigger oleh event source.
  2. Event Handler merupakan method yang menerima event object dan melakukan respond yang sesuai dengan event object tersebut.
  3. Event Listener merupakan interface yang akan meng-handle event yang terjadi. setiap type event mempunyai interface yang bersesuaian. Listener tersebut harus diimplementasikan oleh class yang akan meng-handle event
  4. Event Source merupakan pembangkit / trigger sebuah event objects
setiap event object mempunyai  type event yang berbdea beda. sehingga kita harus menentukan type event sebelum menentukan jenis interface listener. karena setiap type event mempunyai jenis interface listener yang bersesuaian.
berikut ini type type event yang ada di Java :
  1. ActionEvent
  2. ItemEvent
  3. WindowEvent
  4. ContainerEvent
  5. ComponentEvent
  6. FocusEvent
  7. TextEvent
  8. KeyEvent
  9. MouseEvent
  10. AdjustmentEvent
Berikut ini Interface Listener
  1. ActionListener
  2. ItemListener
  3. WindowListener
  4. ContainerListener
  5. ComponentListener
  6. FocusListener
  7. TextListener
  8. KeyListener
  9. MouseListener
  10. MouseMotionListener
  11. AdjustmentListener
Berdasarkan tulisan diatas, setiap type event mempunyai satu jenis interface listener kecuali MouseEvent yang mempunyai dua jenis interface listener. dan setiap interface mempunyai method abstract yang harus di override class yang meng-impletasikan interface. event listener dan event handler terdapat pada package java.awt.event
Bagaimana event handling dalam Java? ada tiga langkah penting dalam event handling
  1. Deklarasikan class yang akan meng-handle event yang terjadi dan tuliskan code yang menyatakan class tersebut meng-implement interface listener
  2. Event source mendaftarkan sebuah listener melalui method add<type>Listener
  3. Kode yang mengimplementasikan method pada interface listener pada class yang akan meng-handle event. [ Override ]
Contoh 1
MouseEventsDemo.java
package mouseeventsdemo;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author Ren
*/
public class MouseEventsDemo extends Frame implements MouseListener, MouseMotionListener {  // Langkah 1
TextField tf;
public MouseEventsDemo( String title){
super(title);
tf = new TextField(60);
addMouseListener(this); // Langkah 2
}
public void launchFrame() {
/* Menambah komponen pada frame */
add(tf, BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
public void mouseClicked(MouseEvent me) { // Langkah 3
String msg = “Mouse clicked.”;
tf.setText(msg);
}
public void mouseEntered(MouseEvent me) {
String msg = “Mouse entered component.”;
tf.setText(msg);
}
public void mouseExited(MouseEvent me) {
String msg = “Mouse exited component.”;
tf.setText(msg);
}
public void mousePressed(MouseEvent me) {
String msg = “Mouse pressed.”;
tf.setText(msg);
}
public void mouseReleased(MouseEvent me) {
String msg = “Mouse released.”;
tf.setText(msg);
}
public void mouseDragged(MouseEvent me) {
String msg = “Mouse dragged at ” + me.getX()
+ “,” + me.getY();
tf.setText(msg);
}
public void mouseMoved(MouseEvent me) {
String msg = “Mouse moved at ” + me.getX()
+ “,” + me.getY();
tf.setText(msg);
}
}
main.java
package mouseeventsdemo;
/**
*
* @author Ren
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
MouseEventsDemo med = new MouseEventsDemo(“Mouse Events Demo”);
med.launchFrame();
}
}

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Komponen GUI

Abstract Windowing Toolkit (AWT)
Swing
pFungsià u/ mendesain dan mengimplementasikan aplikasi visual
pThe Java Foundation Class (JFC)àbagian  dari Java SDK u/ mengembangkan aplikasi JAVA GUI
pJFC:
nAWT
nSwing
nJava2D
pDimanaàkomponen AWT dapat digunakan bersamakomponen Swing

Komponen GUI pada AWT:
1. Window Classes Fundamental


Mengatur ukuran window --> method setSize
  void setSize(int width, int height) 
Mengubah ukuran d/ width height sbg parameter:
  void setSize(Dimension d) 
mengatur visibility=T
  void setVisible(boolean b)
Dalam mendesain aplikasi GUI, Object  Frame selalu digunakan
Next Aplikasi --> SampleFrame .java
x --> tidak jalan karena belum ada event handling 

2.Grafik
Method: --> GraphicPanel.java
3.Kontrol User


pFrameWControls .java


4. Layout Manager
pFungsià mengatur tampilan dari komponen di dalam kontainer
pDiantaranya:
nFlowLayout
nBorderLayout
nGridLayout
pMethodàvoid setLayout(LayoutManager mgr)
pu/ mengatur manualà
  public void setBounds(int x, int y, int width, int height) 



Komponen GUI pada AWT:  

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Graphic User Interface (GUI)

Pengertian GUI
Antar muka komputer yang berbasiskan grafis. Adalah citra grafis yang ditampilkan di layar komputer yang memungkinkan untuk mengakses aplikasi software dengan memakai menu dropdown, dialog box, radio button, check box, panel, tabs, toolbar, icon shortcuts dan tool lain. Atau bisa juga dikatakan jenis antarmuka pengguna yang memungkinkan orang untuk berinteraksi dengan program dengan lebih banyak dengan gambar daripada perintah teks. Sebuah GUI grafis menawarkan ikon, dan visual indikator, sebagai lawan dari antarmuka berbasis teks. Contoh perangkat yang menggunakan GUI:  perangkat genggam seperti MP3 Players, Portable Media Player dan perangkat Permainan. GUI ini dimulai pertama kali dengan X Windows hasil penelitian di MIT, kemudian Macintosh, Sun View, lalu disusul oleh Microsoft Windows, dan sistem operasi lainnya.
JAVA
Java merupakan suatu teknologi perangkat lunak yang di dalamnya mencakup bahasa pemrograman. Selain itu Java juga merupakan suatu platform yang memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan suatu program. Java sendiri pada awalnya dikembangkan pada lingkungan komputer oleh Sun Microsystem Inc. dengan tujuan untuk menghasilkan suatu bahasa komputer sederhana tanpa harus terikat pada arsitektur tertentu. Maka tak heran jika dalam perkembangannya Java dapat dijalankan pada berbagai platform sistem operasi seperti Linux, Windows maupun Unix.
Karena keunikan dan kehandalannya, Java pun semakin banyak dikenal. Pada tahun 1995 Sun meluncurkan sebuah browser berbasis Java dengan julukan Hot Java, kemudian diikuti Netscape yang memutuskan untuk membuat browser dengan dilengkapi bahasa Java di dalamnya. Setelahnya ikut bergabung pula berbagai pengembang ternama diantaranya IBM dan Microsoft. Kemudian pada tahun berikutnya, Sun Microsystem Inc. merilis Java Software Development Kit (JDK) pertamanya, JDK 1.1. Dan terus berkembang dari pemrograman applet yang berjalan di browser menjadi pemrograman kelas dunia yang banyak digunakan untuk pengembangan aneka ragam aplikasi. Tidak hanya pada komputer, Java juga dapat berjalan pada bermacam-macam perangkat, mulai telepon genggam sampai aplikasi berskala enterprise pada komputer server.
JAVA GUI
Dapat disimpulkan bahwa Java GUI adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan komponen-komponen yang tidak bisa dibuat dalam basis text. Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya  adalah untuk memudahkan user menggunakan program yang dibuat tersebut.
sumber :
http://en.wikipedia.org/wiki/Graphical_user_interface
http://www.total.or.id/info.php?kk=graphical%20user%20interface
http://signal5.wordpress.com/2008/11/29/sekilas-tentang-java/

contoh Java GUI
1. posting saya berjudul "membuat mp3 player dengan java applet".
sumber : vanydiah.blogspot.com
2. dan contoh seperti berikut:
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import java.awt.GridLayout;
import javax.swing.JFrame;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class guijava implements ActionListener {
JLabel labelBilangan1 = new JLabel(“bilangan 1: “);
JTextField fieldBilangan1 = new JTextField(10);
JLabel labelBilangan2 = new JLabel(“bilangan 2: “);
JTextField fieldBilangan2 = new JTextField(10);
JLabel labelHasil = new JLabel(“hasil: “);
JTextField fieldHasil = new JTextField(10);
JButton buttonTambah = new JButton(“tambah”);
JButton buttonHapus = new JButton(“hapus”);
JPanel panelPenjumlahan = new JPanel();
guijava(){
GridLayout gl = new GridLayout(4,2);
panelPenjumlahan.setLayout(gl);
panelPenjumlahan.add(labelBilangan1);
panelPenjumlahan.add(fieldBilangan1);
panelPenjumlahan.add(labelBilangan2);
panelPenjumlahan.add(fieldBilangan2);
panelPenjumlahan.add(labelHasil);
panelPenjumlahan.add(fieldHasil);
panelPenjumlahan.add(buttonTambah);
panelPenjumlahan.add(buttonHapus);
buttonTambah.addActionListener(this);
buttonHapus.addActionListener(this);
JFrame jendela = new JFrame(“Contoh GUI Java”);
jendela.setContentPane(panelPenjumlahan);
jendela.setSize(400,150);
jendela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jendela.setVisible(true);
jendela.setResizable(false);
}
public static void main(String[] args) {
guijava contohGUI = new guijava();
}
public void actionPerformed(ActionEvent kejadian) {
try {
if(kejadian.getSource() == buttonTambah) {
int bilangan1 = Integer.parseInt(fieldBilangan1.getText());
int bilangan2 = Integer.parseInt(fieldBilangan2.getText());
int hasil = bilangan1 + bilangan2;
fieldHasil.setText(Integer.toString(hasil));
}
else {
fieldBilangan1.setText(“”);
fieldBilangan2.setText(“”);
fieldHasil.setText(“”);
fieldBilangan1.requestFocus();
}
}
catch(Exception a) {
JOptionPane.showMessageDialog(panelPenjumlahan, “anda salah memasukkan angka.”);
}
}
}

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS