java 22

35
LAPORAN PRAKTIKUM BAHASA PEMOGRAMAN VISUAL Vika Noviandari 208533414703 Off. D UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK

Upload: pikachu

Post on 10-Apr-2015

117 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Java 22

LAPORAN PRAKTIKUM

BAHASA PEMOGRAMAN VISUAL

Vika Noviandari

208533414703

Off. D

UNIVERSITAS NEGERI MALANG

FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

S1 PENDIDIKAN TEKNIK INFORMATIKA

NOVEMBER 2009

Page 2: Java 22

LABORATORIUM KOMPUTER

Fakultas Teknik Elektro - Universitas Negeri Malang

Jl.Surabaya G4 Lantai 2,Malang, Jawa Timur

Nama Vika Noviandari

Nim 208533414703

Prodi S1 Pend. Teknik Informatika

Asisten percobaan Devid Harya Lesmana Wahid

Tanda Tangan Asisten Percobaan(Acc,Tgl....../Bln....../Tahun………)

Asisten laporan percobaan

Tanda Tangan Asisten Laporan Percobaan(Acc,Tgl……../Bln……./Tahun……..)

2

APLIKASI JAVA SWING

Page 3: Java 22

LABORATORIUM KOMPUTER

Fakultas Teknik Elektro - Universitas Negeri Malang

Jl.Surabaya G4 Lantai 2,Malang, Jawa Timur

LEMBAR CATATAN PERCOBAAN

Nama : Vika Noviandari

NIM / Off : 208533414703 / Off D

Prodi : S1 Pend. Informatika

No PERCOBAAN ASISTEN PERCOBAAN

ASISTEN LAPORAN

PERCOBAAN

Malang,Penanggung Jawab Mata Kuliah

Heru Wahyu Herwanto, S.T., M.KomNIP. 19710227 199702 1 001

Praktikum Ke-1

3

Page 4: Java 22

APLIKASI JAVA SWING

A. TUJUAN

a. Memahami konsep dasar aplikasi Java Swing.

b. Mampu menggunakan container dan komponen-komponen dasar Java

Swing.

c. Mampu menghasilkan aplikasi Java Swing dengan melibatkan komponen-

komponen dasar.

B. LATIHAN DAN HASIL LATIHAN ( SCRIPT DAN HASIL)

1. Script DemoEvent :

import javax.swing.*;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.FlowLayout;

public class DemoEvent extends JFrame implements ActionListener {

JButton btn;

public DemoEvent() {

super ("Demo Event - [PTI-UM]");

setLayout (new FlowLayout());

btn = new JButton ("Click Me");

add(btn);

btn.addActionListener(this);

setSize(300,150);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e) {

4

Page 5: Java 22

System.out.println("Button diklik");

}

public static void main (String[] args) {

javax.swing.SwingUtilities.invokeLater(

new Runnable() {

public void run() {

DemoEvent frm = new DemoEvent();

frm.setVisible(true);

}

});

}

}

2. Script DemoEvent2 :

import javax.swing.*;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.FlowLayout;

public class DemoEvent2 extends JFrame {

5

Page 6: Java 22

JButton btn;

public DemoEvent2() {

super("Demo Event 2 - [PTI-UM]");

setLayout (new FlowLayout());

btn = new JButton("Click Me");

add(btn);

btn.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.out.println("Button diklik");

}

});

setSize(300, 150);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(

new Runnable() {

public void run() {

DemoEvent2 frm = new DemoEvent2();

frm.setVisible(true);

}

});

}

}

6

Page 7: Java 22

3. Script DemoEvent3 :

import javax.swing.*;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.FlowLayout;

public class DemoEvent3 extends JFrame {

private JButton btn;

public DemoEvent3() {

super("Demo Event 3 - [PTI-UM]");

setLayout(new FlowLayout());

ActionListener handler = new MyHandler();

btn = new JButton("Click Me");

add(btn);

// Registrasi listener

btn.addActionListener(handler);

7

Page 8: Java 22

setDefaultCloseOperation (EXIT_ON_CLOSE);

setSize(300, 150);

}

public static void main (String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

DemoEvent3 frm = new DemoEvent3();

frm.setVisible(true);

}

});

}

