java 22
Post on 10-Apr-2015
117 Views
Preview:
TRANSCRIPT
LAPORAN PRAKTIKUM
BAHASA PEMOGRAMAN VISUAL
Vika Noviandari
208533414703
Off. D
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK INFORMATIKA
NOVEMBER 2009
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
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
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
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
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
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
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
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
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
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
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
// 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
}
});
}
}
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
} 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
31
top related