GridBagLayout merupakan layaout manager yang sangat fleksibel. Layout
ini memampukan kita untuk memposisikan komponen relatif terhadap
komponen lainnya berdasarkan constraint tertentu. Dengan menggunakan
GridBagLayout, kita dapat menciptakan layout apapun juga, tanpa batas.
Komponen disusun pada koordinat tertentu pada sebuah grid yang disebut
“logical coordinate”, yang berarti bahwa koordinat suatu komponen
ditentukan oleh sekumpulan komponen lainnya.Baris dan kolom dari grid
tersebut bersifat “stretch” yang bergantung pada size dan constraint
yang milikinya.
Berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GridBag1 extends JFrame {
private GridBagConstraints constraints;
public GridBag1( ) {
createUserInterface();
}
private void createUserInterface(){
constraints = new GridBagConstraints( );
this.setLayout(new GridBagLayout( ));
int x, y; // for clarity
this.addGB(new JButton("North"), x = 1, y = 0);
this.addGB(new JButton("West"), x = 0, y = 1);
this.addGB(new JButton("Center"), x = 1, y = 1);
this.addGB(new JButton("East"), x = 2, y = 1);
this.addGB(new JButton("South"), x = 1, y = 2);
this.setTitle("GridBag1");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize(225, 150);
this.setLocation(200, 200);
this.setVisible(true);
}
private void addGB(Component component, int x, int y) {
constraints.gridx = x;
constraints.gridy = y;
this.add(component, constraints);
}
public static void main(String[] args) {
GridBag1 app = new GridBag1();
}
}
Minggu, 04 Desember 2011
Kajian 3 - Grid Layout
Gridlayout merupakan salah satu layout yang digunakanuntuk mengatur tata
letak pada panel. Gridlayout merupakan bagian dari library AWT. Grid
layout menempatkan komponen dalam bentuk “rectangular grid”.
berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Grid extends JFrame {
public Grid( ) {
createUserInterface();
}
private void createUserInterface(){
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(3, 2));
panel1.add(new JButton("One"));
panel1.add(new JButton("Two"));
panel1.add(new JButton("Three"));
panel1.add(new JButton("Four"));
panel1.add(new JButton("Five"));
this.add(panel1);
this.setTitle("Grid");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize(200, 200);
this.setLocation(200, 200);
this.setVisible(true);
}
public static void main(String[] args) {
Grid app = new Grid();
}
}
berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Grid extends JFrame {
public Grid( ) {
createUserInterface();
}
private void createUserInterface(){
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(3, 2));
panel1.add(new JButton("One"));
panel1.add(new JButton("Two"));
panel1.add(new JButton("Three"));
panel1.add(new JButton("Four"));
panel1.add(new JButton("Five"));
this.add(panel1);
this.setTitle("Grid");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize(200, 200);
this.setLocation(200, 200);
this.setVisible(true);
}
public static void main(String[] args) {
Grid app = new Grid();
}
}
Kajian 3 - Box Layout
Layout manager yang telah kita bahas sebelumnya merupakan bagian dari
package java.awt. Javax.swing memiliki beberapa tambahan layout manager
lagi, salah satunya adalah: BoxLayout. Layout manager ini sangat berguna
untuk membuat toolbars sederhana atau vertical button bars.Cara
kerjanya sangat sederhana yaitu menempatkan komponen dalam satu baris
atau satu kolom.
Berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Boxer extends JFrame {
public Boxer(){
createUserInterface();
}
private void createUserInterface(){
Container box = Box.createHorizontalBox( );
box.add(Box.createHorizontalGlue( ));
box.add(new JButton("In the"));
box.add(Box.createHorizontalGlue( ));
box.add(new JButton("clearing"));
box.add(Box.createHorizontalStrut(10));
box.add(new JButton("stands"));
box.add(Box.createHorizontalStrut(10));
box.add(new JButton("a"));
box.add(Box.createHorizontalGlue( ));
box.add(new JButton("boxer"));
box.add(Box.createHorizontalGlue( ));
this.add(box);
this.setTitle("Boxer");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize(250, 250);
this.setLocation(200, 200);
this.pack( );
this.setVisible(true);
}
public static void main(String[] args) {
Boxer app = new Boxer();
}
}
Berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Boxer extends JFrame {
public Boxer(){
createUserInterface();
}
private void createUserInterface(){
Container box = Box.createHorizontalBox( );
box.add(Box.createHorizontalGlue( ));
box.add(new JButton("In the"));
box.add(Box.createHorizontalGlue( ));
box.add(new JButton("clearing"));
box.add(Box.createHorizontalStrut(10));
box.add(new JButton("stands"));
box.add(Box.createHorizontalStrut(10));
box.add(new JButton("a"));
box.add(Box.createHorizontalGlue( ));
box.add(new JButton("boxer"));
box.add(Box.createHorizontalGlue( ));
this.add(box);
this.setTitle("Boxer");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize(250, 250);
this.setLocation(200, 200);
this.pack( );
this.setVisible(true);
}
public static void main(String[] args) {
Boxer app = new Boxer();
}
}
Kajian 3 - Flow LAyout
Flow layout merupakan manajer layout yang paling sederhana. Layout ini
menyusun komponen berdasarkan ukuran default masing-masing, dengan
posisi mulai dari kiri ke kanan dan dari atas kebawahdi dalam container
yang digunakan.
Berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Flow extends JFrame {
public Flow( ) {
createUserInterface();
}
private void createUserInterface(){
// FlowLayout adalah layout manager default untuk JPanel
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout()); // baris ini dapat dihapus
panel1.add(new JButton("One"));
panel1.add(new JButton("Two"));
panel1.add(new JButton("Three"));
panel1.add(new JButton("Four"));
panel1.add(new JButton("Five"));
this.add(panel1);
this.setTitle("Flow");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize(400, 75);
this.setLocation(200, 200);
this.setVisible(true);
}
public static void main(String[] args) {
Flow app = new Flow();
}
}
Berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Flow extends JFrame {
public Flow( ) {
createUserInterface();
}
private void createUserInterface(){
// FlowLayout adalah layout manager default untuk JPanel
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout()); // baris ini dapat dihapus
panel1.add(new JButton("One"));
panel1.add(new JButton("Two"));
panel1.add(new JButton("Three"));
panel1.add(new JButton("Four"));
panel1.add(new JButton("Five"));
this.add(panel1);
this.setTitle("Flow");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize(400, 75);
this.setLocation(200, 200);
this.setVisible(true);
}
public static void main(String[] args) {
Flow app = new Flow();
}
}
Kajian 3 - Card Layout
CardLayout merupakan layout manager yang mampu menciptakan efek
“tumpukan” komponen. Artinya, layout ini tidak memposisikan komponen di
lokasi-lokasi tertentu di dalam kontainer, melainkan nampilkannya satu
demi satu.
berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Card extends JPanel {
CardLayout cards = new CardLayout( );
public Card( ) {
setLayout(cards);
ActionListener listener = new ActionListener( ) {
public void actionPerformed(ActionEvent e) {
cards.next(Card.this);
}
};
JButton button;
button = new JButton("one");
button.addActionListener(listener);
add(button, "one");
button = new JButton("two");
button.addActionListener(listener);
add(button, "two");
button = new JButton("three");
button.addActionListener(listener);
add(button, "three");
}
public static void main(String[] args) {
JFrame frame = new JFrame("Card");
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize(200, 200);
frame.setLocation(200, 200);
frame.setContentPane(new Card( ));
frame.setVisible(true);
}
}
berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Card extends JPanel {
CardLayout cards = new CardLayout( );
public Card( ) {
setLayout(cards);
ActionListener listener = new ActionListener( ) {
public void actionPerformed(ActionEvent e) {
cards.next(Card.this);
}
};
JButton button;
button = new JButton("one");
button.addActionListener(listener);
add(button, "one");
button = new JButton("two");
button.addActionListener(listener);
add(button, "two");
button = new JButton("three");
button.addActionListener(listener);
add(button, "three");
}
public static void main(String[] args) {
JFrame frame = new JFrame("Card");
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize(200, 200);
frame.setLocation(200, 200);
frame.setContentPane(new Card( ));
frame.setVisible(true);
}
}
KAjian 3 - Border Layout
berikut contoh sintaknya :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BorderLayoutApp2 extends JFrame {
public BorderLayoutApp2( ) {
createUserInterface();
}
private void createUserInterface(){
this.setTitle("Border2");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize(225, 150);
this.setLocation(200, 200);
this.setVisible(true);
this.setLayout(new BorderLayout( ));
JPanel p = new JPanel( );
p.add(new JButton("North"));
this.add(p, BorderLayout.NORTH);
p = new JPanel( );
p.add(new JButton("South"));
this.add(p, BorderLayout.SOUTH);
p = new JPanel( );
p.add(new JButton("East"));
this.add(p, BorderLayout.EAST);
p = new JPanel( );
p.add(new JButton("West"));
this.add(p, BorderLayout.WEST);
p = new JPanel( );
p.add(new JButton("Center"));
this.add(p, BorderLayout.CENTER);
}
public static void main(String[] args) {
BorderLayoutApp2 app = new BorderLayoutApp2();
}
}
Kajian 4 - Mouse Even Handling
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseEventHadling extends JFrame
implements MouseListener, MouseMotionListener {
private JLabel statusBar;
public MouseEventHadling () {
super ("Mencoba Beberapa Mouse Event Handling");
statusBar = new JLabel();
getContentPane().add(statusBar,BorderLayout.SOUTH);
addMouseListener (this);
addMouseMotionListener (this);
setSize (300,100);
setLocationRelativeTo(null);
setVisible(true);
}
//MouseListener event handler
public void mouseClicked (MouseEvent e) {
statusBar.setText("Clicked at ["+ e.getX() + "," + e.getY() + "]");
}
public void mousePressed (MouseEvent e) {
statusBar.setText("Pressed at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseReleased (MouseEvent e) {
statusBar.setText("Released at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseEntered (MouseEvent e) {
statusBar.setText("Entered at ["+ e.getX() + "," + e.getY() + "]");
getContentPane().setBackground(Color.GREEN);
}
public void mouseExited (MouseEvent e) {
statusBar.setText("Mouse outside window");
getContentPane().setBackground(Color.WHITE);
}
//MouseMotionListener event handler
public void mouseDragged (MouseEvent e) {
statusBar.setText("Dragged at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseMoved (MouseEvent e) {
statusBar.setText("Moved at ["+ e.getX() + "," + e.getY() + "]");
}
public static void main (String args[]) {
MouseEventHadling test = new MouseEventHadling();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import java.awt.event.*;
import javax.swing.*;
public class MouseEventHadling extends JFrame
implements MouseListener, MouseMotionListener {
private JLabel statusBar;
public MouseEventHadling () {
super ("Mencoba Beberapa Mouse Event Handling");
statusBar = new JLabel();
getContentPane().add(statusBar,BorderLayout.SOUTH);
addMouseListener (this);
addMouseMotionListener (this);
setSize (300,100);
setLocationRelativeTo(null);
setVisible(true);
}
//MouseListener event handler
public void mouseClicked (MouseEvent e) {
statusBar.setText("Clicked at ["+ e.getX() + "," + e.getY() + "]");
}
public void mousePressed (MouseEvent e) {
statusBar.setText("Pressed at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseReleased (MouseEvent e) {
statusBar.setText("Released at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseEntered (MouseEvent e) {
statusBar.setText("Entered at ["+ e.getX() + "," + e.getY() + "]");
getContentPane().setBackground(Color.GREEN);
}
public void mouseExited (MouseEvent e) {
statusBar.setText("Mouse outside window");
getContentPane().setBackground(Color.WHITE);
}
//MouseMotionListener event handler
public void mouseDragged (MouseEvent e) {
statusBar.setText("Dragged at ["+ e.getX() + "," + e.getY() + "]");
}
public void mouseMoved (MouseEvent e) {
statusBar.setText("Moved at ["+ e.getX() + "," + e.getY() + "]");
}
public static void main (String args[]) {
MouseEventHadling test = new MouseEventHadling();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Langganan:
Postingan (Atom)
