LAYOUT MANAGER IN JAVA
menyusun komponen berdasarkan lokasi geografis: NORTH, SOUTH, EAST, WEST, and CENTER.
Secara optional, kita dapat juga memberikan padding di antara komponen.
BorderLayout merupakan layout default untuk JWindow dan JFrame.
Karena setiap komponen diasosiasikan dengan suatu arah geografis, akibatnya layout ini hanya dapat menangani maksimal 5 komponen.
CONTOH CODING BorderLayout:
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');
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 static void main (String[]args) {
BLayout b = new BLayout();
}
}
merupakan layout manager yang simpel.
FlowLayout menyusun komponen berdasarkan ukuran default masing-masing, dengan posisi mulai dari kiri ke kanan dan dari atas ke bawah di dalam container yang digunakan.
FlowLayout dapat memiliki “row justification”: LEFT, CENTER, atau RIGHT serta “padding” horizontal/vertical.
Secara default, flow layout menggunakan justification CENTER. Artinya, semua komponen akan disimpan di posisi tengah-tengah.
FlowLayout merupakan default untuk JPanel.
CONTOH CODING FlowLayout:
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("Ichi"));
panel1.add(new JButton("Ni"));
panel1.add(new JButton("San"));
panel1.add(new JButton("Yon"));
panel1.add(new JButton("Go"));
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();
}
}
menempatkan komponen dalam bentuk “rectangular grid”. Ada 3 constructor untuk GridLayout:
GridLayout(): membuat layout dengan satu kolom per komponen.
GridLayout(int rows, int cols): membuat suatu layout berdasarkan jumlah baris dan kolom yang diinginkan.
GridLayout(int rows, int cols, int hgap, int vgap): membuat layout berdasarkan jumlah baris dan kolom yang diinginkan, serta ukuran jarak (gap) horisontal maupun vertical untuk setiap baris dan kolom tersebut.
GridLayout menempatkan komponen dengan ur utan dari kiri ke kanan dan dari atas ke bawah.
GridLayout akan memaksa setiap komponen untuk menempati space container yang kosong serta membagi rata ukuran space tersebut.
CONTOH CODING GridLayout:
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 static void main (String[]args) {
GLayout g = new GLayout();
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class penggajian extends JFrame implements ActionListener
{
private JTextField nip,nama,gapok,tunjangan,transport,total;
private JComboBox gol,status;
//untuk isi JComboBox
final String[] pgol =
{
"IA",
"IIA",
"IIIA"
};
final String[] pstatus =
{
"Nikah",
"Belum Menikah"
};
private JRadioButton staf,manager,direktur;
private JButton hitung,keluar;
public static void main(String[] args)
{
penggajian frame=new penggajian();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public penggajian()
{
setTitle("PENGGAJIAN KARYAWAN PT.BISMILLAH");
JPanel p1= new JPanel();
p1.setLayout(new GridLayout(15,2));
p1.add(new JLabel("NIP Karyawan :"));
p1.add(nip=new JTextField(3));
p1.add(new JLabel("Nama Karyawan :"));
p1.add(nama=new JTextField(3));
//untuk membuat JComboBox
p1.add(new JLabel("Golongan :"));
gol = new JComboBox();
gol.setBounds( 20, 35, 260, 20 );
p1.add( gol );
// Populate the combobox list
for( int iCtr = 0; iCtr < pgol.length; iCtr++ )
gol.addItem( pgol[iCtr] );
// untuk membuat JRadioButton
p1.add(new JLabel("Jabatan :"));
JRadioButton aa = new JRadioButton ("DIREKTUR");
JRadioButton ab = new JRadioButton ("MANAGER");
JRadioButton ac = new JRadioButton ("STAFF");
p1.add(aa);
p1.add(ab);
p1.add(ac);
this.getContentPane().add(p1);
p1.add(new JLabel("Gaji Pokok :"));
p1.add(gapok=new JTextField(3));
p1.add(new JLabel("Transport :"));
p1.add(transport=new JTextField(3));
//untuk membuat JComboBox
p1.add(new JLabel("Satus :"));
status = new JComboBox();
status.setBounds( 20, 35, 260, 20 );
p1.add( status );
// Populate the combobox list
for( int iCtr = 0; iCtr < pstatus.length; iCtr++ )
status.addItem( pstatus[iCtr] );
p1.add(new JLabel("Tunjangan :"));
p1.add(tunjangan=new JTextField(3));
p1.add(new JLabel("Total Gaji :"));
p1.add(total=new JTextField(3));
total.setEditable(false);
Dimension dim=new Dimension (400,400);
p1.setPreferredSize(dim);
JPanel p2=new JPanel();
p2.setLayout(new FlowLayout());
p2.add(hitung=new JButton("Hitung"));
p2.add(keluar=new JButton("Keluar"));
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p1,BorderLayout.CENTER);
getContentPane().add(p2,BorderLayout.SOUTH);
hitung.addActionListener(this);
keluar.addActionListener(this);
}
public void actionPerformed (ActionEvent e)
{
if (e.getSource()==hitung)
{
int gaji=(Integer.parseInt(gapok.getText().trim()));
int trans=(Integer.parseInt(transport.getText().trim()));
int tunj=(Integer.parseInt(tunjangan.getText().trim()));
int tot =gaji+trans+tunj;
total.setText(String.valueOf(tot));
}
else if(e.getSource()==keluar)
{
System.exit(0);
}
}
}
- BorderLayout
menyusun komponen berdasarkan lokasi geografis: NORTH, SOUTH, EAST, WEST, and CENTER.
Secara optional, kita dapat juga memberikan padding di antara komponen.
BorderLayout merupakan layout default untuk JWindow dan JFrame.
Karena setiap komponen diasosiasikan dengan suatu arah geografis, akibatnya layout ini hanya dapat menangani maksimal 5 komponen.
CONTOH CODING BorderLayout:
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');
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 static void main (String[]args) {
BLayout b = new BLayout();
}
}
- FlowLayout
merupakan layout manager yang simpel.
FlowLayout menyusun komponen berdasarkan ukuran default masing-masing, dengan posisi mulai dari kiri ke kanan dan dari atas ke bawah di dalam container yang digunakan.
FlowLayout dapat memiliki “row justification”: LEFT, CENTER, atau RIGHT serta “padding” horizontal/vertical.
Secara default, flow layout menggunakan justification CENTER. Artinya, semua komponen akan disimpan di posisi tengah-tengah.
FlowLayout merupakan default untuk JPanel.
CONTOH CODING FlowLayout:
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("Ichi"));
panel1.add(new JButton("Ni"));
panel1.add(new JButton("San"));
panel1.add(new JButton("Yon"));
panel1.add(new JButton("Go"));
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();
}
}
- GridLayout
menempatkan komponen dalam bentuk “rectangular grid”. Ada 3 constructor untuk GridLayout:
GridLayout(): membuat layout dengan satu kolom per komponen.
GridLayout(int rows, int cols): membuat suatu layout berdasarkan jumlah baris dan kolom yang diinginkan.
GridLayout(int rows, int cols, int hgap, int vgap): membuat layout berdasarkan jumlah baris dan kolom yang diinginkan, serta ukuran jarak (gap) horisontal maupun vertical untuk setiap baris dan kolom tersebut.
GridLayout menempatkan komponen dengan ur utan dari kiri ke kanan dan dari atas ke bawah.
GridLayout akan memaksa setiap komponen untuk menempati space container yang kosong serta membagi rata ukuran space tersebut.
CONTOH CODING GridLayout:
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 static void main (String[]args) {
GLayout g = new GLayout();
}
}
- dan ini penggajian yang menggunakan layout :
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class penggajian extends JFrame implements ActionListener
{
private JTextField nip,nama,gapok,tunjangan,transport,total;
private JComboBox gol,status;
//untuk isi JComboBox
final String[] pgol =
{
"IA",
"IIA",
"IIIA"
};
final String[] pstatus =
{
"Nikah",
"Belum Menikah"
};
private JRadioButton staf,manager,direktur;
private JButton hitung,keluar;
public static void main(String[] args)
{
penggajian frame=new penggajian();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public penggajian()
{
setTitle("PENGGAJIAN KARYAWAN PT.BISMILLAH");
JPanel p1= new JPanel();
p1.setLayout(new GridLayout(15,2));
p1.add(new JLabel("NIP Karyawan :"));
p1.add(nip=new JTextField(3));
p1.add(new JLabel("Nama Karyawan :"));
p1.add(nama=new JTextField(3));
//untuk membuat JComboBox
p1.add(new JLabel("Golongan :"));
gol = new JComboBox();
gol.setBounds( 20, 35, 260, 20 );
p1.add( gol );
// Populate the combobox list
for( int iCtr = 0; iCtr < pgol.length; iCtr++ )
gol.addItem( pgol[iCtr] );
// untuk membuat JRadioButton
p1.add(new JLabel("Jabatan :"));
JRadioButton aa = new JRadioButton ("DIREKTUR");
JRadioButton ab = new JRadioButton ("MANAGER");
JRadioButton ac = new JRadioButton ("STAFF");
p1.add(aa);
p1.add(ab);
p1.add(ac);
this.getContentPane().add(p1);
p1.add(new JLabel("Gaji Pokok :"));
p1.add(gapok=new JTextField(3));
p1.add(new JLabel("Transport :"));
p1.add(transport=new JTextField(3));
//untuk membuat JComboBox
p1.add(new JLabel("Satus :"));
status = new JComboBox();
status.setBounds( 20, 35, 260, 20 );
p1.add( status );
// Populate the combobox list
for( int iCtr = 0; iCtr < pstatus.length; iCtr++ )
status.addItem( pstatus[iCtr] );
p1.add(new JLabel("Tunjangan :"));
p1.add(tunjangan=new JTextField(3));
p1.add(new JLabel("Total Gaji :"));
p1.add(total=new JTextField(3));
total.setEditable(false);
Dimension dim=new Dimension (400,400);
p1.setPreferredSize(dim);
JPanel p2=new JPanel();
p2.setLayout(new FlowLayout());
p2.add(hitung=new JButton("Hitung"));
p2.add(keluar=new JButton("Keluar"));
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p1,BorderLayout.CENTER);
getContentPane().add(p2,BorderLayout.SOUTH);
hitung.addActionListener(this);
keluar.addActionListener(this);
}
public void actionPerformed (ActionEvent e)
{
if (e.getSource()==hitung)
{
int gaji=(Integer.parseInt(gapok.getText().trim()));
int trans=(Integer.parseInt(transport.getText().trim()));
int tunj=(Integer.parseInt(tunjangan.getText().trim()));
int tot =gaji+trans+tunj;
total.setText(String.valueOf(tot));
}
else if(e.getSource()==keluar)
{
System.exit(0);
}
}
}
Labels:
PROGRAM
Thanks for reading Contoh Program penggajian Karyawan dengan java. Please share...!
0 Comment for "Contoh Program penggajian Karyawan dengan java"
berkomentarlah dengan bijak