Program Java menentukan menunjuk lokasi gambar image dengan kelas URL
Program Java Menunjuk Lokasi Gambar Melalui Kelas URL
Kelas java.net.URL digunakan untuk menunjuk ke sumber daya (resources) seperti image, ikon atau kelas yang akan digunakan di dalam program. Kelas URL memiliki enam konstruktor. Untuk membuat obyek dari kelas URL, Anda dapat menggunakan konstruktor di bawah ini.

// Membuat obyek URL dari perwakilan string
URL(String spec)

Dengan demikian, pernyataan untuk baris nomor 13 di contoh program Java pada artikel Program Java Kelas JButton Membuat Tombol Berisi Teks Dan Ikon, dapat ditulis ulang menggunakan kelas URL sebagai berikut:

URL urlBack = new URL("c:\\filejava\\javaapp\\image\\back.png");
Icon iconBack = new ImageIcon(urlBack);
JButton tombolBack = new JButton("Back", iconBack);

Sistem operasi Microsoft Windows menggunakan “\\” untuk mengacu ke path absolut, sedangkan UNIX menggunakan “/”. Path absolut mempunyai beberapa kelemahan diantaranya tergantung platform yang digunakan dan bila lokasi file berubah tanpa disertai perubahan path, maka path tidak lagi menunjuk ke sumber daya file lagi. Untuk mengatasi permasalah ini, Anda dapat membuat obyek URL melalui meta-object kelas dengan terlebih dahulu menentukan direktori kelas dan memodifikasi CLASSPATH.

Image yang digunakan di contoh program Java tersebut dan juga untuk beberapa image lain terletak atau berada di direktori c:\filejava\javaapp\image. Sebagai contoh, c:\filejava\javaapp adalah direktori kelas (class directory). Agar Java mengetahui lokasi image di dalam file system, Anda harus memodifikasi nilai variabel CLASSPATH di kotak dialok Edit System Variable. Anda dapat menambahkan direktori kelas tersebut dengan didahului oleh tanda titik koma (;) bila nilai variabel CLASSPATH telah terisi direktori kelas lain yang berbeda.

Edit system variable di Microsoft Windows

Untuk membuat obyek URL melalui meta-object kelas, Anda dapat memodifikasi pernyataan di atas sebagai berikut:

Class metaObject = this.getClass();
URL urlBack = metaObject.getResource("image/back.png");
Icon iconBack = new ImageIcon(urlBack);
JButton tombolBack = new JButton("Back", iconBack);

Pernyataan pertama di atas menghasilkan sebuah obyek yang berisi informasi tentang kelas yang disebut dengan meta-object. Obyek tersebut merupakan obyek dari kelas java.lang.Class. Selain informasi yang berkaitan dengan kelas, obyek juga berisi metoda getResource(filename) yang dapat digunakan untuk memperoleh URL dari nama file di dalam direktori kelas (class directory).