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, "
WARNING
Perhatian !!! Dilarang Menggunakan Software Bajakan.
Hargailah Hak Atas Kreatifitas Intelektual ...
Untuk itu dianjurkan menggunakan Sofware yang Free ...
Gunakanlah JAVA !!! Selain Free, JAVA juga OPEN SOURCE.
Kenapa Juga gunakan yang bajakan.....
Kalau ada yang gratis dan lebih baik dari yang bajakan.
Catatan : Text ini menggunakan format 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;
}
}