22
Oct
10

Java EE pada JBoss AS 6 M5

Udah pada tau JEE6 dong ya, lagi anget2nya nih, gw aja lgi autis2nya nyobain fitur2 baru nya..xixixi…

Ngomong2 soal JEE6, sampai sekarang cuma ada 1 Application Server (AS) yang support yaitu Glassfish v3. Masalah kompatibitas ga usah di raguin lagi lah, wong masih 1 vendor.. :p

nah, ada 1 AS yang bentar lgi ngikutin jejak Glassfish, yaitu JBoss AS 6. Sekarang masih Milestone 5, jadi besar kemungkinan masih ada bug. Makanya gw iseng2 ngetes Jboss buat ngukur udah sejauh mana dia support JEE6..

Continue reading ‘Java EE pada JBoss AS 6 M5′

29
Mar
09

Bubble ScreenSaver

Bagi yang terbiasa dengan lingkungan windows khususnya Vista, pasti udah ga asing banget dengan Bubble Screensaver. Itu loh yang ntar di layar muncul balon-balon. Trus mantul kalau kena sisi monitor. Nah, saya mencoba membuat screen saver itu menggunakan bahasa JAVA. Hmmm… versi sederhananya lah. Walaupun ga mirip-mirp amat, yang penting kan kita jadi tau konsep bola memantul ama Transparent Window.

bubble

bubble

Yang Transparent Windows lupain dulu. Kita coba buat bola-bola yang bisa matul aja dulu. Btw kok bisa matul ya… Perhatikan skrip di bawah :

  72: private int x,y,xC=2,yC=-2,ballSize = 100;

trus

  85: public void move(){
  86:         x+=xC;
  87:         y+=yC;
  88:         if (x<=0){
  89:             x=0;xC=2;
  90:         }
  91:         if (x>=width-ballSize){
  92:             x=width-ballSize;xC=-2;
  93:         }
  94:         if (y<=0){
  95:             y=0;yC=2;
  96:         }
  97:         if (y>=height-ballSize){
  98:             y=height-ballSize;yC=-2;
  99:         }
 100:     }

Variabel x dan y adalah posisi bola, sedangkan xC dan yC digunakan sebagai increment yang menentukan arah bola. Tepatnya xC untuk pergerakan horizontal sedangkan yC untuk vertikal. Pasti udah tau donk kalau koordinat titik 0 (0,0) di monitor kita itu berada di sudut kiri atas. Ga tau?? barusan udah saya kasih tau :P . Kalau udah tau kondisinya seperti itu, jadi untuk menggerakkan bola ke kanan atau ke kiri,kita tinggal set nilai xC ke positif atau negatif. Demikian juga yC untuk pergerakan secara vertikal. Sedangkan value xC dan yC menentukan kecepatan bola.

Nah, supaya dia bisa mantul, kita ubah nilai xC atau yC kalau posisi bola (x,y) sudah mencapai batas maksimal atau minimal dari ukuran monitor kita.

Untuk membuat Multiple ball, saya menggunakan class java.util.ArrayList. Fungsinya mirip dengan array. Untuk menyimpan objek tertentu.

Kenapa untuk frame saya memakai JWindow bukan JFrame???… Jawabannya, supaya program ini tidak muncul di taskbar. Program ini kan judulnya Screensaver, jadi kita buat seolah-olah tidak ada program yang jalan. Makanya jejak program di taskbar harus di lenyapkan. Kalau pakek JFrame, taskbarnya ga bs (atau ga tau :P ) diilangin.

Untuk ukuran frame, kita set ke ukuran maksimal monitor. Informasi ukuran layar di peroleh dengan bantuan class java.awt.Toolkit. Terus set AlwaysOnTop ke true supaya tidak ada window lain yang mengganggu keindahan program ini.

Nah sekarang Transparent Windows. Bagaimana cara membuat transparent window di JAVA?. Atau lebih tepatnya bagaimana membuat window kelihatan transparant?. Lha, kok ‘kelihatan’?. Transparent disini memang bukan transparent yang sebenarnya. Walaupun berbau penipuan, tapi emang gitu konsepnya. Program – program yang windownya transparent juga kebanyakan pake konsep ini kok. Jadi kita buat lingkungan di frame sesuai dengan lingkungan di belakangnya. Jadi sebelum program ini muncul, kita PrintScreen dulu tampilan window saat itu. yaitu dengan bantuan class java.awt.Robot (btw kok namanya robot y, ga nyambung banget dengan fungsinya…tw ah…). Kalau udah di Printscreen trus di convert ke image (BufferedImage) trus di tempelin deh di framenya. Jadi deh Window (seolah-olah) Transparent, tinggal di praktekin aja.

Program ini masih dalam pengembangan. Rencananya mo di tambahin fitur : bola mantul kalau saling bertabrakan sama efek gravitasi. Hmmm… ntar deh kalau ada waktu mo riset lagi. Sementara gini aja dulu, sekarang lagi sibuk PLA uy, jadi ga sempat buat menyalurkan hobi “programming for fun” gw T_T.

