Kamis, 16 Mei 2019

Pertemuan 11, Komponen Swing

Komponen-Komponen Swing

Swing merupakan alternatif untuk mengimplementasikan program Window. Walaupun diimplementasikan berdasarkan kelas AWT, Swing tidak menggunakan komponen-komponen yang terdapat pada AWT, sehingga tampilan komponen- komponen dalam Swing tidak tergantung pada sistem Window local. Dengan demikian tampilan dari grafik Swing untuk semua sistem operasi menjadi serupa. JComponen merupakan super kelas bagi sejumlah kelas, misalanya JComboBox, JLabel, JList, dan JPanel dll.
Berikut ini merupakan beberapa kelas yang terdapat dalam package javax.swing yang sering dipergunakan.

A.Membuat program contoh dari JLabel dan JButton menggunakan Icon dan Tool Tip
import javax.swing.*;
import java.awt.*;
public class cthIcon {
public static void main(String[] args) {
JFrame myFrame = new JFrame("Contoh program AWT");
Icon ikon = new ImageIcon("0002.GIF");
JLabel myLabel = new JLabel ("Selamat belajar JAVA", ikon, SwingConstants.CENTER);
JButton myButton = new JButton("SELESAI", ikon);
myButton.setToolTipText("ini adalah Button");
myLabel.setToolTipText("ini adalah Label");
myFrame.setLayout(new BorderLayout());
myFrame.add(myLabel, "South");
myFrame.add(myButton, "North");
myFrame.setSize(500,500);
myFrame.setVisible(true);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Output :


B. Membuat program menggunakan JFileChooser
import javax.swing.*;
import javax.swing.filechooser.*;
import java.io.File;

public class ContohJFileChooser extends JFrame {
public static void main(String[] args) {
ContohJFileChooser apl = new ContohJFileChooser();
}

public ContohJFileChooser() {
setSize(400, 150);

JFileChooser jfc = new JFileChooser();

FileFilter filterDotJava = new Akhiran(".java", "Berkas*.java");

int hasil = jfc.showOpenDialog(this);
if (hasil == JFileChooser.APPROVE_OPTION)
setTitle("Tes JFileChooser.File:"+
jfc.getSelectedFile().getName());
else
setTitle("Tes JFileChooser. Batal memilih");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class Akhiran extends FileFilter {
private String ekstensi;
private String keterangan;

public Akhiran(String suffix, String deskripsi) {
this.ekstensi = suffix;
this.keterangan = deskripsi;
}

public boolean accept(File f) {
if (f.isDirectory())
return true;

return f.getName().endsWith(ekstensi);
}

public String getDescription() {
return keterangan;
}
}
Output :

C.Membuat program menggunakan JTextArea, JList dan Spinner
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;

class cthList extends JFrame {
JList daftar;
JTextArea tArea1, tArea2;
JPanel Panel1, Panel2, Panel3, Panel4;
JSpinner Spin;
String daftarBunga[] = { "Melati", "Mawar", "Krisan", "Kenanga", "Cempaka", "Tulip", "Kamboja Jepang" };

public cthList() {
super("Tes JList");
setSize(350, 300);

Spin = new JSpinner();
Spin.setValue(new Integer(10));

Panel1 = new JPanel();
Panel2 = new JPanel();
Panel3 = new JPanel();
Panel4 = new JPanel();

daftar = new JList(daftarBunga);
daftar.setSelectedIndex(0);

tArea1 = new JTextArea("",3, 15);
tArea1.setEditable(false);
tArea2 = new JTextArea("",3, 15);
tArea2.setEditable(false);

setLayout(new BorderLayout());

add(Panel1, "North");
add(Panel2, "West");
add(Panel3, "East");
add(Panel4, "Sourth");
Panel1.add(daftar);
Panel2.add(tArea1);
Panel3.add(tArea2);
Panel4.add(Spin);

setDefaultCloseOperation(3);
setVisible(true);

daftar.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
tArea1.setText("Yang terpilih : \n"+daftar.getSelectedValue());
}
}
);

Spin.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
tArea2.setText("Nilai : \n"+Spin.getValue());
}
}
);
}
}

public class ContohJList {
public static void main(String[] args) {
cthList apl = new cthList();
}
}
Output :



D.Membuatprogram menggunakan JProgressBar
import javax.swing.event.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class CthJProgressBar extends JFrame implements ActionListener {
public final static int SELANG_WAKTU_TUNGGU = 1;
public final static int MAKS = 1000;

JProgressBar pb;
JButton b;
Timer timer;
int posisi = 0;

public CthJProgressBar() {
super("Tes JProgressBar");
setSize(300, 120);

pb = new JProgressBar(0, MAKS);
b = new JButton("Mulai");

JPanel p = new JPanel();
p.add(b);

setLayout(new BorderLayout());
add("North", p);
add("South", pb);

// -- Set Timer
timer = new Timer(SELANG_WAKTU_TUNGGU, new ActionListener()
{
public void actionPerformed(ActionEvent evt) {
posisi++;
pb.setValue(posisi);
if(posisi==MAKS) {
timer.stop();
b.setText("Mulai");
}
}
});

b.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if(s.equals("Mulai")) {
b.setText("Stop");
posisi = 0;
pb.setValue(posisi);
timer.start();
}
else {
b.setText("Mulai");
timer.stop();
}
}
}
public class ContohJProgressBar {
public static void main(String[] args) {
CthJProgressBar apl = new CthJProgressBar();
}
}
Output :



