2016-05-31
Badiyanto, S.Kom, M.Kom
Sesi 5
Chooser Dialog, Kontrol Proses
Kode MK :
TI50UT
Revisi Terakhir :
2016
Tujuan Intruksional Mampu
menggunakan komponen JChooser dialog untuk memilih file text, file gambar dan pemilihan warna
2
1
2016-05-31
Sub Pokok Bahasan JFileChooser JColorChooser JProgressbar, JSlider
3
JFileChooser Kelas JFileChooser adalah komponen yang menyediakan mekanisme sederhana bagi pengguna untuk memilih file dengan kotak dialog. Component pallete
4
2
2016-05-31
JFileChooser Constructor
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
JFileChooser
Methode
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) ◦ Muncul dialog pemilih file kustom dengan mengarahkan tombol.
6
3
2016-05-31
JFileChooser Methode
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
Contoh:
8
4
2016-05-31
Kelas FileTypeFilter import java.io.File; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; public class FileTypeFilter extends FileFilter{ private String ekstensi; private String deskripsi; public FileTypeFilter(String eks, String desk) { this.ekstensi = eks; this.deskripsi = desk; } public boolean accept(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(); } …. } 10
5
2016-05-31
private void btnBukaActionPerformed(java.awt.event.ActionEvent evt) { FileFilter docFilter = 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(); } } 12
6
2016-05-31
13
JColorChooser
Kelas JColorChooser menyediakan panel kontrol yang dirancang untuk memungkinkan pengguna untuk memanipulasi dan memilih warna. Masuk dalam Other Component Komponent Pallete
14
7
2016-05-31
JColorChooser Constructor • 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 15
JColorChooser Methode
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. 16
8
2016-05-31
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); } } 18
9
2016-05-31
Hasil
jColorChooser1.showDialog(this,"Pilih Warna",inisialWarna);
19
JProgressBar Kelas JProgressBar adalah komponen untuk menampilkan lama proses dalam bentuk grafis. Komponent pallete:
20
10
2016-05-31
JProgressBar Constructor
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
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() ◦ Mengembalikan nilai properti stringPainted. 22
11
2016-05-31
contoh
23
Kode Program package per5; /** * * @author badi */ public class NewJFrame4 extends javax.swing.JFrame { int posisi; /** * Creates new form NewJFrame4 */ public NewJFrame4() { initComponents(); } ……………………….. } 24
12
2016-05-31
inisialisasi Event->Windows->windowOpened private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: posisi=0; tfIsiProgress.setText(""+posisi); }
Menentukan posisi awal nilai progressBar mulai 0
25
Klik Tombol private void btnKurangActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: posisi=posisi-1;
Jika user klik posisi dikurangi 1
if (posisi
}
Menggambar progress sesuai nilai posisi 26
13
2016-05-31
Klik Tombol private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) { posisi=posisi+1; if (posisi>pbProses.getMaximum()) Jika user klik posisi ditambah 1 { pbProses.setValue(pbProses.getMaximum()); posisi=pbProses.getMaximum(); return; } pbProses.setValue(posisi); jika posisi>0 berhenti, tfIsiProgress.setText(""+posisi); tampilkan nilai max
} Menggambar progress seuai nilai posisi 27
hasil
28
14
2016-05-31
Contoh Menggunakan Timmer
29
Import Klas package per5; import javax.swing.Timer; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
Untuk mencatat waktu yang berjalan selang tertentu
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(); } } } } 30
15
2016-05-31
Inisialisasi waktu private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: timer = new Timer(500,new Progres() ); }
Menciptakan objek Timer dengan selang waktu tunggu 500 mili detik
31
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(); }
32
16
2016-05-31
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 Constructor
JSlider()
JSlider (int orientation)
◦ Membuat slider horisontal dengan kisaran 0-100 dan nilai awal 50. ◦ 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)
JSlider (int orientation , int min, int max, nilai int)
◦ Membuat slider horizontal menggunakan min ditentukan, max dan nilai. ◦ Menciptakan sebuah slider dengan:
orientasi menyatakan arah slider dapat diisi JSlider.VERTICAL atau JSlider.HOZONTAL) min menyatakan nilai terkecil yang ditentukan oleh slider max menyatakan nilai terbesar yang ditentukan oleh slider nilai menyatakan posisi awal slider.
34
17
2016-05-31
JSlider Methode
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
JSlider Methode
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. 36
18
2016-05-31
Pengaturan lewat properties
37
atau
38
19
2016-05-31
Variasi penggunaan Membalik nilai
V E R T I C A L
39
Contoh Event geser sldAngkaStateChanged()
tfMin.setText(""+sldAngka.getMinimum())
tfMaks.setText(""+sldAngka.getMaximum()) ;
tfAwalTrak.setText(""+sldAngka.getValue())
40
20
2016-05-31
Contoh/Latihan:
41
21