Kode MK : Revisi Terakhir :
Sesi 5
Chooser Dialog, Kontrol Proses
TI50UT 2016
Badiyanto, S.Kom, M.Kom
Tujuan Intruksional
Mampu menggunakan komponen
JChooser dialog untuk memilih file text,
file gambar dan pemilihan warna
Sub Pokok Bahasan
JFileChooser
JColorChooser
JProgressbar,
JSlider
3JFileChooser
Kelas JFileChooser adalah komponen yang
menyediakan mekanisme sederhana bagi
pengguna untuk memilih file dengan kotak
dialog.
JFileChooser
JFileChooser
()
◦
Menciptakan JFileChooser untuk menunjuk
direktori default.
JFileChooser
(
File
currentDirectory)
◦
Menciptakan sebuah JFileChooser menggunakan
path dan File.
JFileChooser(String currentDirectoryPath)
◦
sebuah JFileChooser menggunakan path yang
diberikan.
5
Constructor
JFileChooser
boolean accept(File f)
◦
Mengembalikan nilai true jika file harus
ditampilkan.
void addChoosableFileFilter(FileFilter filter)
◦
menambahkan filter file tertentu ke daftar pilihan
file.
int showDialog(Component parent, String
approveButtonText)
JFileChooser
void setSelectedFile(File file)
◦
Mengatur file yang dipilih.
int showSaveDialog(Component parent)
◦
Mengatur file yang dipilih.
int showOpenDialog(Component parent)
◦
Muncul sebuah dialog "Open File“ untuk
pemilih file.
void setFileFilter(FileFilter filter)
◦
Mengatur file filter saat ini.
7
Methode
Kelas
FileTypeFilter
import java.io.File;import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; public class FileTypeFilterextends FileFilter{
private String ekstensi; private String deskripsi;
public FileTypeFilter(String eks, String desk) { this.ekstensi = eks;
this.deskripsi = desk; }
public booleanaccept(File file) { if (file.isDirectory()) {
return true; }
return file.getName().endsWith(ekstensi); }
public String getDescription() {
return deskripsi + String.format(" (*%s)", ekstensi); } } 9
Contoh:
import java.io.*;
import java.lang.*;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.io.BufferedReader;
public class NewJFrame6 extends javax.swing.JFrame {
File
file
;
public NewJFrame6() {
initComponents();
}
….
}
private void btnBukaActionPerformed(java.awt.event.ActionEvent evt) { FileFilterdocFilter= new FileTypeFilter(".java", "Java File");
fcEditor.addChoosableFileFilter(docFilter); int returnVal = fcEditor.showOpenDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION) file = fcEditor.getSelectedFile();
try{
BufferedReader in = new BufferedReader(new FileReader(file)); String line = in.readLine();
while(line != null){
taEditor.append(line + "\n"); line = in.readLine(); }
} catch (IOException ex) { ex.getStackTrace() } this.setTitle(file.getAbsolutePath());
}
11
private void btnSimpanActionPerformed(
java.awt.event.ActionEvent evt) {
fcEditor.setDialogTitle("Simpan ke File");
int returnVal =
fcEditor.showSaveDialog
(this);
if(returnVal == JFileChooser.APPROVE_OPTION){
try
{
String s=taEditor.getText();
BufferedWriter file = new BufferedWriter(
new FileWriter(fcEditor.getSelectedFile()));
file.write(s);
file.close();
} catch (IOException ex) {
ex.getStackTrace();
}
13
JColorChooser
Kelas JColorChooser menyediakan panel kontrol
yang dirancang untuk memungkinkan pengguna
untuk memanipulasi dan memilih warna.
Masuk dalam Other Component
Komponent Pallete
JColorChooser
Constructor
15
•
JColorChooser()
•
Menciptakan panel warna pemilih dengan warna
awal putih.
•
JColorChooser(Color initialColor)
•
Menciptakan panel warna pemilih dengan warna
awal yang ditentukan
.
•
JColorChooser(ColorSelectionModel model)
•
Menciptakan panel warna pemilih dengan warna
awal spesifik
JColorChooser
void addChooserPanel(
AbstractColorChooserPanel panel)
Menambahkan panel warna pemilih dengan pemilih warna.
Color getColor()
◦
Mendapat nilai warna saat dari pemilih warna.
void setColor(Color color)
Mengatur warna saat ini pemilih warna untuk warna
tertentu.
void setColor(int c)
◦
Mengatur warna saat ini pemilih warna untuk warna
tertentu.
Contoh
17
Tombol Pilih warna
import java.awt.*;
public class NewJFrame4 extends javax.swing.JFrame { public NewJFrame4() {
initComponents(); }
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Color inisialWarna=null;
Color warna = jColorChooser1.showDialog(this,"Pilih Warna",inisialWarna); jPanel1.setBackground(warna);
} }
Hasil
19
jColorChooser1.showDialog(this,"Pilih Warna",inisialWarna);
JProgressBar
Kelas JProgressBar adalah komponen
untuk menampilkan lama proses dalam
bentuk grafis.
JProgressBar
JProgressBar()
◦
Menciptakan progress bar horizontal yang menampilkan
kosongan.
JProgressBar(BoundedRangeModel newModel)
◦
Menciptakan progress bar horizontal yang menggunakan
model tertentu untuk menyimpan data posisi bar.
JProgressBar(int min, int max)
◦
Menciptakan progress bar horisontal dengan minimum yang
ditentukan dan maksimal.
JProgressBar(int orient, int min, int max)
◦
Menciptakan progress bar menggunakan orientasi,
menentukan minimum, dan maksimum .
21
Constructor
ProgressBar
int getMaximum()
◦
Mengembalikan nilai maksimum posisi bar.
int getMinimum()
◦
Mengembalikan nilai minimum posisi bar dari.
int getValue()
◦
Mengembalikan nilai posisi saat ini bar dari.
boolean isStringPainted()
contoh
23Kode Program
package per5; /** * * @author badi */public class NewJFrame4 extends javax.swing.JFrame {
int posisi;
/**
* Creates new form NewJFrame4 */ public NewJFrame4() { initComponents(); } ……….. }
inisialisasi
private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here:
posisi=0;
tfIsiProgress.setText(""+posisi);
}
25
Event->Windows->windowOpened
Menentukan posisi awal nilai progressBar mulai 0
Klik Tombol
private void btnKurangActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
posisi=posisi-1; if (posisi<pbProses.getMinimum()) { pbProses.setValue(pbProses.getMinimum()); posisi=pbProses.getMinimum(); return; } pbProses.setValue(posisi); tfIsiProgress.setText(""+ posisi);
}
Jika user klik posisi dikurangi 1
jika posisi<0 berhenti, tampilkan nilai minimum
Klik Tombol
private void btnTambahActionPerformed(java.awt.event.ActionEvent
evt) {
posisi=posisi+1; if (posisi>pbProses.getMaximum()) { pbProses.setValue(pbProses.getMaximum()); posisi=pbProses.getMaximum(); return; } pbProses.setValue(posisi); tfIsiProgress.setText(""+posisi);}
27 Jika user klik posisi ditambah 1jika posisi>0 berhenti, tampilkan nilai max
Menggambar progress seuai nilai posisi
Contoh Menggunakan Timmer
29Import Klas
package per5; import javax.swing.Timer; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class NewJFrame5 extends javax.swing.JFrame { public NewJFrame5() {
initComponents(); }
public class Progres implements ActionListener{
public void actionPerformed(ActionEvent evt){ int n=pbProses.getValue(); if (n<=100){ n++; pbProses.setValue(n); } else{ timer.stop(); }
Untuk mencatat waktu yang berjalan selang tertentu
Inisialisasi waktu
private void formWindowOpened(java.awt.event.WindowEvent
evt) {
// TODO add your handling code here:
timer = new Timer(500,new Progres() );
}
31 Menciptakan objek Timer dengan selang waktu tunggu 500 mili detik
Mengklik Tombol
private void btnStartActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
timer.start();
}
Mengklik Tombol
private void btnStopActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
timer.stop();
JSlider
JsSider komponen yang memungkinkan
penggunan mengatur nilai dengan tombol
geser dalam suatu interval dibatasi.
Slider dapat menunjukkan kedua tanda yang
mewakili nilai
Jumlah nilai antara tanda dikendalikan oleh
methode setMajorTickSpacing dan
setMinorTickSpacing
Komponen pallete
33
JSlider
JSlider()
◦ Membuat slider horisontal dengan kisaran 0-100 dan nilai awal 50.
JSlider (int orientation)
◦ Membuat slider menggunakan orientasi ditentukan dengan kisaran 0-100 dan nilai awal 50.
JSlider (int min, int max)
◦ Membuat slider horizontalmenggunakan min dan max ditentukan dengan nilai awal samadengan rata-rata min max plus.
JSlider (int min, int max, nilai int)
◦ Membuat slider horizontal menggunakan min ditentukan, max dan nilai.
JSlider (int orientation , int min, int max, nilai int)
◦ Menciptakan sebuah slider dengan:
JSlider
int getMajorTickSpacing ()
◦ Metode ini mengembalikan jarak tick utama
int getMaximum ()
◦ Mengembalikan nilai maksimumyang didukung oleh slider
int getMinorTickSpacing ()
mengembalikan jarak kecil.
int getValue()
◦ Mengembalikan nilai posisi slider
void setMaximum (int maksimum )
◦ Mengatur mengatur memberikan nilai maksimum
void setMinimum (int minimal )
◦ Mengatur mengatur memberikan nilai minimum
35
Methode
JSlider
void setOrientation (intorientation)
◦ mengatur orientasi scrollbars baik HORIZONTAL atau VERTICAL.
void setPaintLabels (boolean b)
◦ Menentukan jika true label ditampilkan, jika false label tidak ditampilkan
void setPaintTicks (boolean b)
◦ Menentukan apakah tanda centang ditampilkan atau tidak pada slider.
void setValue (int n)
◦ Mengatur posisi dan nilai slider saat ini.
Methode
Pengaturan lewat properties
37