E. Membuat program menggunakan JTabbedPane
import javax.swing.*;

class CthJTabbedPane extends JFrame {
JLabel lTab1, lTab2, lTab3, lTab4;
JTabbedPane tab;

public CthJTabbedPane() {
super("Tes JTabbedPane");
setSize(300, 120);

tab = new JTabbedPane();

JPanel panel1 = new JPanel();
tab.addTab("Satu", panel1);
tab.setSelectedIndex(0);
lTab1 = new JLabel("Tab Satu");
panel1.add(lTab1);

JPanel panel2 = new JPanel();
tab.addTab("Dua", panel2);
lTab2 = new JLabel("Tab Dua");
panel2.add(lTab2);

JPanel panel3 = new JPanel();
tab.addTab("Tiga", panel3);
lTab3 = new JLabel("Tab Tiga");
panel3.add(lTab3);

JPanel panel4 = new JPanel();
tab.addTab("Empat", panel4);
lTab4 = new JLabel("Tab Empat");
panel4.add(lTab4);

add(tab);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}

public class ContohJTabbedPane {
public static void main(String[] args) {
CthJTabbedPane apl = new CthJTabbedPane();
}
}
Output :



F. Membuat program menggunakan JTable
import javax.swing.*;
import java.awt.*;

public class ContohJTable extends JFrame {
public static void main(String[] args) {
ContohJTable apl = new ContohJTable();
}

public ContohJTable() {
super("Tes JTable");
setSize(500, 150);

Object[][] data={
{"11234", "Asti Damayanti", "Akunting", new Long(2200000)},
{"11235", "Eritria", "Pemasaran", new Long(1200000)},
{"11236", "Satria", "Personalia", new Long(1200000)},
{"11237", "Tri Setyowati", "EDP", new Integer(1500000)},
{"11238", "Fahmi Basya", "Akunting", new Long(1250000)},
{"11239", "Suadi Marwan", "Akunting", new Long(1000000)},
{"11240", "Rani Ardini", "Pemasaran", new Long(1100000)},
{"11241", "Listya", "Pemasaran", new Long(1100000)},
};
String[] judulKolom = {"NIP", "Nama", "Bagian", "Gaji"};
JTable tabel = new JTable(data, judulKolom);
JScrollPane scrollPane = new JScrollPane(tabel);
add(scrollPane);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
Output :


G. Membuat program menggunakan JTree
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;

public class ContohJTree extends JFrame {

public static void main(String[] args) {
ContohJTree apl = new ContohJTree();
}
public ContohJTree() {
super("Tes JTable");
setSize(400, 400);
// --- Buat akar - Level 0
DefaultMutableTreeNode akar = new DefaultMutableTreeNode("Benua");
// --- Level 1
DefaultMutableTreeNode afrika = new DefaultMutableTreeNode("Afrika");
DefaultMutableTreeNode asia = new DefaultMutableTreeNode("Asia");
DefaultMutableTreeNode amerika = new DefaultMutableTreeNode("Amerika");
DefaultMutableTreeNode eropa = new DefaultMutableTreeNode("Eropa");
// --- Level 2
DefaultMutableTreeNode mesir = new DefaultMutableTreeNode("Mesir");
DefaultMutableTreeNode libya = new DefaultMutableTreeNode("Libya");
DefaultMutableTreeNode indonesia = new DefaultMutableTreeNode("Indonesia");
DefaultMutableTreeNode jepang = new DefaultMutableTreeNode("Jepang");
DefaultMutableTreeNode malaysia = new DefaultMutableTreeNode("Malaysia");
DefaultMutableTreeNode kanada = new DefaultMutableTreeNode("Kanada");
DefaultMutableTreeNode peru = new DefaultMutableTreeNode("Peru");
DefaultMutableTreeNode bolivia = new DefaultMutableTreeNode("Bolivia");
DefaultMutableTreeNode brazilia = new DefaultMutableTreeNode("Brazilia");
DefaultMutableTreeNode austria = new DefaultMutableTreeNode("Austria");
DefaultMutableTreeNode jerman = new DefaultMutableTreeNode("Jerman");

// --- Membuat JTree
JTree struktur = new JTree(akar);
add(struktur);
akar.add(afrika);
akar.add(asia);
akar.add(amerika);
akar.add(eropa);
afrika.add(mesir);
afrika.add(libya);
asia.add(indonesia);
asia.add(jepang);
asia.add(malaysia);
amerika.add(kanada);
amerika.add(peru);
amerika.add(bolivia);
amerika.add(brazilia);
eropa.add(austria);
eropa.add(jerman);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// --- Tampilkan frame
setVisible(true);
}

}
Output :

Rabu, 08 Mei 2019

Pertemuan 10. JMENU

JMENU

 Menu adalah komponen yang berbentuk grup fungsi prosesyang berkaitan dengan fitur-fitur suatu aplikasi. Kelas JMenu Bar Mengimplementasikan bar yang didalamnya terdapat obyek-obyek menu yang bersifat pull down (dapat ditekan). Kelas JMenuItem digunakan untuk menyusun item menu berupa teks atau label, termasuk membuat shortcut dari tombol-tombol keyboard. Kelas JMenu digunakan untuk menginstans obyak-obyek pull down menu yang akan diletakka apd amenu bar.

Contoh :

1. MEMBUAT PROGRAM MainMenu.java
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

class Menu extends JFrame {
     JMenuBar menuBar;
     JMenu file, buatBaru;
     JMenuItem exit, frame, dialog, pesan;

     public Menu() {
        setTitle("Menu");
        setSize(200,200);
        file = new JMenu("File");
        file.setMnemonic('F');
        buatBaru = new JMenu("BuatBaru");
        buatBaru.setMnemonic('B');
        exit = new JMenuItem("Exit");
        exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.CTRL_MASK));
        frame = new JMenuItem("Frame");
        frame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,ActionEvent.CTRL_MASK));
        dialog = new JMenuItem("Dialog");
        dialog.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,ActionEvent.CTRL_MASK));
        pesan = new JMenuItem("Pesan");
        pesan.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,ActionEvent.CTRL_MASK));
        menuBar = new JMenuBar();
        setJMenuBar(menuBar);
        menuBar.add(file);
               file.add(exit);
        menuBar.add(buatBaru);
             buatBaru.add(frame);
             buatBaru.add(dialog);
             buatBaru.add(pesan);

        exit.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                  System.exit(0);
              }
        }
        );
        frame.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                new FFrame();
              }
        }
        );

        dialog.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent e) {
                   new FDialog();
               }
        }
        );

        pesan.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent e) {
                 JOptionPane.showMessageDialog(null,"Tutup?", "Pesan", JOptionPane.QUESTION_MESSAGE);
               }
        }
        );

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
        }
}