// Inner class untuk menangani event

class MyHandler implements ActionListener {

public void actionPerformed(ActionEvent e) {

if (e.getSource() == btn) {

System.out.println("Button diklik");

}

}

}

}

8

Page 9: Java 22

4. Script KomponenTeks:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class KomponenTeks extends JFrame {

private JTextField txtNama;

private JPasswordField txtPass;

private JTextArea txtArea;

public KomponenTeks() {

super("Demo Komponen Teks");

JLabel lblNama = new JLabel("Nama");

JLabel lblPass = new JLabel("Password ");

JPanel lblPane = new JPanel();

lblPane.setLayout(new GridLayout(2, 1));

lblPane.add(lblNama);

lblPane.add(lblPass);

txtNama = new JTextField(15);

txtPass = new JPasswordField(15);

// Menetapkan karakter echo, defaultnya *

txtPass.setEchoChar('#');

JPanel txtPane = new JPanel();

txtPane.setLayout(new GridLayout(2, 1));

txtPane.add(txtNama);

txtPane.add(txtPass);

txtArea = new JTextArea();

JScrollPane areaPane = new JScrollPane(txtArea);

// Menetapkan ukuran scroll pane

areaPane.setPreferredSize(new Dimension(60, 60));

JPanel pane = new JPanel();

pane.setBorder(

9

Page 10: Java 22

BorderFactory.createEmptyBorder(20, 20, 20, 20));

pane.setLayout(new BorderLayout());

pane.add(lblPane, "Center");

pane.add(txtPane, "East");

pane.add(areaPane, "South");

JPanel btnPane = new JPanel();

JButton btnOk = new JButton("OK");

btnPane.add(btnOk);

btnOk.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

// Mendapatkan nilai text field dan password field

// dan mencetak di text area

txtArea.append("Nama: " + txtNama.getText() + ", ");

txtArea.append("Password: " +

String.valueOf(txtPass.getPassword()) + "\n");

}

});

add(pane, BorderLayout.NORTH);

add(btnPane, BorderLayout.CENTER);

setSize(300, 220);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

new KomponenTeks();

}

});

}

}

10

Page 11: Java 22

5. Script DemoCheckRadio:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class DemoCheckRadio extends JFrame {

JLabel lblTeks;

JCheckBox chkBold, chkItalic;

public DemoCheckRadio() {

super("Demo Check dan Radio");

JPanel radioPane = new JPanel();

ButtonGroup btnGrp = new ButtonGroup();

JRadioButton radRed = new JRadioButton("CheckBox 1");

radioPane.add(radRed);

JRadioButton radGreen = new JRadioButton ("CheckBox2");

radioPane.add(radGreen);

// Menambah radio button ke grup

btnGrp.add(radRed);

11

Page 12: Java 22

btnGrp.add(radGreen);

// Mendefinisikan listener radio button

RadioListener radListener = new RadioListener();

radRed.addActionListener(radListener);

radGreen.addActionListener(radListener);

JPanel checkPane = new JPanel();

chkBold = new JCheckBox ("Bold");

checkPane.add(chkBold);

chkItalic = new JCheckBox ("Italic");

checkPane.add(chkItalic);

// Mendefinisikan listener ke check box

CheckListener chkListener = new CheckListener();

chkBold.addItemListener(chkListener);

chkItalic.addItemListener(chkListener);

lblTeks = new JLabel ("Pilihan", SwingConstants.CENTER);

setLayout (new GridLayout (3,1));

add(radioPane);

add(lblTeks);

add(checkPane);

setDefaultCloseOperation (EXIT_ON_CLOSE);

setSize(300,150);

setVisible(true);

}

12

Page 13: Java 22

// Inner class untuk menangani event radio button

class RadioListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

lblTeks.setText(e.getActionCommand() + "dipilih");

}

}

// Inner class untuk menangani check box

