Beberapa method untuk menangani String di Java


Setelah beberapa hari mengulik tugas Informasi dan Mulitimedia untuk bikin indexing file, akhirnya gw searching juga beberapa perintah String di Java. Secara gw belum pernah utak atik string di Java dan di bahasa lain juga jarang make. Ini beberapa method di Java untuk penanganan String yang gw ambil dari beberapa sumber. Diantaranya:

  • charAt(int index) : mengambil karakter ke index dari string (index dimulai dari 0)
  • concat(String s) : menggabungkan string s ke belakang string, sama dengan operator +
  • contains(CharSequence s) : memeriksa apakah string mengandung urutan karakter s
  • endsWith(String s) : memeriksa apakah string diakhiri dengan string s
  • equals(Object s) : memeriksa apakah string sama dengan object s (case sensitive)
  • equalsIgnoreCase(String s) memeriksa apakah string sama dengan string s (case insensitive)
  • isEmpty() : digunakan untuk mengecek apakah string kosong atau tidak
  • indexOf(String/char s) : memeriksa letak string/karakter s di dalam string
  • lastIndexOf(String/char s) : memeriksa letak string/karakter s di dalam string (dicari dari akhir string)
  • length() : banyak karakter yang membentuk string
  • replace(<old>, <new>) : digunakan untuk mengganti <old>¬†menjadi <new>
  • startsWith(String s) : memeriksa apakah string diawali dengan string s
  • substring(int n, int m) : mengambil string dimulai dari posisi ke n sampai m (karakter pertama dimulai dari posisi 0)
  • split(String s) : memotong string berdasarkan delimiter string s. Hasil pemotongan berupa array string
  • toLowerCase() : menghasilkan string dalam format huruf kecil
  • toUpperCase() : menghasilkan string dalam format huruf kapital
  • trim() : menghasilkan string yang telah dihapus spasi di depan dan di belakangnya
  • valueOf(val) : digunakan untuk konversi nilai menjadi string
Untuk programnya insya Allah segera gw unggah. Semoga membantu :)

Membuat background image pada Frame/Panel di Java


Post ini gw bwt atas request dari seseorang.. Ini mbak, buat background image di Form Java.

Pada swing di Java, tidak disediakan objek khusus untuk membuat background image, biasanya orang2 banyak menggunakan JLabel, dan mengatur di property imageicon untuk bisa membuat suatu halaman bergambar. Nah, masalahnya objek di Java tidak bisa ditimpa dengan objek lainnya, jadi kita tidak bisa meletakkan button di atas label, atau yang lainnya. Background pada frame/panel bisa kita akali dengan membuat suatu kelas baru yang nantinya kita gunakan pada kelas panel yang ingin kita isi (tampilan menu utama). Langkah-langkahnya sebagai berikut:

- Buat sebuah kelas baru, dengan nama IsiPanel.java