public class MainMenu {
    public static void main(String [] neno) {
      new Menu();
    }
}

Output :



2. MEMBUAT PROGRAM FFrame.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class FFrame extends JFrame implements ActionListener{
     JButton btnTutup = new JButton("TUTUP");

     public FFrame() {
       super("FRAME");
       setSize(200,100);
       setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
       setLayout(null);
       add(btnTutup);
       btnTutup.addActionListener(this);
       btnTutup.setBounds(40,20,100,20);
       setVisible(true);
     }

     public void actionPerformed(ActionEvent e) {
        if(e.getSource()==btnTutup) {
            dispose();
        }
     }

}

3. MEMBUAT PROGRAM FDialog.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class FDialog extends JDialog implements ActionListener{
    JButton btnTutup = new JButton("TUTUP");

    public FDialog() {
       setTitle("DIALOG");
       setSize(200,100);
       setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
       setLayout(null);
       add(btnTutup);
       btnTutup.addActionListener(this);
       btnTutup.setBounds(40,20,100,20);
       setVisible(true);
       }

       public void actionPerformed(ActionEvent e) {
          if(e.getSource()==btnTutup){
              dispose();
          }
       }
}

4. MEMBUAT PROGRAM MainMenu.java






Pertemuan 9 EventHandling

EVENT HANDLING

    Event Handling adalah suatu metode untuk menangani sebuah  event/aksi yang di berikan pengguna kepada suatu komponen GUI. Event adalah suatu peristiwa yang dipicu oleh pengguna pada suatu komponen, misalnya tombol di tekan.  Dua paket yang biasa digunakan untuk menangani kejadian adalah java.awt.event dan javax.swing.event.  Event Handling dalam menangani Event terbagi menjadi tiga macam yaitu :

1. Event Source
    Event Source adalah komponen yang mendapatkan suatu event yang kemudian ditangkap oleh Event Listener. Event Source dapat dibedakan dari penamaan komponen itu sendiri, misalnya tombol Simpan, tombol Hapus, dll.

2. Event Listener
    Event Listener digunakan untuk menangkap Event yang terjadi pada komponen /Event Source.

3. Event Handler
    Event Handler berupa blok method dari Listener yang menentukan proses selanjutnya setelah komponen mendapatkan Event. Misalkan pada tombol Event Source event tombol Simpan
ditekan, event Listener akan menangkap event pada Event Source tombol Simpan, kemudian Event Handler akan menyimpan data yang didefinisikan pada blok Event Handler.

Contoh:

A.MEMBUAT PROGRAM EventButton.java

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

class ButtonHandling extends JFrame implements ActionListener {
    private JLabel lbl;
    private JButton btnSetuju;
    private JButton btnBatal;