class CheckListener implements ItemListener {

private int valBold = Font.PLAIN;

private int valItalic = Font.PLAIN;

//Merespon event check box

public void itemStateChanged(ItemEvent e) {

if (e.getSource() == chkBold)

valBold = chkBold.isSelected() ? Font.BOLD : Font.PLAIN;

if (e.getSource() == chkItalic)

valItalic = chkItalic.isSelected() ? Font.ITALIC : Font.PLAIN;

// Menetapkan font teks

lblTeks.setFont(new Font("Serif", valBold + valItalic, 14));

}

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable(){

public void run () {

new DemoCheckRadio();

13

Page 14: Java 22

}

});

}

}

6. Script DemoComboList:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

public class DemoComboList extends JFrame {

private JList lstColor;

private JComboBox cboColor;

final String cNames[] = {"Red", "Blue", "Green"};

final Color colors[] = {Color.RED, Color.BLUE, Color.GREEN};

public DemoComboList() {

super("Demo Combo dan List");

cboColor = new JComboBox(cNames);

cboColor.addActionListener(new ActionListener() {

// Menangani event pemilihan combo

public void actionPerformed(ActionEvent e) {

14

Page 15: Java 22

getContentPane().setBackground (

// Mengubah warna background

colors[cboColor.getSelectedIndex()]);

}

});

// Menciptakan list dengan model data seperti combobox

lstColor = new JList(cboColor.getModel());

// Menampilkan 3 item

lstColor.setVisibleRowCount(3);

// Model seleksi tunggal

lstColor.setSelectionMode(

ListSelectionModel.SINGLE_SELECTION);

lstColor.addListSelectionListener(

new ListSelectionListener() {

// Menangani event pemilihan list

public void valueChanged(ListSelectionEvent e) {

getContentPane().setBackground (

colors[lstColor.getSelectedIndex()]);

}

});

JPanel comboPane = new JPanel();

comboPane.add(cboColor);

setLayout(new FlowLayout(FlowLayout.CENTER, 20, 30));

add(comboPane);

add(new JScrollPane(lstColor));

setDefaultCloseOperation(EXIT_ON_CLOSE);

setSize(300, 150);

15

Page 16: Java 22

setVisible(true);

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

new DemoComboList();

}

});

}

}

7. Script Spinner:

import javax.swing.*;

import java.awt.*;

import javax.swing.event.*;

public class SpinnerDemo extends JFrame{

public SpinnerDemo(){

16

Page 17: Java 22

super("JSpinner");

setLayout(new GridLayout(0,2));

add(new JLabel("Basic pinner"));

//Menciptakan spinner

final JSpinner spin=new JSpinner();

add(spin);

//Mregristasi Listener untuk Spinner

spin.addChangeListener(new ChangeListener(){

public void stateChanged(ChangeEvent e){

//Mendapatkan nilai spinner

System.out.println(spin.getValue());

}

});

add(new JLabel("Date Spinner"));

SpinnerModel model= new SpinnerDateModel();

JSpinner spin2=new JSpinner (model);

add(spin2);

add(new JLabel("List Spinner"));

String str[]={"satu","Dua","Tiga"};

add(new JSpinner(new SpinnerListModel(str)));

add(new JLabel("Number Spinner"));

add(new JSpinner(new SpinnerNumberModel(0,0,100,5)));

setDefaultCloseOperation(EXIT_ON_CLOSE);

pack();

17

Page 18: Java 22

setVisible(true);

}

public static void main(String[] args){

SwingUtilities.invokeLater(new Runnable(){

public void run(){

new SpinnerDemo();

}

});

}

}

8. Script ScrollSlider:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

