Posts Tagged Netbeans

Dynamic Menu dengan Richfaces dan JSF 2

Beberapa waktu yang lalu, penulis dihadapkan dengan pembuatan dynamic menu untuk aplikasi web Project Akhir dari kampus. Butuh beberapa jam buat nyari tutorial mengenai pembuatan menu tersebut dengan menggunakan Richfaces. Dan setelah melalui beberapa jam, akhirnya tutorialnya ketemu. Untung aja ada mbah google. 😀

Menu dynamic yang digunakan pada aplikasi Project Akhir tersebut menggunakan rich:panelMenu. Karena menu yang terdapat di Project Akhir terlalu panjang, maka yang ditampilkan di sini adalah contoh sederhana aja.

Yang dibutuhkan dalam project ini :

  1. Netbeans IDE
  2. Richfaces 4
  3. Apache Tomcat
  4. JSF 2

Read the rest of this entry »

, , , , ,

Leave a comment

Kirim Email dengan JavaMail

Dengan JavaMail, temen-temen dapat melakukan pengiriman Email dengan mudah melalui program Java yang dibuat. Pengiriman Email bisa dilakukan pada program Java Desktop ataupun Java Web, asalkan terdapat library JavaMail.

Untuk aplikasi Java Web, jika temen-temen menggunakan Glassfish maka JavaMail langsung terintegrasi. Akan tetapi jika menggunakan Apache Tomcat maka library JavaMail harus disertakan dalam project.

Kali ini, saya akan membuat project yang digunakan untuk mengirim Email dengan menggunakan Account dari Google Mail (gmail.com).


package achmad.lutfi.sendemail;

import java.util.Properties;
 import javax.mail.*;
 import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;

/**
 *
 * @author New
 */
 public class SendMailSSL {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) {
 // TODO code application logic here
 Properties props = new Properties();
 props.put("mail.smtp.host", "smtp.gmail.com");
 props.put("mail.smtp.socketFactory.port", "465");
 props.put("mail.smtp.socketFactory.class",
 "javax.net.ssl.SSLSocketFactory");
 props.put("mail.smtp.auth", "true");
 props.put("mail.smtp.port", "465");

Session session = Session.getDefaultInstance(props,
 new javax.mail.Authenticator() {
 @Override
 protected PasswordAuthentication getPasswordAuthentication() {
 return new PasswordAuthentication("achmad","123456");
 }
 });

try {

Message message = new MimeMessage(session);
 message.setFrom(new InternetAddress("achmad@gmail.com"));
 message.setRecipients(Message.RecipientType.TO,
 InternetAddress.parse("achmadlutfi@gmail.com"));
 message.setSubject("Kirim Email dengan JavaMail");
 message.setText("Halo rek," +
 "\n\n email dengan JavaMail!");

Transport.send(message);

System.out.println("Terkirim");

} catch (MessagingException e) {
 throw new RuntimeException(e);
 }

}
 }

Sedikit sekali bukan kodenya, dengan kode diatas pengiriman email sudah dapat dilakukan.

, , ,

19 Comments

Java – Quaqua Look And Feel

Tampilan LaF Quaqua

Gambar diatas merupakan contoh tampilan program java yang diambil dari website pembuat Quaqua ( http://www.randelshofer.ch/quaqua/ ). Quaqua merupakan Look and Feel untuk Swing dengan tampilan yang mendekati dengan tampilan Apple Human Interface yang digunakan pada Mac OS X. Read the rest of this entry »

, , , , , ,

Leave a comment

Java – SwingWorker Ngambek…

Beberapa hari yang lalu ada sedikit masalah dengan penggunaan SwingWorker pada aplikasi Swing. Kendalanya mulai muncul setelah melakukan update menggunakan JDK 6 Update 23. SwingWorker pada JDK tersebut tidak berjalan sesuai yang diharapkan.

Ssaat aplikasi menjalankan lebih dari 1 SwingWorker maka proses Worker yang kedua akan menunggu sampai proses Worker yang pertama selesai. Padahal pada JDK 6 Update 17, SwingWorker dapat bekerja secara bersama-sama walaupun Worker yang dijalankan lebih dari 1.

Setelah capek-capek mencari jawaban di mbah Google, diketahui kalo pada JDK 6 dengan update sesudah Update 7 memiliki bugs seperti pada penjelasan aplikasi diatas. Dan untuk mengatasinya masalah tersebut dengan mendowngrade JDK 6 Update 23 menjadi JDK 6 Update 17 atau dengan mendownload distribusi SwingWorker yang terpisah dengan JDK. Read the rest of this entry »

, , , ,

Leave a comment

Java – Thread Pada Swing

Pada saat membuat aplikasi dengan Swing, terkadang kita menemukan permasalahan saat memberi aksi pada suatu button dan ketika button tersebut di klik / diberi aksi maka aplikasi swing terlihat hang atau tidak merespon atas aksi yang kita berikan. Tetapi sebenarnya, aksi yang kita berikan sedang diproses oleh program hanya saja proses eksekusinya membutuhkan waktu yang cukup lama sehingga aplikasi Swing terlihat hang atau tidak merespon.

Untuk membuat aplikasi swing yang kita buat tidak terlihat hang, maka kita letakkan proses – proses yang membutuhkan waktu proses yang cukup lama pada Worker Thread. Nah, apa itu Worker Thread? Apakah ada thread lainnya? Agar dapat mudah dipahami, berikut beberapa thread yang berhubungan dengan pembuatan aplikasi Swing :

  1. Initial Thread
    Thread ini akan menjalakan method main yang terdapat pada aplikasi Swing. Setelah proses pada thread ini selesai, maka akan dilanjutkan oleh Event Dispatching Thread
  2. Event Dispatching Thread / EDT
    EDT menangani aksi-aksi pada aplikasi Swing, seperti aksi button, menu, ataupun aksi lainnya.
  3. Worker Thread
    Worker Thread digunakan untuk menangani proses – proses yang membutuhkan waktu yang cukup lama. Dengan menempatkan proses pada Worker Thread maka aplikasi Swing yang kita buat akan terlihat lebih responsif dan tidak terlihat hang.

Dari thread-thread diatas, dapat disimpulkan jika kita membuat aplikasi swing sebaiknya proses-proses yang membutuhkan waktu yang cukup lama lebih baik diletakkan di Worker Thread dan proses – proses yang membutuhkan waktu singkat dapat diletakkan pada Event Dispatching Thread.

, , , ,

Leave a comment