Feb 262013
 

Try Icon java SWT 

Assalamu’ alaikum wr wb

Beberapa waktu lama saya menulis tentang komponent untuk membuat report pada swt http://sugik.do-event.com/?p=656, Kali ini saya akan berbagi bagaimana membuat try icon pada aplikasi java swt, Langsung saja berikut souce nya

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Display display = new Display();
		final Shell shlSmsSender = new Shell(display);
		shlSmsSender.setText("SMS Sender");
		Image image = new Image(display, 16, 16);
		final Tray tray = display.getSystemTray();
		if (tray == null) {
			System.out.println("The system tray is not available");
		} else {
			final TrayItem item = new TrayItem(tray, SWT.NONE);
			item.setToolTipText("SWT TrayItem");
			item.addListener(SWT.Show, new Listener() {
				public void handleEvent(Event event) {
					System.out.println("show");
				}
			});
			item.addListener(SWT.Hide, new Listener() {
				public void handleEvent(Event event) {
					System.out.println("hide");
				}
			});
			item.addListener(SWT.Selection, new Listener() {
				public void handleEvent(Event event) {
					System.out.println("selection");
				}
			});
			item.addListener(SWT.DefaultSelection, new Listener() {
				public void handleEvent(Event event) {
					System.out.println("default selection");
				}
			});

			final Menu menu = new Menu(shlSmsSender, SWT.POP_UP);

			MenuItem misend = new MenuItem(menu, SWT.PUSH);
			misend.setText("Kirim Manual");
			misend.setImage(new Image(display, "icon/send.png"));
			misend.addListener(SWT.Selection, new Listener() {
				public void handleEvent(Event event) {
					System.out.println("selection " + event.widget);
				}
			});

			MenuItem miLog = new MenuItem(menu, SWT.PUSH);
			miLog.setText("Tampilkan Log");
			miLog.setImage(new Image(display, "icon/log.png"));
			miLog.addListener(SWT.Selection, new Listener() {
				public void handleEvent(Event event) {
					System.out.println("selection " + event.widget);
				}
			});

			MenuItem miexit = new MenuItem(menu, SWT.PUSH);
			miexit.setText("Keluar");
			miexit.setImage(new Image(display, "icon/exit.png"));
			miexit.addListener(SWT.Selection, new Listener() {
				public void handleEvent(Event event) {
					System.exit(0);
				}
			});

			menu.setDefaultItem(misend);

			item.addListener(SWT.MenuDetect, new Listener() {
				public void handleEvent(Event event) {
					menu.setVisible(true);
				}
			});
			item.setImage(new Image(display, "icon/hp.png"));
		}
		// shell.setBounds(50, 50, 300, 200);
		// shell.open();
		while (!shlSmsSender.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		image.dispose();
		display.dispose();
	}
}

Untuk menambahkan icon anda buat folder icon di project anda dan taruh file gambar di sana.

oke selamat mencoba semoga membantu

Wassalamu’ alaikum wr wb

Nov 192012
 

Assalamu’ alaikum wr wb

Satu lagi info untuk para penggemar java programing ada sebuah editor yang lumayan ringan buat kalian kalian.

Langsung saja kalian bisa download di sini : http://www.javaeditor.org/index.php/Main_Page

Editor sudah berbasis GUI

Wassalamu’ alaikum wr wb

Nov 162012
 

Assalamu’ alaikum wr wb

swt report (T-Report)

Satu lagi sebuah project iseng yang mungkin bisa di kembangkan oleh semuanya, saya mempunyai ide untuk mencetak html sebagai report, tapi mungkinmasih banyak kekurangan.

untuk lebih detail tentang project ini silakan di download di https://bitbucket.org/mbahsomo/t-swt-report

Ini adalah hasilnya :

SWT Report

SWT Report

Wassalamu’ alaikum wr wb

Oct 252012
 

Assalamu’ alaikum wr wb

Jar To exe

Beberapa hari ini kembali lagi berkecimpung dalam pemrograman java, terutama SWT. Pada setiap kita selesai membuat sebuah aplikasi java pastilah kita akan menjadikan file tersebut menjadi jar. yang merupakan file binary dari java yang akan kita distribusikan.

