Senin, 24 Juni 2019

KOMPONEN - KOMPONEN SWING LANJUTAN

Pertemuan 11 :

Dasar Teori 

Swing merupakan alternatif lain untuk mengimplementasikan pemograman Wndows. Walaupun diimplementasikan berdasarkan kelas AWT,Swing tidak menggunakan komponen - komponen yang terdapat pada AWT,sehingga tampilan - tamplan komponen - komponen dalam Swing tidak tergantung pada sistem Window local.Dengan demikian tampilan grafik dari Swing untuk semua system operasi menjadi serupa.JComponen merupakn super kelas bagi sejumlah kelas,misalnya JComboBox,JLabel,JList dan JPanel dan lainnya.

LANGKAH - LANGKAH PRATIKUM          



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 dengan menggunakan JTextArea, JList dan JSpinner

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[] = {"Melawati", "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();

        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, "South");
        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. Membuat Program dengan 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 dengan menggunakan  JTabbedPane

import javax.swing.*;

class CthTabbedPane 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 dengan 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 :
         
           

JMenu

Pertemuan 10 :

Dasar Teori


Menu adalah komponen yang berbentuk grup fungsi pemproses yang berkaitan dengan fitur-fitur suatu aplikasi. Kelas JMenuBar mengimplementasikan bar yang didalamnya terdapat obyek-obyek menu yang bersifat pull down ( dapat ditekan). Kelas JMenuItem digunakan untuk menyusun item menu yang berupa teks atau label,termasuk membuat shortcut dari tombol-tombol keyboard. JMenu digunakan untuk menginstants obyek-obyek pull down menu yang akan diletakkan pada menu bar.


LANGKAH - LANGKAH PRAKTIKUM      

A. MEMBUAT PROGRAM MainMenu.java 


import java.awt.event.*;

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

class CobaMenu extends JFrame {

       JMenuBar menuBar;
       JMenu file, doc, edit, help;
      JMenuItem open, save, exit, delete, copy, paste, about;

      public CobaMenu() {

         setTitle("Menu");
         setSize(200,200);
         file = new JMenu("File");
        file.setMnemonic('F');
        doc = new JMenu("Document");
        doc.setMnemonic('D');
        edit = new JMenu("Edit");
        edit.setMnemonic('E');
        help = new JMenu("Help");
        help.setMnemonic('H');     
        open = new JMenuItem("Open");
        open.setMnemonic('O');     
        save = new JMenu("Save");
        save.setMnemonic('S');
        exit = new JMenuItem("Exit");
        exit.setMnemonic('E');
        delete = new JMenuItem("Delete");
        delete.setMnemonic('D');
        copy = new JMenuItem("Copy");
        copy.setMnemonic('C');  
        paste = new JMenuItem("Paste");
        paste.setMnemonic('P');   
        about = new JMenuItem("About");
        about.setMnemonic('A');   

        exit.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                           System.exit(0);
               }
         });
                                   setDefaultCloseOperation(EXIT_ON_CLOSE);
     setVisible(true);
    }
}

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

Output :



B. 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();
}
                         }  
     }
                }

  C. 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("DIALO");
                                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();
                                }
                }

}

D. MEMBUAT PROGRAM MainMenu.java

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

class Menu extends JFrame{
                JMenuBar menuBar;
                JMenu file, buatBaru;
                JMenuItem exit,frame,dialog,pesan;
               
                public Menu(){
                                settTitle("Menu");
                                setSize(200,200);
                                file = new JMenu("BuatBaru");
                                buatBaru = new JMenu("BuatBaru");
                                buatBaru.setMnemonic('B');
                                exit = new JMenuItem("Exit");
                                exit.setAccelerator(KeyStrke.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.setAcceleator(KeyStrokegetKeyStroke(KeyEvent.VK_P,
                                ActionEvent.CTRL_MASK));
                                menuBar = newJMenuBar() ;
                                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 :








KOMPONEN - KOMPONEN SWING LANJUTAN

Pertemuan 11 : Dasar Teori  Swing  merupakan alternatif lain untuk mengimplementasikan pemograman Wndows. Walaupun diimplementasikan ber...