public class ScrollSlider extends JFrame{

public ScrollSlider(){

JPanel pnl = new JPanel(new GridLayout(2,2));

18

Page 19: Java 22

JPanel pnlScroll = new JPanel();

//MEnciptakan scroll bar horizontal, lebar tombol 10

//Nilai minim 0, nilai max 100

final JScrollBar sBar = new JScrollBar(JScrollBar.HORIZONTAL,0,10,0,100);

//Menetapkan lebar tinggi scrool bar

sBar.setPreferredSize(new Dimension(175,17));

pnlScroll.add(sBar);

pnl.add(pnlScroll);

//Menciptakan sliderbhorisontal, nilai minimum 0

//nilai maksimum 100,nilai awal 30

final JSlider slider = new JSlider(JSlider.HORIZONTAL,0,100,30);

//Nilai pergeseran max dan min

slider.setMajorTickSpacing(20);

slider.setMinorTickSpacing(10);

slider.setPaintTicks(true);

pnl.add(slider);

add(pnl,"Center");

final JLabel lbl = new JLabel("ScrollSlider");

add(lbl,"South");

sBar.addAdjustmentListener(new AdjustmentListener(){

public void adjustmentValueChanged(AdjustmentEvent e){

//mendapatkan nilai scroll bar

lbl.setText("Nilai JScrollBar : " + sBar.getValue());

}

});

slider.addChangeListener(new ChangeListener(){

19

Page 20: Java 22

public void stateChanged(ChangeEvent e){

//Mendapatkan nilai slider

lbl.setText("Nilai JSlider :" + slider.getValue());

}

});

pack();

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

new ScrollSlider();

}

});

}

};

9. Script ProgressBarDemo:

import javax.swing.*;

public class ProgressBarDemo extends JFrame {

20

Page 21: Java 22

private JProgressBar pBar;

public ProgressBarDemo() {

// Menciptakan ProgressBar dengan nilai min 0, max 100

pBar = new JProgressBar(0,100);

//Tampilkan String Progress

pBar.setStringPainted(true);

JPanel pnl = new JPanel();

pnl.add(pBar);

add(pnl, "North");

setDefaultCloseOperation(EXIT_ON_CLOSE);

pack();

setVisible(true);

//Menjalankan Task

SimpleTask st = new SimpleTask();

st.execute();

}

public static void main(String[] args){

SwingUtilities.invokeLater(new Runnable() {

public void run() {

new ProgressBarDemo();

}

});

}

class SimpleTask extends SwingWorker<Void, Void>{

//menjalankan thread di Background

21

Page 22: Java 22

public Void doInBackground(){

//LOOP berdasar nilai min dan max progress bar

for (int i=0; i<=100; i++){

try{

pBar.setValue(i);

//Misal berhenti 50 milidetik(agar proses kelihatan)

Thread.sleep(100);

} catch (InterruptedException ex) {

System.err.println(ex.getMessage());

}

}

return null;

}

public void done(){

pBar.setVisible(false);

setTitle("selesai");

}

}

}

22

Page 23: Java 22

10. Script JtabbedPaneDemo:

import javax.swing.*;

public class JTabbedPaneDemo extends JFrame {

public JTabbedPaneDemo(){

super("JTabbedPAneDemo");

//Menciptakan object JTabbedPane default (tab di atas)

JTabbedPane jtp = new JTabbedPane();

//Menambah tab sederhana (dengan komponen JLabel)

jtp.addTab("Tab1",new JLabel("Tab Satu"));

//Menambah tab dengan ikon

jtp.addTab("Tab2",new ImageIcon("Tab 2"),

new JLabel("Bola.gif"));

//Menambah tab dengan tool tip

jtp.addTab("Tab3",null,new JLabel("Tab Tiga"),

("Ini tool Tip"));

//Menambah tabbed pane ke container

add(jtp);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

setSize(200,160);

}

public static void main(String[]args){

23

Page 24: Java 22

SwingUtilities.invokeLater(new Runnable(){

public void run(){

new JTabbedPaneDemo();

}

});

}

}

TUGAS PRAKTIKUM

Script TugasPraktikum2:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

public class TugasPraktikum2 extends JPanel