Source Code :

   1: import javax.swing.JPanel;
   2: import javax.swing.SwingUtilities;
   3: import javax.swing.JWindow;
   4: import java.util.*;
   5: import java.awt.*;
   6: import java.awt.event.*;
   7: import java.awt.image.*;
   8: import java.awt.geom.*;
   9:
  10: public class Bola extends JWindow{
  11:     private ArrayList balls = new ArrayList();
  12:     private Timer timer;
  13:     private TimerTask task;
  14:     private int counter;
  15:     private Robot robot;
  16:     private BufferedImage image;
  17:     private Dimension windowDimension;
  18:     public Bola(){
  19:         super();
  20:         windowDimension = Toolkit.getDefaultToolkit().getScreenSize();
  21:         try {
  22:             robot = new Robot();
  23:         }
  24:         catch (Exception e){
  25:             System.out.print(e.getMessage());
  26:         }
  27:         timer = new Timer();
  28:         task = new TimerTask(){
  29:             public void run(){
  30:                 if (counter%100==0 && balls.size()<=20){
  31:                     balls.add(new ball(windowDimension));
  32:                 }
  33:                 for (int i = 0;i < balls.size(); i++){
  34:                     ball b = (ball)balls.get(i);
  35:                     b.move();
  36:                 }
  37:                 counter++;
  38:                 repaint();
  39:             }
  40:         };
  41:         timer.schedule(task,0,1);
  42:         setSize(windowDimension);
  43:         setAlwaysOnTop(true);
  44:         setVisible(true);
  45:         addMouseListener(new MouseAdapter(){
  46:             public void mousePressed(MouseEvent m){
  47:                     System.exit(1);
  48:             }
  49:         });
  50:         image = robot.createScreenCapture(new Rectangle(this.getLocationOnScreen(),windowDimension));
  51:         add(new JPanel(){
  52:             public void paintComponent(Graphics g){
  53:                 Graphics2D g2 = (Graphics2D)g;
  54:                 g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
  55:                 g2.drawImage(image,0,0,null);
  56:                 for (int i = 0;i < balls.size(); i++){
  57:                     ball b = (ball)balls.get(i);
  58:                     b.draw(g2);
  59:                 }
  60:             }
  61:         });
  62:     }
  63:     public static void main(String[] args){
  64:         SwingUtilities.invokeLater(new Runnable(){
  65:             public void run(){
  66:                 new Bola();
  67:             }
  68:         });
  69:     }
  70: }
  71: class ball {
  72:     private int x,y,xC=2,yC=-2,ballSize = 100;
  73:     private Random rand;
  74:     private int width,height;
  75:     public ball(Dimension dimension){
  76:         rand = new Random();
  77:         width = (int)dimension.getWidth();
  78:         height = (int)dimension.getHeight();
  79:         x = 0;
  80:         y = rand.nextInt(height-ballSize);
  81:     }
  82:     public void draw(Graphics2D g2){
  83:         g2.drawOval(x,y,ballSize,ballSize);
  84:     }
  85:     public void move(){
  86:         x+=xC;
  87:         y+=yC;
  88:         if (x<=0){
  89:             x=0;xC=2;
  90:         }
  91:         if (x>=width-ballSize){
  92:             x=width-ballSize;xC=-2;
  93:         }
  94:         if (y<=0){
  95:             y=0;yC=2;
  96:         }
  97:         if (y>=height-ballSize){
  98:             y=height-ballSize;yC=-2;
  99:         }
 100:     }
 101: }
21
Mar
09

Optimalisasi Fitur Facebook di Firefox (v 3.xx)

Bagi anda yang fan berat Facebook, pasti mau donk kalau browser kesayangan anda (Firefox) terintegrasi langsung dengan situs tersebut. Dengan kata lain bagaimana kita tetap dapat menikmati fitur facebook tanpa membuka situsnya langsung. Lha kok bisa??… Bisa lah, dengan bantuan plug in Firefox yang namanya Facebook Toolbar, coba deh ikutin langkah di bawah.

Download plug in nya disini, trus install. Setelah selesai nginstall, ntar firefox nya bakalan minta di restart. Kalo udah, tinggal login aj…

Ada beberapa fitur bagus di Facebook Toolbar :

  • Facebook Sidebar, nampilin status teman2 kita dan bakalan otomatis ng-update. Lumayan buat pengganti Live Feed yang menghilang di Facebook versi baru.
  • Notification, ini buat pemberitahuan klo ada friend request, group, dll. Icon yang d pake persis seperti yg ad di situsnya.
  • Quick Links, Link langsung ke halaman yang berhubungan dengan account kita, misalnya : profile, home, friend, dll..

Facebook Toolbar

Facebook Toolbar

Mao makin keren lagi???…

Tambahin fitur chat facebook ke Firefox kita, yang ini g perlu install plug in apa-apa. Langkah-langkah nya :

  • Pada Firefox, tekan ctrl+shift+B
  • Bikin Bookmark baru, isi url-nya dengan :
  • http://www.facebook.com/presence/popout.php
  • Kalau Name nya terserah mo di isi apa aja. Save
  • Klik bookmark yang udah di buat tadi. Login.

Facebook Chat

Facebook Chat

Selamat ber-Facebook ria….




Follow

Get every new post delivered to your Inbox.