Sabtu, 03 Desember 2011

Kajian 3 : Layout Manager ( border layout, flow layout, card layout, box layout, grid layout, )

1.     Border Layout     :  Membagi area menjadi lima bagian utara, selatan, barat, timur, tengah
2.    FlowLayout         :  Tata letak diatur dari kiri kanan secara default panel diset dengan layout ini
3.    GridLayout          :  Membagi letak menjadi grid berdasarkan kolom dan baris
4.    CardLayout         :  Komponen diletakkan seperti susunan kartu yang ditumpuk. Dalam satu waktu hanya ada satu kartu yang ditampikan.
5.     BoxLayout          Komponen dapat diletakkan secara horizontal dan vertikal

Kajian 2 : komponen swing ( Container, Panel, Dialog )

Container : Merupakan komponen khusus yang berguna untuk menampung komponen GUI lainya.
      Jenis - jenis container  :
      - Panel
      - Split Pane
      - Toll Bar
      - Internal Frame
      - Tabbed Pane
      - Scroll Pane
      - Dekstop Pane
      - Layered Pane

Panel  : Merupakan jenis dari swing container
Dialog : Merupakan jenis dari swing windows

Aplikasi Google Sederhana Menggunakan Java

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.awt.*;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

/**
 *
 * @author Mohhax
 */
public class My_Google extends JFrame{
    public static void main(String[]args){
        final JFrame call = new JFrame("Google");
        call.setLocationRelativeTo(null);
        call.setLayout(new FlowLayout());
        call.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        call.setSize(620,350);
        call.setResizable(false);

        JLabel google = new JLabel(new ImageIcon("src/images/Google.png"));
        final JTextField text = new JTextField(40);
        JButton search = new JButton("Search",new ImageIcon("src/images/search_.png"));
        JButton web = new JButton("Web");
        JButton images = new JButton("Images");
        JButton iklan = new JButton("Iklan");
        final JLabel message = new JLabel("Tidak ada text yang tertulis!");
       
        search.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent arg0) {
                if (text.getText().equals("")) {
                    JOptionPane.showMessageDialog(call, message, "Message", 1);
                    call.add(message);
                }else{
                    JFrame show_search = new JFrame("Search");
                    show_search.setSize(600,450);
                    show_search.setLocationRelativeTo(null);
                    final JTextPane textPane = new JTextPane();
                    final JScrollPane scrollPane = new JScrollPane();

                    show_search.add(scrollPane);
                    show_search.setVisible(true);
                }
            }

            private void connection_call(final JTextField text, final JTextPane textPane) throws MalformedURLException, IOException {
                try {
                    URL url = new URL(text.getText());
                    URLConnection con = url.openConnection();
                    InputStream is = con.getInputStream();
                    ByteArrayOutputStream os = new ByteArrayOutputStream();

                    byte[] b = new byte[10];
                    int len;
                    while ((len = is.read(b, 0, b.length)) != -1){
                        os.write(b, 0, len);
                    }

                    textPane.setText(new String(os.toByteArray()));
                } catch(MalformedURLException e){
                    JLabel message2 = new JLabel("Salah Tulis!");
                    JOptionPane.showMessageDialog(call, message2, "Message", 1);
                    call.add(message2);
                } catch(IOException e){
                    JLabel message3 = new JLabel("Salah Tulis!");
                    JOptionPane.showMessageDialog(call, message3, "Message", 0);
                    call.add(message3);
                }
            }
        });

        call.add(google);
        call.add(text);
        call.add(search);
        call.add(web);
        call.add(images);
        call.add(iklan);

        call.setVisible(true);
    }
}

Source Code Menu di Frame

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;


public class tes2 {

    public static void main (String [] agrs)    {
       
        JFrame f = new JFrame("frame");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocationRelativeTo(null);
        f.setSize(300, 300);
        f.setLayout(new FlowLayout ());
        f.setVisible(true);
       
        JMenuBar mb = new JMenuBar();
        f.setJMenuBar(mb);
       
        JMenu file = new JMenu ("File");
        mb.add(file);
       
        JMenuItem newfile = new JMenuItem ("New file");
        file.add(newfile);
        JMenuItem find = new JMenuItem ("Find");
        file.add(find);
        JMenuItem exit = new JMenuItem ("exit");
        file.add(exit);
       
        JMenu help = new JMenu ("help");
        mb.add(help);
        JMenuItem about = new JMenu ("about");
        help.add(about);
        JMenuItem readme = new JMenuItem ("readme");
        about.add(readme);
       
        JMenu search = new JMenu ("search");
        mb.add(search);
        f.setVisible(true);
    }
}

Contoh Soure Code Login di Java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
   
public class login extends JFrame implements ActionListener {
    private JLabel label1, label2;
        private JTextField txtUser;
        private JPasswordField pwdPass;
        private JButton btnLogin, btnExit, btnreset;
   
      
       
        public login() {
            super ("Login...");
   
            Container container = getContentPane();
            container.setLayout(new FlowLayout());
   
            label1 = new JLabel ("Username : ");
            label2 = new JLabel ("Password : ");
   
            txtUser = new JTextField (20);
            txtUser.setToolTipText("Input Username");
            pwdPass = new JPasswordField(20);
   
            btnLogin = new JButton ("Login");
            btnLogin.addActionListener(this);
           
            btnreset = new JButton ("reset");
            btnreset.addActionListener(this);
           
            btnExit = new JButton ("Exit");

            btnExit.addActionListener(this);
   
            container.add(label1);
            container.add(txtUser);
            container.add(label2);
            container.add(pwdPass);
            container.add(btnLogin);
            container.add(btnreset);
            container.add(btnExit);
   
            setSize (300,200);
            setVisible (true);
        }
   
        public static void main (String args[]) {
            login test = new login();
            test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
   
        private String user = "", pass = "";
        public void actionPerformed (ActionEvent e) {
            if (e.getSource() == btnLogin) {
                user = txtUser.getText();
                pass = pwdPass.getText();
                if (user.equals("test") && pass.equals("test")) ;                   
                 JOptionPane.showMessageDialog(null, "Login sukses");
                    class exitaction implements ActionListener{
                        public void actionPerformed (ActionEvent e) {
                            System.exit(0);
                        }
                           
                        }
                       
                        exit.addActionListener(new exitaction());
                       
                        }
             else {
                    JOptionPane.showMessageDialog(null, "Username and password salah");
                    txtUser.setText("");
                    pwdPass.setText("");
                    txtUser.requestFocus(true);
                    }
            } else if (e.getSource() == btnExit){
                JOptionPane.showMessageDialog(null,"Terimakasih telah menggunakan program ini");
                System.exit(0);
            }
        }
}



Contoh event di java

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;


public class event extends JFrame implements ActionListener  {

    private JLabel label1;
    private JButton button1;
    private JFrame frame1;
   
public event(){
    frame1 = new JFrame();
    frame1.setLayout(new FlowLayout());
    frame1.setSize(250, 250);
   
    button1 = new JButton("click");
    frame1.add(button1);
    button1.addActionListener(this);
    frame1.setVisible(true);
}

public static void main(String [] agrs){
    event e = new event();
    e.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
}
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(null, "sukses");   
}
}
 jika diklik tombol click akan ada aksi yang akan muncul seperti gambar dibawah ini.

Source code frame di java

public class frame {

    public static void main (String [] agrs)    {
       
        JFrame f = new JFrame("frame");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocationRelativeTo(null);
        f.setSize(300, 300);
        f.setLayout(new FlowLayout ());
        f.setVisible(true);
                    
          }
}