    public ButtonHandling() {
    super ("Coba Button Handling");
    lbl = new JLabel ("Status = None");
    lbl.setHorizontalAlignment (SwingConstants.CENTER);
    btnSetuju = new JButton ("Setuju");
    btnBatal = new JButton ("Batal");
    btnSetuju.addActionListener(this);
    btnBatal.addActionListener(this);
    setLayout (new BorderLayout());
    add(lbl,"North");
    add(btnSetuju,"West");
    add(btnBatal,"East");
    pack();
    setResizable(false);
    setLocation(100,100);
    setDefaultCloseOperation(3);
    setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
      if(e.getSource()==btnSetuju) {
           lbl.setText("Status = Setuju");

      }
      if(e.getSource()==btnBatal) {
           lbl.setText("Status = Batal");
      }
     }
}

public class EventButton {
    public static void main(String []args) {
     new ButtonHandling();
    }
}
Output :

2.  MEMBUAT PROGRAM EventRadio.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class RadioHandling extends JFrame implements ItemListener {
 private JTextField teks;
 private JPanel panel;
 private JRadioButton rbTn1,rbTn2,rbTn3;

 public RadioHandling() {
       setTitle("Coba RadioButton Handling");
       teks = new JTextField("Jenis kelamin : Pilihan");
       teks.setHorizontalAlignment(SwingConstants.CENTER);
       panel = new JPanel(new FlowLayout());
       rbTn1 = new JRadioButton("Pria");
       rbTn2 = new JRadioButton("Wanita");
       rbTn3 = new JRadioButton("??");

       ButtonGroup group = new ButtonGroup();
       group.add(rbTn1);
       group.add(rbTn2);
       group.add(rbTn3);
       rbTn1.addItemListener(this);
       rbTn2.addItemListener(this);
       rbTn3.addItemListener(this);

       setLayout(new BorderLayout());
       add(teks,"North");
       add(panel,"West");
       panel.add(rbTn1);
       panel.add(rbTn2);
       panel.add(rbTn3);

       pack();
       setVisible(true);
       setLocation(200,200);
       setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void itemStateChanged(ItemEvent event) {
     if(event.getSource()==rbTn1) {
 if(event.getStateChange()==ItemEvent.SELECTED)
            teks.setText("Jenis Kelamin : Pria");

     }
           if(event.getSource()==rbTn2) {
                 if(event.getStateChange()==ItemEvent.SELECTED)
                       teks.setText("Jenis Kelamin : Wanita");
     }
            if(event.getSource()==rbTn3) {
                    if(event.getStateChange()==ItemEvent.SELECTED)
                       teks.setText("Jenis Kelamin : ??");
            }
      }
}

public class EventRadio {
 public static void main (String []args) {
      new RadioHandling();
 }

}

Output :


3. MEMBUATPROGRAM EventComboBox.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class ComboBoxHandling extends JFrame implements ItemListener {
private JTextField teks;
private String Status[] = {"Setuju","Batal"};
private JComboBox cbStatus;

public ComboBoxHandling(){
super("Coba Combo Box Handling");
teks = new JTextField ("Status : None");
teks.setHorizontalAlignment(SwingConstants.CENTER);
cbStatus = new JComboBox(Status);
cbStatus.addItemListener(this);

setLayout(new BorderLayout());
add(teks, "North");
add(cbStatus, "South");

pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void itemStateChanged(ItemEvent event){
if(event.getStateChange()==ItemEvent.SELECTED){
if(cbStatus.getSelectedIndex()==0)
teks.setText("Setuju");
else
if(cbStatus.getSelectedIndex()==1)
teks.setText("Batal");
}
}
}

public class EventComboBox{
public static void main (String[] args) {
new ComboBoxHandling();
}
}

Output :


4. MEMBUAT PROGRAM PanggilInputData.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class InputData extends JDialog {
JDesktopPane view = new JDesktopPane();
JLabel lNama = new JLabel ("Nama Lengkap : ");
final JTextField fNama = new JTextField (10);
JTextField fJnsKlmn = new JTextField ();
JTextField fAgama = new JTextField ();
JTextField fSepakBola JTextField ();
JTextField fBasket JTextField ();
JTextField fKosong JTextField ();

JLabel lJnsKlmn = new JLabel ("Jenis Kelamin : ");
JRadioButton rbPria = new JRadioButton ("Laki-Laki");
JRadioButton rbWanita = new JRadioButton ("Perempuan");
JLabel lAgama = new JLabel ("Agama : ");
String [] namaAgama = {
"Islam", "Kristen", "Katolik",
"Hindu", "Budha"
};
JComboBox cmbAgama = new JComboBox (namaAgama);
JLabel lHobby = new JLabel ("Hobby :");
JCheckBox cbSepakBola = new JCheckBox ("SepakBola");
JCheckBox cbBasket = new JCheckBox ("Basket");
JCheckBox cbKosong = new JCheckBox ("Tidak Ada");
JButton btnSave = new JButton ("OK");
JButton btnCansel = new JButton ("CANSEL");

punlic InputData() {
setTitle ("INPUT DATA");
setSize (350,250);
setResizable (false);
ButtongGroup group = new ButtonGroup ()
group.add (rbPria);
group.add (rbWanita);

setLayout (null);
add (lNama);
add (fNama);
add (lJnsKlmn);
add (rbPria);
add (rbWanita);
add (lAgama);
add (cmbAgama);
add (lHobby);
add (cdSepakBola);
add (cbBasket);
add (cbKosong);
add (btnSave);
add (btnCansel);

lNama.setBounds 10,10,120,20);
fNama.setBounds )130,10,150,20);
lJnsKlmn.setBounds (10,35,120,20);
rbPria.setBounds (130,35,100,20);
rbWanita.setBounds 230,35,100,20);
lAgama.setBounds (10,60,150,20);
cmbAgama.setBounds (130,60,120,20);
lHobby.setBounds (10,35,120,20);
cbSepakBola.setBounds (130,85,150,20);
cbBasket.setBounds (130,110,150,20);
cbKosong.setBounds (130,135,150,20);
btnSave.setBounds (50,170,120,20);
btnCansel.setBounds (180,170,120,20);
setVisible (true);

