posted Nov 5, 2011 9:31 PM by Editor KursusInternet
[
updated Nov 6, 2011 12:21 AM
]
Pendahuluan
Composite adalah class pada SWT yang digunakan sebagai container untuk widget / control dan bahkan composite lainnya. Beberapa contoh subclass dari Composite class adalah Browser, Tree, Toolbar, TabFolder, dan lain-lain.
Karena banyaknya objek yang dapat terlibat maka untuk artikel kali ini langsung menggunakan contoh dalam kode Java dan hasil eksekusinya. Diharapkan dengan pendekatan demikian, pengunjung bisa mendapatkan gambaran lengkap cara penggunaannya secara langsung.
Contoh Penggunaan
Berikut adalah contoh penggunaan class-class Composite yang melibatkan tiga file :
- CompositeTab1.java : merupakan class turunan Composite yang melibatkan group dari widget Text dan Label.
- CompositeTab2.java : merupakan class turunan Composite yang melibatkan group dari widget Button.
- PenggunaanComposite.java : merupakan class utama yang dipanggil untuk melakukan rendering window SWT dan menggabungkan class CompositeTab1 dan CompositeTab2 pada tiap item dari TabFolder.
CompositeTab1.javapackage com.kursusinternet.swt;
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text;
public class CompositeTab1 extends Composite { public CompositeTab1(Composite parent) { super(parent, SWT.None); Group group = new Group(this, SWT.SHADOW_ETCHED_IN); group.setText("Profil"); Label label1 = new Label(group, SWT.None); label1.setText("Nama : "); label1.setBounds(5,18,40,20); Text text = new Text(group, SWT.BORDER); text.setBounds(45,16,100,20); group.setSize(180,100); } } |
CompositeTab2.javapackage com.kursusinternet.swt;
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group;
public class CompositeTab2 extends Composite { public CompositeTab2(Composite parent) { super(parent, SWT.None); Group group = new Group(this, SWT.SHADOW_ETCHED_IN); group.setText("Jenis Kelamin"); Button tombol1 = new Button(group, SWT.RADIO); tombol1.setText("Laki-laki"); tombol1.setBounds(20,15,90,30); Button tombol2 = new Button(group, SWT.RADIO); tombol2.setText("Perempuan"); tombol2.setBounds(20,40,90,30);
group.setSize(180,100); } } |
PenggunaanComposite.javapackage com.kursusinternet.swt;
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TabFolder; import org.eclipse.swt.widgets.TabItem;
public class PenggunaanComposite { Display display; Shell shell; public void tampil() { display = new Display(); shell = new Shell(display); TabFolder objTabFolder = new TabFolder(shell, SWT.NONE);
TabItem objTab1 = new TabItem(objTabFolder,SWT.NONE); objTab1.setText("Entri Utama"); TabItem objTab2 = new TabItem(objTabFolder,SWT.NONE); objTab2.setText("Entri Tambahan"); CompositeTab1 objComposite1 = new CompositeTab1(objTabFolder); objComposite1.pack(); CompositeTab2 objComposite2 = new CompositeTab2(objTabFolder); objComposite2.pack();
objTab1.setControl(objComposite1); objTab2.setControl(objComposite2); objTabFolder.pack(); shell.setText("Contoh Composite !"); shell.setSize(300,200); objTabFolder.setLocation( (shell.getSize().x - objTabFolder.getSize().x)/2, 30 ); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } public static void main(String[] args) { new PenggunaanComposite().tampil(); } } |
Hasil Eksekusi
Gambar 1. Tab Item Pertama pada TabFolder
Gambar 2. Tab Item Kedua pada TabFolder
~~ Selesai ~~
|
|