package gui;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
class IsiPanel extends javax.swing.JPanel {
 /**
  * @author : Fajar Saptono
 **/
    Image bgimage = null;
    IsiPanel(String namaGambar){
        if(namaGambar != null) {
            MediaTracker mt = new MediaTracker(this);
            bgimage = Toolkit.getDefaultToolkit().getImage(getClass().getResource(namaGambar));//namaGambar
            mt.addImage(bgimage, 0);
            try {
                mt.waitForAll();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if(bgimage != null) {
            int imwidth = bgimage.getWidth(null);
            int imheight = bgimage.getHeight(null);
            if((imwidth > 0) && (imheight > 0)) {
                for(int y = 0; y<getHeight(); y+=imheight) {
                    for(int x = 0; x<getWidth(); x+=imwidth) {
                        g.drawImage(bgimage, x, y, null);
                    }
                }
            }
        }
    }

- Kemudian pada konstruktor form utama, tambahkan kode berikut

setContentPane(new IsiPanel("img/bg.png"));
</span><span style="font-size:10pt;">

- Nah, kamu udah bikin kelas utama dengan background berisi gambar yang ada di path img/bg.png. Selamat mencobaJ


Koneksi Java – XML via JDOM


Nah ini gw oprek pas TA kemaren, tapi baru sempet publikasi sekarang. Waktu itu cari cara gimana supaya gw bisa koneksi ke XML pake Java. Nah dapet beberapa referensi dari internet, ternyata bisa pake parser yang namanya JDOM. Parser JDOM bisa di download di sini:

Agak repot memang, habis download kita masih harus install file library, kemudian baru bikin interface buat baca file xmlnya, tapi ada baiknya dicoba duluJ

Setelah download JDOM, import file JDOM itu ke Library. Cara importnya (melalui Netbeans) begini:

- Masuk ke propertiesnya project, seperti gambar dibawah:

Setelah masuk properties, pilih Category Libraries, kemudian pada tab Compile, tekan tombol Add Library

- Pilih Manage Libraries, kemudian pada Library Manager Tab Classpath, tekan tombol Add.

 

- Nah, tinggal pilih lokasi tempat JDOM tadi disimpan, setelah itu JDOM sudah bisa digunakan

- Sekarang buat kelas bernama FilterFileXML, dan masukkan ke dalam project anda…

 

 


import java.io.File;
import java.util.Hashtable;
import javax.swing.filechooser.FileFilter;

public class FilterFileXML extends FileFilter{
/** @author  : Fajar Saptono
 *
 */
     private static String HIDDEN_FILE = "Hidden File";
     private Hashtable saringan = null;

     public SaringBerkasXML(){
         this.saringan = new Hashtable();
         this.saringan.put("xml",this);
     }

    public boolean accept(File f) {
        if(f != null) {
            if(f.isDirectory()) {
                return true;
            }

            String ekstensi = getEkstensi(f);
            if(ekstensi != null && this.saringan.get(getEkstensi(f)) != null) {
                return true;
            };
        }
        return false;
    }

    public static String getEkstensi(File f) {
        String ext = null;
        String s = f.getName();
        int i = s.lastIndexOf('.');
        if (i > 0 && i < s.length() - 1) {
            ext = s.substring(i+1).toLowerCase();
        }
        return ext;
    }

    public String getDescription() {
        return null;
    }
}

- Setelah itu, saatnya untuk membuat dialog untuk membaca file XML. Tambahkan dulu library2 berikut pada kelas yang anda pakai :

 

import java.io.File;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

- Tambahkan atribut berikut di kelas anda.

 

private String fileXML;
private Document dokumenInput;

- Lihat File xml, untuk distandarkan buat dibaca… kalo punya gw kemaren strukturnya seperti ini

<graf>
<sisi>
<sisinya>
<id>e1</id>
<bobot>90</bobot>
<koneksi>Dalu-Dalu(1)</koneksi>
<koneksi>Ujung Batu(2)</koneksi>
</sisinya>
<simpul>
<simpulnya>
<id>DaluDalu(1)</id>
<posisi-x>2</posisi-x>
<posisi-y>5</posisi-y>
</simpulnya>
</simpul>
</graf>

- Setelah itu, tambahkan method berikut di kelas anda.

 

private void bacaFileXML () throws JDOMException, IOException {
SAXBuilder builder = new SAXBuilder();
this. dokumenInput = builder.build(new File(this.fileXML));
/*Kalo kemaren TA gw tentang Shortest Path, jadi ada sisi dan simpul..
* Nah yang ini bisa dikembangkan sendiri, tergantung dengan kasus anda
*/
this.sisi = new Hashtable<String, Sisi>();
this.simpul = new Hashtable<String, Simpul>();
Element root = this.inputDocument.getRootElement();
Element sisixml = root.getChild("sisi");
List sisixml1 = sisixml.getChildren("sisinya");
Element simpulxml = root.getChild("simpul");
List simpulxml1 = simpulxml.getChildren("simpulnya");

for(int i=0; i<simpulxml1.size();i++){
Elemen simpulSkr = (Elemen)simpulxml1.get(i);
String idSimpul = simpulSkr.getChild("id").getValue();
int x = this.delta_x + Integer.parseInt(simpulSkr.getChild("posisi-x").getValue()) * this.zoom;
int y = this.delta_y + Integer.parseInt(simpulSkr.getChild("posisi-y").getValue()) * this.zoom;
this.max_x = Math.max(x, this.max_x);
this.max_y = Math.max(y,this.max_y);
this.simpul.put(idSimpul,new Simpul(idSimpul,x,y,(int)(this.zoom*0.5),this));
}

for(int i= 0; i<sisixml1.size();i++){
Elemen sisiSkr = (Elemen)sisixml1.get(i);
String idSisi = sisiSkr.getChild("id").getValue();
int bobot = Integer.parseInt(sisiSkr.getChild("bobot").getValue());
List koneksiSisi = sisiSkr.getChildren("koneksi");
String v1 = ((Elemen)koneksiSisi.get(0)).getValue();
String v2 = ((Elemen)koneksiSisi.get(1)).getValue();
Simpul simpul1 = this.getSimpul(v1);
Simpul simpul2 = this.getSimpul(v2);

Sisi sisi = new Sisi(idSisi,bobot,simpul1,simpul2,(this.zoom/4));
simpul1.tambahSisi(sisi);
simpul2.tambahSisi(sisi);

this.sisi.put(idSisi,sisi);
}
}

 


Ikuti

Get every new post delivered to your Inbox.