Namun untuk windows kiranya kurang keren kalo tidak menjadi Aplikasi windows sendiri / exe / Execute table. Akhirnya saya teringat pada jaman dahulu saya pernah memakai exe4j untuk membuat jar menjadi exe. Tetapi kali ini saya tidak mau tergantung oleh aplikasi buatan orang, saya ingin buat sendiri ah.

Alogitmanya sebenarnya sederhana yaitu menjalankan comment java -jar aplikasi.jar, tetapi perintah itu akan di jalankan oleh program kecil saya. dengan sedikit kemampuan yang ada akhirnya tercinpta juga louncer untuk jar.

Download

Cara Penggunaan sangat mudah

  1. copykan file jar2exe ke folder yang sama dengan aplikasi yang anda buat.
  2. Rename jar2exe menjadi seperti file jar yang ada.
  3. Jalankan exenya.
Mungkin masih banyak bug dalam programkecil ini, semoga dapat di kembangkan.
Untuk source akan saya bagikan pada tutorial selanjutnya.

Wassalamu’ alaikum wr wb

Oct 082012
 

Assalamu’ alaikum wr wb

Replace char on swt (Membaatasi input keyboard dalam swt Text)

Eclipse

Terkadang kita saat membuat text input pada sebuah aplikasi kita ingin hanya membutuhakan bis diisi dengan number saja, atau mungkin bisa number atau huruf tanpa ada karakter – karakter khusus yang dapat masuk.

Dulu saya pernah membuat tutorial dengan menggunakan swing , tetapi karena pekerjaan saya sekarang sedang banyak menggunakan swt(Standart Widget Toolkit) milik dari IBM atau Eclipse. Selain tentang membaatasi text saya juga akan menunjukkan bagaimana caranya membuat class turunan dari swt widget.

Sebenarnya saya ada sedikit maslah yang mungkin ada alami juga saat membuat class turunan dari swt widget. saat kita kompile akan muncul error seperti di bawah ini :

Exception in thread “main” org.eclipse.swt.SWTException: Subclassing not allowed

Untuk menutup error pada masalah diatas tambahkan metod checkSubclass  pada class turunan yang anda buat.

Berikut adalah script untuk batasi text dan Pembuatan class turunan dari Text Widget

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;

public class TextFormat extends org.eclipse.swt.widgets.Text{
	public TextFormat(Composite parent, int style) {
		super(parent, style);
		setFormat();
	}
	@Override
	protected void checkSubclass() {
	}
	private void setFormat(){
		this.addListener(SWT.Verify, new Listener() {
			public void handleEvent(Event e) {
				String string = e.text;
				char[] chars = new char[string.length()];
				string.getChars(0, chars.length, chars, 0);
				for (int i = 0; i < chars.length; i++) {
					if (('a'<= chars[i] && chars[i] <= 'z'
							|| '0' <= chars[i] && chars[i] <= '9'
							|| 'A'<= chars[i] && chars[i] <= 'Z')==false) {
						e.doit = false;
						return;
					}
				}
			}
		});
	}
}

Oke semoga membantu dan semoga dapat di kembangkan.

Wassalamu’ alaikum wr wb

Oct 052012
 

Assalau’ alaikum wr wb

Direct Print swt (Standard Widget Toolkit)

Eclipse

Ini adalah salah satu trik pada pembuatan program java swt, kalo tutorial saya yang menggunakan swing saat melakukan print direct langsung ke LPT1, tetapi saat printer tidak menggunakan LPT1 maka kita harus menggunakan teknik lain, salah satunya adalah dengan menggunakan class Pritner.

Berikut adalah contoh penggunakan script Priter pada swt .

package coba;

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.printing.Printer;

public class CobaCetak {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Printer printer = new Printer();
	    if (printer.startJob("SWT Printing ")) {
	      Color black = printer.getSystemColor(SWT.COLOR_BLACK);
	      GC gc = new GC(printer);
	      if (printer.startPage()) {
	        gc.setForeground(black);
	        String testString = "Coba Print";
	        gc.drawString(testString, 20, 20);
	        gc.drawString(testString, 20, 120);
	        gc.drawString(testString, 20, 220);
	        gc.drawString(testString, 20, 320);
	        printer.endPage();
	      }
	      gc.dispose();
	      printer.endJob();
	    }
	    printer.dispose();
	}

}

Oke semoga script sederhana diatas dapat bermanfaat buat kitq semua.

Wassalamu’ alaikum wr wb