btnSave.addActionListener (new ActionListener() {
public void actionPerfomed (ActionEvent ae) {
view ("Tampilan");
}
}
);

cbKosong.addItemListener (new ItemListener() {
public void itemStateChanged (ItemEvent ie) {
JCheckBox source = (JCheckBox) ie.getItemSelectable ();
String kosong = source.getText();
if (ie.getStateChange()==ItemEvent.SELESCTED)
{
cbSepakBola.setSelected (false);
cbBasket.setSelected (false);
cbSepakBola.setEnabled (false);
cbBasket.setEnabled (false);
fKosong.setText (""+kosong+",");
}
else {
cbSepakBola.setEnabled (true);
cbBasket.setEnabled (true);
fKosong.setText ("");
}
}
}
);
rbPria.addActionListener (new ActionListener(){
public void actionPerfomed (ActionEvent ae) {
String pria = ae.getActionCommand();
fJnsKlmn.setText(""+pria);
  }
}
);

rbWanita.addaActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae){
String wanita = ae.getAtionCommand();
fJnsKlmn.setText(""+wanita);
}
}
);

cbSepakBola.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent ie){
JCheckBox
(JCheckBo) ie.getItemSelectable();
String SepakBola = source.getText();
if(ie.getStateChange()==ItemEvent.SELECTED)
fSepakBola.setText(""+SepakBola+",");
else
fSepakBola.setText("");
}
}
);

cbBasket.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent ie){
JCeckBox source
(JCheckBox) ie.getItemSelectable();
String basket = source.getText();
if(ie.getStateChange()==ItemEventSELECTED)
fBasket.setTet(""+basket+',");
else
fBasket.setText("");
}
}
);
    }

    public int view(String action){
    String nama = fNama.getText();
    String jnsklmn = fJnsKlmn.getText();
    String agama
    String.valueOf(cmbAgama.getSelectedItem());
    String cbSepakbola = fSepakBola.getText();
    String cbBasket = fBaske.getText();
    String cbKosong = fKosong.getText();
    String data = "DATA-DATA MAHASISWA :\n\nNama :
    "+nama+"\n\nJenis Kelamin : "+jnsklmn+"\n\nAgama : "+agama+
    "\n\nHobby :
    "+cbSepakBola+""+cbBasket+""+cbKosong+"";
    int message =
    JOptionPane.showConfirmDialog(null, data,"DATA
    MAHASISWA", JOptionPane.CLOSED_OPTION, JOptionPane.QUESTION_MESSAGE
    );
    return message;
    }
    }

    class panggilInpuData{
    public static void main(String [] args){
    new InputData();
    }
   }

Output :


