Java – Vavai

Mudah Belajar Java Bersama Vavai :-)

Tips Java : Menjalankan File dengan Aplikasi Default

By • Jan 29th, 2008 • Category: Tips & Trick 16,028 views Cetak Artikel Ini Cetak Artikel Ini

Veteran Visual Basic mungkin pernah mengenal perintah ShellExecute yang berfungsi membuka atau menjalankan suatu file dengan aplikasi pembukanya. Misalnya, jika kita membuka file test1.txt, file tersebut akan secara otomatis dibuka dengan Notepad atau Wordpad sesuai dengan setting default aplikasi pembuka. Jika kita membuka file .xls, Excel akan secara otomatis membukanya. Perintah ShellExecute ini penting karena kita tidak perlu menebak dan mengingat-ingat, extension tertentu itu dibuka oleh aplikasi apa ?

Pada Java, menjalankan aplikasi dengan kondisi yang mirip biasanya menggunakan library Runtime.exec. Hanya saja, perintah yang dicontohkan biasanya menjalankan aplikasi tertentu yang biasanya memang executable application. Bagaimana jika kita menginginkan cara yang sama dengan kemampuan ShellExecute ? Mudah. Gunakan feature yang disediakan pada Java SE 6, yaitu desktop API.

Desktop API memudahkan kita membuat aplikasi yang dapat mengenali aplikasi default dari file yang kita buka. Bukan hanya membuka file, Desktop API juga dapat dimanfaatkan untuk membuka web browser maupun aplikasi email client default, selain bisa dimanfaatkan untuk edit maupun print file. Menarik bukan ?

Berikut adalah langkah-langkahnya (Saya menggunakan IDE Netbeans 6.0. Sesuaikan dengan IDE yang digunakan. Jika menggunakan Text Editor, ketikkan saja kode yang disertakan) :

  1. Buatlah sebuah Project, beri nama sesuai dengan fungsinya. Saya beri nama AppLaunchFile
  2. Tambahkan sebuah JFrame Form. Edit Titlenya agar sesuai. Tambahkan 1 buah Label, 1 buah TextField (txtNamaFile) dan 1 buah Button (btnBukaFile).
  3. Ganti caption btnBukaFile dengan nama Buka File. Ganti juga isi teks txtNamaFile dengan suatu alamat file yang sudah ada. Sebagai contoh, saya akan membuka file test.txt yang ada pada folder /home/vavai. Sesuaikan dengan nama file dan lokasi yang ada pada komputer anda.
  4. Klik kanan pada btnBukaFile, pilih Events | actionPerformed dan ketikkan kode berikut :
    private void btnBukaFileActionPerformed(java.awt.event.ActionEvent evt) {
            Desktop desktop = null;
    
            if (Desktop.isDesktopSupported()) {
                desktop = Desktop.getDesktop();
            } else {
                // Desktop not supported handling...
                JOptionPane.showMessageDialog(null, "Desktop is not supported !");
            }
            if (desktop.isSupported(Desktop.Action.OPEN)) {
                try {
                    desktop.open(new File(txtNamaFile.getText()));
                } catch (Exception ex) {
                // exception handling...can be a nullpointer, an IO or an IllegalArgumentException...
                    JOptionPane.showMessageDialog(null, ex);
                }
            } else {
                // Open file action not supported...
                JOptionPane.showMessageDialog(null, "Open file is not supported !");
            }
    }
        
  5. Lakukan import library yang diperlukan (import java.awt.Desktop; import java.io.File; import javax.swing.JOptionPane;)
  6. Jalankan aplikasi.

Contoh diatas dibuat sesederhana mungkin. Nama file yang akan dibuka ditulis secara manual menggunakan TextField. Pada aplikasi terapan, kita bisa memperoleh nama file menggunakan JFileChooser (Open Dialog) atau menggunakan teknik lain yang lebih fleksibel. Ujicoba juga bisa diperluas pada feature lain yang disediakan oleh Desktop API, seperti akses browser dan email client. Silakan merujuk pada halaman Desktop API untuk melihat contoh yang lain.

Jika digabungkan dengan tutorial sebelumnya : “Membuat file Excel – Spreadsheet”, kita dapat melakukan otomatisasi buka file setelah file report spreadsheet dibuat.

Sebagai catatan, pada Linux, library ini membutuhkan library Gnome, karenanya saya menambahkan eksepsi untuk kesalahan jika Desktop API tidak disupport.

Related Entries :

  1. Using the Desktop API in Java SE 6
  2. How to Integrated with the Desktop Class
  3. Desktop Integration in Java 6
Cetak Artikel Ini Cetak Artikel Ini

is Masim "Vavai" Sugianto, Professional IT. Tinggal di Bekasi, bekerja di Jakarta. Aktif pada Komunitas OpenSUSE Indonesia. Berminat pada dunia Open Source dan pengembangan program Java. Keseharian dapat dimonitor pada Blog Pribadi
Email this author | All posts by

6 Responses »

  1. […] Continue Reading "Tips Java : Menjalankan File dengan Aplikasi Default" […]

  2. salam kenal.
    mas kalo mau membuat aplikasi database di windows mobile itu pake database apa.? saya pake java mas.
    trim’s

  3. maturnuwun sampun maringi kulo tugas kagem PBO I.

    salam JEJE KITA

    Mariiiiiii….!

  4. Mas saya masih cupu nih pemograman javanya, tolong donk terbitin artikel pelajaran java yang masih dasar biar otak saya gampang nalarnya, oya sekalian donk kenapasih java yang udah saya compile jadi exe dengan java launcher gak bisa dijalankan di komputer selain di komputer saya padahal file main.classnya juga udah dibawa, satu laginih! kenapaya kalau saya klik kanan di jTextArea tidak keluar menu apapun?, tetapi tetap bisa melakukan copy and paste

  5. wah blognya enggak pernah di update yah

  6. salam kenal…