implements ListSelectionListener {

24

Page 25: Java 22

private JList list;

private DefaultListModel listModel;

private static final String insertString = "Insert";

private static final String delString = "Delete";

private JButton delButton;

private JTextField ProgramList;

public TugasPraktikum2() {

super(new BorderLayout());

listModel = new DefaultListModel();

listModel.addElement("Java");

listModel.addElement("VB.NET");

listModel.addElement("Ruby");

listModel.addElement("PHP");

listModel.addElement("C++");

list = new JList(listModel);

list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

list.setSelectedIndex(0);

list.addListSelectionListener(this);

list.setVisibleRowCount(5);

JScrollPane listScrollPane = new JScrollPane(list);

JButton insertButton = new JButton(insertString);

InsertListener insertListener = new InsertListener(insertButton);

insertButton.setActionCommand(insertString);

insertButton.addActionListener(insertListener);

insertButton.setEnabled(false);

25

Page 26: Java 22

delButton = new JButton(delString);

delButton.setActionCommand(delString);

delButton.addActionListener(new DelListener());

ProgramList = new JTextField(10);

ProgramList.addActionListener(insertListener);

ProgramList.getDocument().addDocumentListener(insertListener);

String name = listModel.getElementAt(

list.getSelectedIndex()).toString();

JPanel buttonPane = new JPanel();

buttonPane.setLayout(new BoxLayout(buttonPane,

BoxLayout.LINE_AXIS));

buttonPane.add(delButton);

buttonPane.add(Box.createHorizontalStrut(5));

buttonPane.add(new JSeparator(SwingConstants.VERTICAL));

buttonPane.add(Box.createHorizontalStrut(5));

buttonPane.add(ProgramList);

buttonPane.add(insertButton);

buttonPane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));

add(listScrollPane, BorderLayout.CENTER);

add(buttonPane, BorderLayout.PAGE_END);

}

class DelListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

int index = list.getSelectedIndex();

26

Page 27: Java 22

listModel.remove(index);

int size = listModel.getSize();

if (size == 0) {

delButton.setEnabled(false);

} else {

if (index == listModel.getSize()) {

index--;

}

list.setSelectedIndex(index);

list.ensureIndexIsVisible(index);

}

}

}

class InsertListener implements ActionListener, DocumentListener {

private boolean alreadyEnabled = false;

private JButton button;

public InsertListener(JButton button) {

this.button = button;

}

public void actionPerformed(ActionEvent e) {

27

Page 28: Java 22

String name = ProgramList.getText();

if (name.equals("") || alreadyInList(name)) {

Toolkit.getDefaultToolkit().beep();

ProgramList.requestFocusInWindow();

ProgramList.selectAll();

return;

}

int index = list.getSelectedIndex();

if (index == -1) {

index = 0;

} else {

index++;

}

listModel.insertElementAt(ProgramList.getText(), index);

ProgramList.requestFocusInWindow();

ProgramList.setText("");

list.setSelectedIndex(index);

list.ensureIndexIsVisible(index);

}

protected boolean alreadyInList(String name) {

return listModel.contains(name);

}

public void insertUpdate(DocumentEvent e) {

enableButton();

}

public void removeUpdate(DocumentEvent e) {

28

Page 29: Java 22

handleEmptyTextField(e);

}

public void changedUpdate(DocumentEvent e) {

if (!handleEmptyTextField(e)) {

enableButton();

}

}

private void enableButton() {

if (!alreadyEnabled) {

button.setEnabled(true);

}

}

private boolean handleEmptyTextField(DocumentEvent e) {

if (e.getDocument().getLength() <= 0) {

button.setEnabled(false);

alreadyEnabled = false;

return true;

}

return false;

}

}

public void valueChanged(ListSelectionEvent e) {

if (e.getValueIsAdjusting() == false) {

if (list.getSelectedIndex() == -1) {

delButton.setEnabled(false);

29

Page 30: Java 22

} else {

delButton.setEnabled(true);

}

}

}

private static void createAndShowGUI() {

JFrame frame = new JFrame("TugasPraktikum2");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JComponent newContentPane = new TugasPraktikum2();

newContentPane.setOpaque(true);

frame.setContentPane(newContentPane);

frame.pack();

frame.setVisible(true);

}

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI();

}

});

}

}

30

Page 31: Java 22

31