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();
}
}
Minggu, 04 Desember 2011
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);
}
}
Kajian 2 - Contoh Menu dengan Koneksi Internet
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class PIS1003_Mella {
public static void main(String[] args) {
final JFrame frame = new JFrame("PIS 10 03 Mella");
frame.setSize(500, 500);
frame.setLocation(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
JPanel panel = new JPanel();
JLabel label = new JLabel("URL");
final JTextField textField = new JTextField(25);
JButton button = new JButton("Search");
final JTextArea textArea = new JTextArea(20, 30);
final JScrollPane scrollPane = new JScrollPane();
scrollPane.getViewport().add(textArea);
JMenuBar menu = new JMenuBar();
JMenu file = new JMenu("file");
JMenu edit = new JMenu("Edit");
JMenu format = new JMenu("Format");
JMenu view = new JMenu("View");
JMenu help = new JMenu("Help");
menu.add(file);
menu.add(edit);
menu.add(format);
menu.add(view);
menu.add(help);
menu.setVisible(true);
JMenuItem menusetting = new JMenu("setting");
JMenuItem menusave = new JMenuItem("save");
JMenuItem menuclose = new JMenuItem("close");
JMenuItem menusetting1 = new JMenuItem("setting1");
JMenuItem menusetting2 = new JMenuItem("setting2");
JMenuItem menuundo = new JMenuItem("Undo" + " " + "ctrl+z");
JMenuItem menucut = new JMenuItem("Cut" + " " + "ctrl+x");
JMenuItem menupaste = new JMenuItem("Paste" + " " + "ctrl+v");
JMenuItem menudelete = new JMenuItem("Delete" + " " + "del");
JMenuItem menuword = new JMenuItem("Word Warp");
JMenuItem menufont = new JMenuItem("Font");
JMenuItem menustatus = new JMenuItem("Status Bar");
JMenuItem menuview = new JMenuItem("View Help");
JMenuItem menuabout = new JMenuItem("About Notepad");
menusetting.add(menusetting1);
menusetting.add(menusetting2);
file.add(menusetting);
file.addSeparator();
file.add(menusave);
file.add(menuclose);
edit.add(menuundo);
edit.add(menucut);
edit.add(menupaste);
edit.add(menudelete);
format.add(menuword);
format.add(menufont);
view.add(menustatus);
help.add(menuview);
help.add(menuabout);
file.setVisible(true);
panel.add(label);
panel.add(textField);
panel.add(button);
panel.add(scrollPane);
frame.add(panel);
frame.add(menu, BorderLayout.NORTH);
frame.setVisible(true);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
koneksi(textField, textArea);
frame.setVisible(true);
}
});
}
private static void koneksi(final JTextField tf, final JTextArea ta) {
try {
URL url = new URL(tf.getText().trim());
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);
}
ta.setText(new String(os.toByteArray()));
os.close();
is.close();
} catch (MalformedURLException e) {
JOptionPane.showMessageDialog(null, "coba lagi url", "Warning", 1);
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "coba lagi url", "Warning", 0);
}
}
}
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class PIS1003_Mella {
public static void main(String[] args) {
final JFrame frame = new JFrame("PIS 10 03 Mella");
frame.setSize(500, 500);
frame.setLocation(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
JPanel panel = new JPanel();
JLabel label = new JLabel("URL");
final JTextField textField = new JTextField(25);
JButton button = new JButton("Search");
final JTextArea textArea = new JTextArea(20, 30);
final JScrollPane scrollPane = new JScrollPane();
scrollPane.getViewport().add(textArea);
JMenuBar menu = new JMenuBar();
JMenu file = new JMenu("file");
JMenu edit = new JMenu("Edit");
JMenu format = new JMenu("Format");
JMenu view = new JMenu("View");
JMenu help = new JMenu("Help");
menu.add(file);
menu.add(edit);
menu.add(format);
menu.add(view);
menu.add(help);
menu.setVisible(true);
JMenuItem menusetting = new JMenu("setting");
JMenuItem menusave = new JMenuItem("save");
JMenuItem menuclose = new JMenuItem("close");
JMenuItem menusetting1 = new JMenuItem("setting1");
JMenuItem menusetting2 = new JMenuItem("setting2");
JMenuItem menuundo = new JMenuItem("Undo" + " " + "ctrl+z");
JMenuItem menucut = new JMenuItem("Cut" + " " + "ctrl+x");
JMenuItem menupaste = new JMenuItem("Paste" + " " + "ctrl+v");
JMenuItem menudelete = new JMenuItem("Delete" + " " + "del");
JMenuItem menuword = new JMenuItem("Word Warp");
JMenuItem menufont = new JMenuItem("Font");
JMenuItem menustatus = new JMenuItem("Status Bar");
JMenuItem menuview = new JMenuItem("View Help");
JMenuItem menuabout = new JMenuItem("About Notepad");
menusetting.add(menusetting1);
menusetting.add(menusetting2);
file.add(menusetting);
file.addSeparator();
file.add(menusave);
file.add(menuclose);
edit.add(menuundo);
edit.add(menucut);
edit.add(menupaste);
edit.add(menudelete);
format.add(menuword);
format.add(menufont);
view.add(menustatus);
help.add(menuview);
help.add(menuabout);
file.setVisible(true);
panel.add(label);
panel.add(textField);
panel.add(button);
panel.add(scrollPane);
frame.add(panel);
frame.add(menu, BorderLayout.NORTH);
frame.setVisible(true);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
koneksi(textField, textArea);
frame.setVisible(true);
}
});
}
private static void koneksi(final JTextField tf, final JTextArea ta) {
try {
URL url = new URL(tf.getText().trim());
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);
}
ta.setText(new String(os.toByteArray()));
os.close();
is.close();
} catch (MalformedURLException e) {
JOptionPane.showMessageDialog(null, "coba lagi url", "Warning", 1);
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "coba lagi url", "Warning", 0);
}
}
}
Kajian 2 - ButtonGroup
JButton Group adalah membuat multi-lingkup
pengecualian untuk satu
set
tombol.
Menciptakan satu set tombol ButtonGroup dengan objek yang sama berarti
salah satu
yang dipilh, dari
tombol-tombol tersebut akan
menonaktifkan semua
tombol
lain dalam grup.
Beikut Contoh Sintaknya :
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class buttong
extends JFrame implements ActionListener {
JRadioButton bgRed, bgBlue, bgBlack;
ButtonGroup grup1;
public buttong() {
setTitle("Demo Radio
Button");
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setLayout(
new BoxLayout(getContentPane(),
BoxLayout.Y_AXIS));
bgRed = new JRadioButton("Red");
bgBlue = new JRadioButton("Blue", false);
bgBlack = new JRadioButton("Black", false);
bgRed.setActionCommand("merah");
bgBlue.setActionCommand("biru");
bgBlack.setActionCommand("hitam");
grup1 = new ButtonGroup();
grup1.add(bgRed);
grup1.add(bgBlue);
grup1.add(bgBlack);
getContentPane().add(bgRed);
getContentPane().add(bgBlue);
getContentPane().add(bgBlack);
bgRed.addActionListener(this);
bgBlue.addActionListener(this);
bgBlack.addActionListener(this);
}
public void
actionPerformed(ActionEvent evt) {
if (bgRed.isSelected())
getContentPane().setBackground(Color.red);
else if
(evt.getActionCommand().equals("biru"))
getContentPane().setBackground(Color.blue);
else
getContentPane().setBackground(Color.black);
}
public static void main(String[] args) {
buttong demoApp = new buttong();
demoApp.setSize(250,
225);
demoApp.setVisible(true);
}
}
Langganan:
Postingan (Atom)