import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class optionPaneSwing
extends JFrame {
// Main
public static void main(String[] args) {
optionPaneSwing op = new optionPaneSwing();
op.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
op.pack();
op.show();
}
// Kontruktor
public optionPaneSwing() {
super("OptionPane");
// Mengatur Layout
this.getContentPane().setLayout(new BoxLayout(this.getContentPane(),
BoxLayout.X_AXIS));
// Membuat Komponen Panel
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
// Menambahkan Komponen pada Frame
this.getContentPane().add(panel1);
this.getContentPane().add(panel2);
this.getContentPane().add(panel3);
// Layout panel 2
panel2.setLayout(new BoxLayout(panel2, BoxLayout.Y_AXIS));
// Menambahkan Tombol pada Panel 2
panel2.add(Box.createRigidArea(new Dimension(1, 10)));
panel2.add(tombolWarningDialog());
panel2.add(Box.createRigidArea(new Dimension(1, 10)));
panel2.add(tombolInputDialog());
panel2.add(Box.createRigidArea(new Dimension(1, 10)));
panel2.add(tombolMessageDialog());
panel2.add(Box.createRigidArea(new Dimension(1, 10)));
panel2.add(tombolConfirmationDialog());
panel2.add(Box.createRigidArea(new Dimension(1, 10)));
panel2.add(tombolOptionDialog());
panel2.add(Box.createRigidArea(new Dimension(1, 10)));
} // Akhir methode optionPaneSwing
/**
* Methode tombolWarningDialog
* Membuat dan Memproses tombol "Warning Dialog"
* @return : buatTombol(a)
*/
public JButton tombolWarningDialog() {
Action a = new AbstractAction("Warning Dialog") {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "<html><p align=center><b><font size=6 color=#FF0000>WARNING</font></b></p><p align=left><font color=#FF0000 size=4>Perhatian !!!</font> Dilarang Menggunakan Software Bajakan.<br>Hargailah <b><font color=#0000FF>Hak Atas Kreatifitas Intelektual</font></b> ... </br><br>Untuk itu dianjurkan menggunakan Sofware yang <font color=#0000FF>Free</font> ... </br><br>Gunakanlah <b><font color=#00FF00>JAVA</font></b> !!! Selain Free, JAVA juga <b><i>OPEN SOURCE</i></b>.</br> <br>Kenapa Juga gunakan yang bajakan.....</br><br>Kalau ada yang gratis dan lebih baik dari yang bajakan.</br></p><p><br><i>Catatan : Text ini menggunakan format HTML</i></p></br></html>",
"Ini Warning Dialog",
JOptionPane.WARNING_MESSAGE);
}
};
return buatTombol(a);
}
/**
* Methode tombolInputDialog
* Membuat dan Memproses tombol "Input Dialog"
* @return : buatTombol(a)
*/
public JButton tombolInputDialog() {
Action a = new AbstractAction("Input Dialog") {
public void actionPerformed(ActionEvent e) {
String o = JOptionPane.showInputDialog(null, "Masukkan Nama Anda",
"Input Dialog",
JOptionPane.OK_CANCEL_OPTION);
JOptionPane.showMessageDialog(null, "Nama Anda Adalah '" + o + "'");
}
};
return buatTombol(a);
}
/**
* Methode tombolMessageDialog
* Membuat dan Memproses tombol "Message Dialog"
* @return : buatTombol(a)
*/
public JButton tombolMessageDialog() {
Action a = new AbstractAction("Message Dialog") {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Ini pesan Dialog JOptionPane");
}
};
return buatTombol(a);
}
/**
* Methode tombolConfirmationDialog
* Membuat dan Memproses tombol "Confirmation Dialog"
* @return : buatTombol(a)
*/
public JButton tombolConfirmationDialog() {
Action a = new AbstractAction("Confirmation Dialog") {
public void actionPerformed(ActionEvent e) {
int tanya = JOptionPane.showConfirmDialog(null,
"Apakah Anda Menggunakan JAVA ???", "Pertanyaan",
JOptionPane.YES_NO_OPTION);
if (tanya == JOptionPane.YES_OPTION) {
JOptionPane.showMessageDialog(null,
"Anda Menekan YES, Memang menggunakan JAVA");
}
else {
JOptionPane.showMessageDialog(null,
"Kenapa Anda Menekan NO, Padahal Anda menggunakan JAVA");
}
}
};
return buatTombol(a);
}
/**
* Methode tombolOptionDialog
* Membuat dan Memproses tombol "Option Dialog"
* @return : buatTombol(a)
*/
public JButton tombolOptionDialog() {
// Action dari Tombol
Action a = new AbstractAction("Option Dialog") {
// Methode untuk merespon dan memproses saat tombol ditekan
public void actionPerformed(ActionEvent e) {
// Membuat objek untuk mengganti nama tombol
Object[] o = {
"Ya", "Batal", "Tidak Tahu"};
// Membuat objek untuk menampilkan Teks dan Choice pada OptionPane
Object[] pilih = new Object[2];
// Teks
pilih[0] = "Editor Apa yang Anda Gunakan Untuk Java";
// Choice
Choice l = new Choice();
l.addItem("JBuilder");
l.addItem("Java Studio");
l.addItem("Visual J");
l.addItem("JCreator");
pilih[1] = l;
// Menampilkan Option Dialog
int option = JOptionPane.showOptionDialog(null,
pilih, "Option",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null,
o,
o[0]);
// Mengambil item yang dipilih
String item = l.getSelectedItem();
switch (option) {
case 0: // Ya
JOptionPane.showMessageDialog(null,
"Anda Memilih \"" + item +
"\" sebagai Editor yang Anda Gunakan");
break;
case 1: // Batal
JOptionPane.showMessageDialog(null, "Anda Batal Memilih Editor");
break;
case 2: // Tidak Tahu
JOptionPane.showMessageDialog(null,
"Anda Benar-Benar Tidak Tau Apa yang Anda Gunakan ???");
break;
}
}
};
// Kembali ke buatTombol(a)
return buatTombol(a);
}
/**
* Methode buatTombol
* Untuk membuat Tombol (Warna, ukuran, Action)
* @param a : Action
* @return : b (JButton)
*/
public JButton buatTombol(Action a) {
// Membuat tombol
JButton b = new JButton() {
// Methode untuk mengatur ukuran tombol
public Dimension getMaximumSize() {
int width = Short.MAX_VALUE;
int height = super.getMaximumSize().height;
return new Dimension(width, height);
}
};
// Mengatur Action tombol
b.setAction(a);
// Mengatur Warna Tombol
b.setBackground(Color.yellow);
return b;
}
}