5. TUGAS

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class CheckBoxHandling extends JFrame implements ItemListener {
private JTextField teks;
private JPanel panel;
private JCheckBox rbTn1, rbTn2, rbTn3;

public CheckBoxHandling() {
setTitle("Coba CheckBox Handling");
teks = new JTextField("Jenis Kelamin : Pilihan");
teks.setHorizontalAlignment(SwingConstants.CENTER);
panel = new JPanel(new FlowLayout());
rbTn1 = new JCheckBox("Pria");
rbTn2 = new JCheckBox("Wanita");
rbTn3 = new JCheckBox("Banci");

ButtonGroup group = new ButtonGroup();
group.add(rbTn1);
group.add(rbTn2);
group.add(rbTn3);
rbTn1.addItemListener(this);
rbTn2.addItemListener(this);
rbTn3.addItemListener(this);

setLayout(new BorderLayout());
add(teks, "North");
add(panel, "West");
panel.add(rbTn1);
panel.add(rbTn2);
panel.add(rbTn3);

pack();
setVisible(true);
setLocation(200,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent event) {
if(event.getSource()==rbTn1) {
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("Jenis Kelamin : Pria");
}
if(event.getSource()==rbTn2) {
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("Jenis Kelamin : Wanita");
}
if(event.getSource()==rbTn3) {
if(event.getStateChange()==ItemEvent.SELECTED)
teks.setText("Jenis Kelamin : ??");
}
}
}

public class Tugas {
public static void main (String[] args) {
new CheckBoxHandling();
}
}

Output :


Kamis, 11 April 2019

Pertemuan 8. Manajemen Layout

MANAJEMEN LAYOUT

Java menyediakan sejumlah metode layout dala mengatur penempelan komponen kedala frame. Method setLayout() digunakan untuk mengatur jenis metode yang diunakan pada saat pemasangan komponen.

A. Metode FlowLayout
     Menempatkan komponen di frame, yang penyusunanya dimulai dari kiri ke kanan dan dari atas ke bawah. Secara default, seluruh komponen akan ditampilkan dengan rata tengah, namun metode FlowLayout memiliki konstanta LEFT, CENTER, dan RIGHT untuk mengatur perataan komponen yang diinginkan.

B. Metode GridLayout
     Metode GridLayout akan membagi area layar menjadi sejumlah tempat dalam bentuk matriks ukuran yang sama. Area layar dibagi dalam format baris dan kolom. Jadi setiap komonen memiliki ukuran yang sama. Nmaun setiap kal terjadi perubahan ukuran frame, maka komponenya jugaakan berubah.Yang harus dipertahankan adalah jmlah baris dan kolom yang telah ditentukan.

C. Metode BorderLayout
     Class BordrLayout memiliki lima konstanta yang enyataka arah mata angin, yaitu NORTH, EAST, SOUTH, WEST, dan CENTER.

D. Metode NoneLayout
    Metode ini harus mengatur tap lokasi objek titik demi titik. Tiap objeknya ditentukan oleh koordinat di dalam Window.

Contoh :

1.
 import java.awt.*;
import javax.swing.*;

class FLayout extends JFrame {
JButton tombolSave,tombolEdit, tombolDelete,tombolOpen;

public FLayout() {
setTitle("FLOWLAYOUT");
tombolOpen = new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave = new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit = new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete = new JButton("DELETE");
tombolDelete.setMnemonic('D');

setLayout(new FlowLayout());
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);

pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
}

public class CobaFlowLayout {
public static void main (String[] args) {
FLayout f = new FLayout();
}


}
Output :





2.
import java.awt.*;
import javax.swing.*;

class GLayout extends JFrame {
JButton tombolSave, tombolEdit, tombolDelete, tombolOpen, tombolCopy, tombolPaste;

public GLayout() {
setTitle("GRIDLAYOUT");
tombolOpen = new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave = new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit = new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete = new JButton("DELETE");
tombolDelete.setMnemonic('D');
tombolCopy = new JButton("COPY");
tombolCopy.setMnemonic('C');
tombolPaste = new JButton("PASTE");
tombolPaste.setMnemonic('P');

setLayout(new GridLayout (3,2));
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);
add(tombolCopy);
add(tombolPaste);

pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

public class CobaGridLayout {
public static void main (String[] args) {
GLayout g = new GLayout();
}

}
Output :

3.import java.awt.*;
import javax.swing.*;

class BLayout extends JFrame {
JButton tombolSave, tombolEdit, tombolDelete, tombolOpen;
JLabel labelGambar;
public BLayout() {
setTitle("Border Layout");
tombolOpen = new JButton("Open");
tombolOpen.setMnemonic('O');
tombolSave = new JButton("Save");
tombolSave.setMnemonic('S');
tombolEdit = new JButton("Edit");
tombolEdit.setMnemonic('E');
tombolDelete = new JButton("Delete");
tombolDelete.setMnemonic('D');
labelGambar = new JLabel(new
ImageIcon("Image/Satu.jpg"));
setLayout(new BorderLayout());
add(tombolOpen, "North");
add(tombolSave, "West");
add(labelGambar, "Center");
add(tombolEdit, "East");
add(tombolDelete, "South");
setSize(400,300);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

public class cobaBorderLayout{
public static void main (String []args) {
BLayout b = new BLayout();
}

}
Output:






4.
import java.awt.*;
import javax.swing.*;

class NLayout extends JFrame {
JButton tombolSave, tombolEdit, tombolDelete, tombolOpen;

public NLayout() {
setTitle("NONELAYOUT");
tombolOpen = new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave = new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit = new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete = new JButton("DELETE");
tombolDelete.setMnemonic('D');

setLayout(null);
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);

tombolOpen.setBounds(10,10,150,20);
tombolSave.setBounds(150,15,150,20);
tombolEdit.setBounds(100,30,150,20);
tombolDelete.setBounds(40,50,150,20);

setSize(350,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

public class cobaNullLayout {
public static void main (String[] args) {
NLayout n = new NLayout();
}

}
Output:

5.
import java.awt.*;
public class frameAWT {
public static void main(String[] args) {
Frame myFrame = new Frame ("Demo program AWT");
myFrame.setLayout(new BorderLayout());
Label labelPil = new Label("Title Pilihan Buah");
myFrame.add(labelPil,BorderLayout.NORTH);
Panel myPanel = new Panel(new BorderLayout());
Label labelBuah = new Label("Buah = ");
myPanel.add(labelBuah,BorderLayout.WEST);
Choice myChoice = new Choice();
myChoice.add("Mangga");
myChoice.add("Pisang");
myChoice.add("Jeruk");
myChoice.add("Apple");
myChoice.add("Anggur");
myChoice.add("Nangka");
myFrame.add(myPanel,BorderLayout.SOUTH);
myFrame.setSize(300,200);
myPanel.add(myChoice,BorderLayout.EAST);
myFrame.show();
}

}
Output:







6.
tombol1 = new JButton ("1"); import javax.swing.*;
class GUI extends JFrame {
JLabel lNama = new JLabel("Nama Lengkap : ");
final JTextField fNama =
new JTextField(10);
JLabel lJnsKlmn =
new JLabel("Jenis Kelamin : ");
JRadioButton rBPria =
new JRadioButton("Laki-laki");
JRadioButton rBWanita =
new JRadioButton("Perempuan");
JLabel lAgama =
new JLabel("Agama : ");
String [] NamaAgama = {
"Islam", "Kristen", "Katolik",
"Hindu", "Buddha"
};
JComboBox cMBAgama =
new JComboBox(NamaAgama);
JLabel lHobby =
new JLabel("Hobby : ");
JCheckBox cBSepakBola =
new JCheckBox("SepakBola");
JCheckBox cBBasket =
new JCheckBox("Basket");
JButton bTNSave =
new JButton("OK");

public GUI() {
setTitle("Mencoba kombinasi komponen GUI");
setDefaultCloseOperation(3);
setSize(350,200);
ButtonGroup Group = new ButtonGroup();
Group.add(rBPria);
Group.add(rBWanita);

setLayout(null);
add(lNama);
add(fNama);
add(lJnsKlmn);
add(rBPria);
add(rBWanita);
add(lAgama);
add(cMBAgama);
add(lHobby);
add(cBSepakBola);
add(cBBasket);
add(bTNSave);

lNama.setBounds(10,10,120,20);
fNama.setBounds(130,10,150,20);
lJnsKlmn.setBounds(10,35,120,20);
rBPria.setBounds(130,35,100,20);
rBWanita.setBounds(230,35,120,20);
lAgama.setBounds(10,60,150,20);
cMBAgama.setBounds(130,60,120,20);
lHobby.setBounds(10,85,120,20);
cBSepakBola.setBounds(130,85,100,20);
cBBasket.setBounds(230,85,150,20);
bTNSave.setBounds(10,130,120,20);
fNama.setBounds(130,10,150,20);
setVisible(true);
}
}

class ObjekGUI {
public static void main(String []args) {
GUI G = new GUI();
}
}




Pertemuan 7 JAVA GUI

(GUI)

Graphic User Interface (GUI) adalah suatu aplikasi dalam java yang berbasis grafk. GUI membuat hasil dari suatu program tampak menarik dan nyaman ketika digunakan oleh para user serta kemudahan penggunaan program. Java menyediakan tiga kelas untuk GUI, yaitu AWT (Abstract Windowing Tolkit), SWT(Standart widget toolkit) dan swing.

Contoh :
1. 
import java.awt.*;
public class cthAWT1{
public static void main(String [] args) {
                Frame myFrame = new Frame ("contoh program AWT");
                Label myLabel = new Label ("Selamat belajar JAVA");
                myFrame.add(myLabel);
                myFrame.setSize(200,150);
                myFrame.show();
}
}
Output :

2. 
import java.awt.*;
class frameTurunan extends Frame {
Label myLabel = new Label("Selamat belajar JAVA!");
public frameTurunan(String judul){
setTitle (judul);
setSize(200,200);
add(myLabel);
show();
}
}
public class cthAWT2{
public static void main (String[] args){
frameTurunan f = new frameTurunan("In Frame Turunan");
}
}
Output :

3.
import javax.swing.*;
public class cthSwing1{
public static void main(String[] args){
JFrame myFrame = new JFrame("contoh progam Swing");
JLabel myLabel = new JLabel("selamat belajar JAVA");
myFrame.add(myLabel);
myFrame.setSize(200,150);
myFrame.setVisible(true);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Output :

4.import javax.swing.*;
class frameTurunan extends JFrame {
JLabel myLabel = new JLabel("Selamat Belajar JAVA!");
public frameTurunan(String judul){
setTitle (judul);
setSize(200,200);
add(myLabel);
setVisible(true);
}
}
public class cthSwing2{
public static void main (String[]args){
frameTurunan f = new frameTurunan ("Ini Frame Turunan");
}
}

Output:

Java ialah aplikasi yang berguna dengan user, dengan menggunakan tampilan berbasis grafik agar terlihat lebih menarik. contohnya : fb, orang lebih banyak menggunakan sosial media Fb karena fitur lengkap dan tampilan yang lebih menarik user.

Jumat, 15 Maret 2019

Pertemuan 6. OVERLOADING, OVERRIDING DAN EXCEPTION

OVERLOADING, OVERRIDING DAN EXCEPTION
A.    OVERLOADING
Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu nama method untuk beberapaa method yang memiliki parameter masukan yang berbeda (tipe maupun jumlah parameter).
B.     OVERRIDING
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Ada dua alasan dilakukanya Overriding :
1.      Mendefinisikan kembali method kelas induk scara total.
2.      Menambahkan behaviour tertentu pada method kelas induk.

C.     EXCEPTION
Exception merupakan objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah objek exception dibuat oleh java, objek tersebut dikirimkan ke program, proses ini disebut throwing an exception. Penanganan exception dalam java dibuat dengan menuliskan kode program ecxception handling pada source kode, yang berguna untuk mencegah program menjadi “hang”.  Kode program exception handling terdiri dari 3 bagian yaitu : try, cacth dan finally.
Kategori error dalamprogram :
1.      Syntax error : Error yang terjadi apabila java compiler menemukan kesalahan pada syntax.
2.      Runtime error : Error yang terjadi karena faktor eksternal, se[perti adanya pembagian denagan nol, input yang tidak sesuai dengan type yang dimainta.

3.      Logic error : Error karena kesalahan pemrograman. Seperti hasil pembagia dua buah bilangan diberi type data int. Ini akan menyebabkan hasil tidak valid karena ada bagian koma desimal yang akan hilang.

A.     MEMBUAT PROGRAM SegiTiga.java
class SegiTiga {
public SegiTiga (double panjang) {
System.out.println("\nVariabel = segitiganya sama sisi");
System.out.println ("Panjang = " +panjang);
keliling (panjang);
}
public SegiTiga (double panjang, double sisiMiring) {
System.out.println ("\n2Variable = segitiganya sama kaki");
System.out.println ("panjang = " +panjang+ " sisi miring = " +sisiMiring);
keliling(panjang, sisiMiring);
}
public void keliling (double panjang) {
tampilkanHasil(panjang*3);
}
public void keliling(double p, double sM) {
tampilkanHasil (2*sM+p);
}
protected void tampilkanHasil(double h) {
System.out.println("Hasil =" +h);
}
}

B.   MEMBUAT PROGRAM MainSegita.java
class MainSegiTiga {
public static void main (String[] args) {
new SegiTiga(7);
new SegiTiga(4,7);
}
}

OUTPUT :

 C..    MEMBUAT PROGRAM OverRiding.java
class OverRiding {
public void MethodAsli() {
System.out.println("Method milik class OverRiding dijalankan");
}
public static void main(String[] args) {
OverRiding o = new OverRiding();
o.MethodAsli();
}
}


 D.    MEMBUAT PROGRAM SubOverriding.java
class SubOverRiding extends OverRiding {
public void methodAsli(){
System.out.println("Method yang sudah OverRiding dijalankan");
}
public void MethodAsliSuper(){
System.out.println("Method pemanggil MethodAsli dijalankan");
super.MethodAsli();
}
public static void main (String[] args){
SubOverRiding SO = new SubOverRiding();
SO.MethodAsli();
SO.MethodAsliSuper();
}
}

OUTPUT :

 E.    MEMBUAT PROGRAM TanpaException.java
class TanpaException {
public static void main(String[] args) {
int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " +Nilai);
}
}


F.    MEMBUAT PROGRAM CobaException.java
class CobaException {
public static void main (String [] args) {
int nilai = 0;
try {

int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang diimasukkan  " +Nilai);
}
catch(Exception e) {
System.out.println("Pasti yang diinput bukan Integer");
}
finally {
System.out.println("Blok finally tetap dilakukan");
}
}
}

G.    MEMBUAT PROGRAM PembagianNol.java
class PembagianNol{
public static void main (String [] args) {
System.out.println("Sebelum pembagian");
try {
System.out.println (5/0);
}
catch (Throwable T) {
System.out.println ("Terjadi pembagian nol");
}
System.out.println("Sesudah pembagian");
}
}

OUTPUT :

H.    MEMBUAT PROGRAM TesInputData.java
import java.io.*;
class TesInputData {
public static void main (String[] args) {
BufferedReader BR = new BufferedReader (new InputStreamReader (System.in));
String Input = " ";
try {
System.out.println ("Masukkan data : ");
Input = "Salah";
}
finally {
System.out.println ("Data yang anda masukkan adalah "+Input);
}
}
}

Kesimpulan :
*Overloading bisa memiliki nama method yang sama dalam satu kelas, sedangkan Overriding memiliki nama method yang sama tapi berbeda kelasnya. Yang membedakan hanya pada jumlah parameternya.