Kemarin habis baca-baca artikel tentang Top 10 Programming Fonts, akhir-nya jadi iseng-iseng deh cobain ganti font di editor-nya NetBeans IDE supaya lebih betah lama-lama ngetik-nya
Nah buat teman-teman yang ingin berburu font, mungkin bisa mengunjungi situs Top 10 Programming Fonts untuk melihat-lihat font mana yang cocok kemudian download dan install deh Setelah proses download selesai, untuk menginstall font tersebut di GNU/Linux kita harus memasukkan font tersebut ke dalam direktori /usr/share/fonts/TTF agar font tersebut dikenali oleh user lain yang terdapat di sistem. Tapi kalau kita cuma ingin testing aja, kita bisa memasukkan font tersebut kedalam direktori .fonts yang terdapat di direktori home user kita masing-masing
Bagaimana kalau direktori .fonts belum ada ? Ya mari kita buat direktori tersebut dengan perintah seperti dibawah ini :
Setelah itu kopikan font yang sudah di download kedalam direktori ~/.fonts tersebut seperti dibawah ini :
martinus@martinusadyh:[~]$ cp Inconsolata.ttf ~/.fonts/
martinus@martinusadyh:[~]$ cd ~/.fonts/
martinus@martinusadyh:[~/.fonts]$ ls
Inconsolata.ttf
martinus@martinusadyh:[~/.fonts]$
Sekarang mari kita update dahulu font cache kita dengan menjalankan perintah fc-cache -f -v agar font yang kita tambahkan bisa dikenali oleh NetBeans seperti dibawah ini :
martinus@martinusadyh:[~/.fonts]$ fc-cache -f -v
/usr/share/fonts/OTF: caching, new cache contents: 23 fonts, 0 dirs
/usr/share/fonts/TTF: caching, new cache contents: 92 fonts, 0 dirs
/usr/share/fonts/Type1: caching, new cache contents: 64 fonts, 0 dirs
/usr/share/fonts/Speedo: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cyrillic: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/misc: caching, new cache contents: 59 fonts, 0 dirs
/home/martinus/.fonts: caching, new cache contents: 1 fonts, 0 dirs
/var/cache/fontconfig: not cleaning unwritable cache directory
/home/martinus/.fontconfig: cleaning cache directory
fc-cache: succeeded
martinus@martinusadyh:[~/.fonts]$
Buat teman-teman yang senang menggambar diagram mungkin sudah tidak asing lagi kan dengan yang namanya Visio kalau di Microsoft Windows, nah di lingkungan GNU/Linux kita bisa menggunakan aplikasi yang namanya DIA Diagram sebagai pengganti Visio. Cuman sayangnya, kalau kita menggunakan DIA Diagram ada 1 hal yang rasanya masih kurang yaitu tampilan icon-nya masih kelihatan jadul-jadul banget
Nah apasih yang ngebikin Visio spesial dimata saya yaitu, kalau kita menggambar topologi jaringan icon-nya bisa keren-keren seperti gambar dibawah ini : Contoh Gambar Topologi Jaringan dari Visio
Untuk membangun sebuah File Server menggunakan SAMBA di Slackware sebenarnya tidak begitu susah, sama seperti kalau kita menggunakan distribusi GNU/Linux yang lain Nah untungnya lagi, packages SAMBA sudah terinstall secara default pada Slackware yang kita gunakan dan kita hanya perlu melakukan sedikit konfigurasi agar SAMBA dapat berjalan
Hal pertama yang perlu kita lakukan agar service SAMBA kita dapat berjalan yaitu melakukan konfigurasi terhadap file smb.conf yang terletak pada direktori /etc/samba. Karena di Slackware tidak menyertakan file smb.conf melainkan file smb.conf-sample maka kopikan-lah dahulu file smb.conf-sample menjadi smb.conf seperti dibawah ini :
root@martinusadyh:/etc/samba# cp smb.conf-sample smb.conf
root@martinusadyh:/etc/samba# ls
private/ smb.conf smb.conf-sample
root@martinusadyh:/etc/samba#
Sekarang edit-lah file smb.conf diatas menjadi seperti dibawah ini:
[global]
workgroup = SLACKWARE_FILESERVER
server string = %h server (Samba, Slackware)
map to guest = Bad User
obey pam restrictions = Yes
passdb backend = tdbsam
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
socket options = TCP_NODELAY
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
[PublicShare]
comment = Slackware File Server
path = /home/sharing/data
read only = No
create mask = 0777
directory mask = 0777
guest ok = Yes
Akhir-nya kesampaian juga menulis tentang Menu Accordion Di Java Swing ini Soalnya dulu bingung menu yang saya buat ini namanya apaan , nah buat teman-teman ada yang belum tahu apa itu Menu Accordion mungkin bisa coba baca-baca artikel Mengenal Menu Accordion dahulu Nah jika sudah tahu tentang apa itu Menu Accordion sekarang mari kita lihat contoh beberapa aplikasi dan library yang menggunakan atau menyertakan Menu Accordion
Contoh Aplikasi Yang Menggunakan Menu Accordion
OpenOffice.org Impress
OpenOffice.org Impress menyertakan model menu dengan tipe Accordion yang dapat kita lihat seperti gambar dibawah ini : OOo Impress Accordion Menu In Action
Plazma ERP Plazma ERP adalah sebuah aplikasi ERP yang dibangun dengan menggunakan Java dan SWT sebagai solusi GUI Toolkit-nya , menurut saya Plazma ERP mempunyai UI yang sangat elegan dan cantik ditambah lagi dengan Menu Accordion-nya yang tampak seperti gambar dibawah ini : Plazma ERP Accordion Menu In Action Read More …»
Sister Of The Light dari Album Salome The Seventh Veil
Yang saya seneng dari lagu ini adalah intronya Menurut saya hm.., asyik banget suasananya kek ada suara ketipung-ketipung-nya gitu (eh bener ga yah ) , ini klo mau lyrics-nya sekalian : Lyrics:
follow me through the night
we are the sisters of the light
Follow me through the night
We are sisters of the light
We are daughters of sin
We are laughter in the wind
Follow me through the night
We are sisters of the light
We are wild, we are free
Through the darkness follow me!
I am here to break the silence and
I want you to be the voice of mine
follow me follow me follow me now
Follow me through the night
We are sisters of the light
We are daughters of sin
We are laughter in the wind
Follow me through the night
We are sisters of the light
We are wild, we are free
Through the darkness follow me
You alone, you can let time stand still and
You create the missing element
We’re the fires of hell
We’re the deep rough sea
We’re the stormy air
We are we
We’re the ashes of time
And we are banshee
Through the darkness, sisters,
Follow me!
follow me follow me follow me now
Follow me through the night
We are sisters of the light
We are daughters of sin
We are laughter in the wind
Follow me through the night
We are sisters of the light
We are wild, we are free
Through the darkness follow me
sisters of the light
sisters of the light
Follow me through the night
We are sisters of the light
We are daughters of sin
We are laughter in the wind
Follow me through the night
We are sisters of the light
We are wild, we are free
Through the darkness follow me
Setelah kita mengerti tentang Thread-thread dasar yang terdapat pada Java Swing dan mengetahui bagaimana cara menggunakan Background Thread dengan SwingWorker (pembahasan tentang SwingWorker bisa dilihat pada tulisan Lebih Dekat Dengan Class SwingWorker), sekarang mari kita coba membuat sebuah Project yang menggunakan Menu Login yang proses otentikasinya kita lakukan langsung ke database
Pada tulisan kali ini saya tidak akan memberikan penjelasan source code dari baris ke baris seperti pada tulisan-tulisan sebelumnya, tetapi sebagai gantinya penjelasan dapat dilihat pada komentar yang terdapat pada source code yang bersangkutan supaya lebih mudah di ingat-ingat nantinya Read More …»
Beberapa minggu terakhir ini, saya mendapatkan 2 pertanyaan tentang Bagaimana sih agar progress bar bisa berjalan pada saat proses Query ? dan Bagaimana sih cara membuat sebuah login dialog yang menampilkan progress bar ? Nah karena 2 pertanyaan tersebut saling berkaitan menurut saya (sama-sama ingin menjalankan Progress Bar pada saat aplikasi sedang menjalankan tugas/proses yang lain) maka akan saya jawab bersama-sama pada tulisan ini . Nah sebelum kita masuk ke penjelasan lebih detail, kita harus tahu dahulu dong kenapa kita tidak bisa secara langsung menjalankan progress bar di saat kita melakukan proses yang lain ? Ada yang tahu kenapa ? Ini karena semua “Event Handling” yang terdapat pada Java Swing dijalankan oleh Thread yang bernama Event Dispatch Thread (EDT) Waks.. Thread ? Yaps betul Thread
Agar aplikasi yang kita bangun di Java Swing tidak terlihat nge-“freeze” (tidak responsif/nge-hang), maka kita juga perlu tahu beberapa Thread yang terdapat di Java Swing. Thread-thread tersebut yaitu :
Initial Thread
Thread ini bertugas untuk menjalankan method main dari aplikasi Swing kita dan thread ini bertugas untuk menampilkan GUI (Graphical User Interface) yang sudah kita bangun diatas Swing ke layar. Setelah GUI (Graphical User Interface) tampil, maka kerja dari thread ini telah selesai dan akan dilanjutkan oleh Event Dispatch Thread.
Event Dispatch Thread
Setiap aplikasi berbasis Java Swing hanya dapat mempunyai 1 Event Dispacth Thread (EDT) saja. Setiap respon dari penekanan tombol, menu item, update tampilan komponen akan dijalankan oleh thread ini. Dan semua proses tersebut biasanya tidak membutuhkan waktu yang lama. Jadi, segala proses yang dijalankan pada thread ini harus selesai secepat mungkin agar aplikasi kita tidak terlihat nge-“freeze” (tidak responsif/nge-hang) .
Worker Thread
Worker thread atau biasanya disebut dengan background thread ini berfungsi untuk menjalankan proses yang lama seperti pembacaan direktori pada file system atau proses query ke database. Gunakan thread ini untuk melakukan operasi atau proses yang kita tidak bisa menentukan kapan kira-kira proses tersebut selesai.
Pernah merasa butuh mengedit file PDF ? Jika jawaban-nya adalah Ya dan file PDF yang ingin di edit/dimodifikasi tidak begitu kompleks mungkin kita bisa menggunakan Sun PDF Import Extension dari OpenOffice.org yang bisa kita gunakan untuk memodifikasi file PDF Sedangkan beberapa fitur yang akan kita dapatkan jika kita menginstall extension
Sun PDF Import Extension ini adalah :
- Text attributes like font family, font size, weight (bold, not bold), style (italic, not italic) are imported together with their respective text
- Retain font appearance, when a PDF file uses a font not installed on your system, the font is replaced with the best alternative font
- Converts images and vector graphics
- Each line in a paragraph is converted into one text object
- Import of password-protected PDF files
- Import shapes with default style
- Support for colors and bitmaps
- Backgrounds remain behind other elements
Sedangkan beberapa fitur yang belum didukung yaitu :
- Native PDF forms
- Proper paragraphs
- Processing layout of LaTeX PDF
- Import of complex vector graphics elements
- Conversion of tables
- Import of EPS graphics
- RTL (right-to-left) text/font support
Bingung bagaimana caranya menambahkan background image ke dalam JDesktopPane di NetBeans IDE ? Nah kalau bingung, sekarang buatlah sebuah project dahulu di NetBeans IDE kemudian buatlah 1 buah Java Class dengan nama JImageDesktopPane (nama class terserah keinginan masing-masing ) kemudian pastekan kode dibawah ini :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package jdesktoppanebackground;
import java.awt.Graphics;import java.awt.Image;import javax.swing.JDesktopPane;/**
*
* @author Martinus Ady H <mrt.itnewbies@gmail.com>
*/publicclass JImageDesktopPane extendsJDesktopPane{privateImage image;
public JImageDesktopPane(){}
@Override
protectedvoid paintComponent(Graphics g){try{
image = new javax.swing.ImageIcon(getClass().getResource("netbeans6ns0.png")).getImage();
if(g != null){
g.drawImage(image,
(this.getSize().width - image.getWidth(null)) / 2,
(this.getSize().height - image.getHeight(null)) / 2,
null);
}}catch(NullPointerException npe){System.out.println("Can't find images !!");
}}}
Baris paling penting diatas terdapat pada baris ke 25, karena pada baris ke 25 kita mencoba mengambil gambar yang ingin kita jadikan sebagai Background Image dan sedangkan method paintComponent(Graphics g) pada baris 23-37 ini kita gunakan jika kita ingin mengubah-ubah tampilan dari JComponent di Java Swing
Nah jika sudah selesai, sekarang simpan gambar dibawah ini dengan nama netbeans6ns0.png pada direktori project Save Image As Gambar Ini Read More …»
Bingung dengan judul diatas ? Saya sendiri sebenarnya juga bingung karena kejadian yang saya alami ini juga kadang-kadang saja terjadi . Dan seperti-nya ini berkaitan dengan project yang menggunakan JPA (menggunakan TopLink atau Hibernate JPA di NetBeans IDE) , ceritanya saya mendapatkan pesan error seperti dibawah ini ketika melakukan proses kompilasi project :
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.domain/dist/com.artivisi.jdkbug.domain.jar(com/artivisi/jdkbug/domain/SampleDomain.class): warning: Cannot find annotation method 'name()' in type 'javax.persistence.Table': class file for javax.persistence.Table not found
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.domain/dist/com.artivisi.jdkbug.domain.jar(com/artivisi/jdkbug/domain/SampleDomain.class): warning: Cannot find annotation method 'mappedBy()' in type 'javax.persistence.OneToMany': class file for javax.persistence.OneToMany not found
An exception has occurred in the compiler (1.6.0_16). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.persistence.TemporalType not found
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.ui/nbproject/build-impl.xml:349: The following error occurred while executing this line:
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.service/nbproject/build-impl.xml:365: The following error occurred while executing this line:
/home/martinus/JDKBUG/project-jdkbug-gen/com.artivisi.jdkbug.service/nbproject/build-impl.xml:168: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 1 second)
Nah aneh-nya library Hibernate-JPA sudah saya tambahkan pada project-domain dan project-service-impl, kalau saya melakukan proses kompilasi di project-domain dan di project-service-impl masalah ini tidak timbul. Tapi kalau melakukan proses kompilasi dari UI, baru deh muncul itu pesan error
Coba googling cuma mendapatkan 3 link saja, yang sepertinya menandakan bahwa jarang yang mendapatkan pesan error seperti di atas Setelah membaca Bug ID 6550655 ternyata solusinya gampang, yaitu tambahkan library TopLink atau Hibernate JPA di setiap project yang membutuhkan project-domain
Semoga berguna buat teman-teman yang mengalami kasus yang sama
Pasti teman-teman sekarang sudah tahu kan bagaimana cara menjalankan aplikasi yang ditulis dengan menggunakan bahasa pemrograman Java ? Yaps cara-nya sih sangat sederhana, kita tinggal mengetikkan perintah java [nama_class] untuk menjalankan sebuah class di java dan mengetikkan perintah java -jar [nama_app.jar] untuk menjalankan sebuah file jar di java Nah sekarang jika sudah tahu, pernahkah teman-teman melihat opsi apa saja yang terdapat pada perintah java ??? Kalau ada yang bingung bagaimana cara menampilkan opsi yang terdapat pada perintah java, cobalah jalankan perintah java tanpa memberikan parameter apapun dan jika benar maka kita akan mendapatkan tampilan seperti dibawah ini :
martinus@martinusadyh:~/Latihan/Java$ java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is server,
because you are running on a server-class machine.
-cp
-classpath
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D=
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:
…|:]
-enableassertions[:
…|:]
enable assertions
-da[:
…|:]
-disableassertions[:
…|:]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:
[=]
load native agent library
, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:
[=]
load native agent library by full pathname
-javaagent:[=]
load Java programming language agent, see java.lang.instrument
-splash:
show splash screen with specified image
martinus@martinusadyh:~/Latihan/Java$
Karena pingin ngoprek WordPress, akhirnya timbul deh kebutuhan untuk mengkonfigurasi Apache dan PHP di Slackware 13.0 (karena paket Apache dan PHP sudah ter-install secara default pada Slackware 13.0) Tulisan ini banyak yang saya ambil dari tulisan om Somat yang Slackware dan apache dan Slackware dan php dengan beberapa perubahan yang saya sesuaikan dengan kondisi di Slackware saya
Konfigurasi Apache
Langkah yang saya lakukan yaitu sama persis seperti tulisan om Somat di Slackware dan apache yaitu beri akses execute pada file /etc/rc.d/rc.httpd dan jalankan apache-nya dengan perintah /usr/sbin/apachectl -k start seperti dibawah ini :
Konfigurasi Apache dan PHP
Nah pada langkah ini, yang saya lakukan sedikit berbeda dengan yang om Somat lakukan :D. Karena packages PHP sudah terinstall, maka saya tinggal menambahkan 2 baris dibawah ini pada file /etc/httpd/httpd.conf :
Konfigurasi Apache dan User Home Directories
Agar kita bisa tidak perlu repot-repot melakukan copy paste ke direktori /var/www/htdocs, nyalakan konfigurasi User home directories dengan meng-enable baris Include /etc/httpd/extra/httpd-userdir.conf pada file /etc/httpd/httpd.conf seperti dibawah ini:
448
Include /etc/httpd/extra/httpd-userdir.conf
Setelah selesai, buat sebuah direktori dengan nama public_html di home kemudian buatlah sebuah script php seperti dibawah ini :
1
2
3
<?php
phpinfo();
?>
Restart apache-nya dengan menjalankan perintah berikut :
/usr/sbin/apachectl -k restart
Sekarang coba browsing ke localhost/~namauser/php-info.php harusnya di browser muncul informasi tentang php
Hari ini saya ada kebutuhan untuk membuat sebuah database diagram (ER) untuk tujuan dokumentasi pribadi (maklum klo cuma ditulis dikertas, lama-lama kertas-nya sobek-sobek ) Karena database yang biasa saya gunakan adalah MySQL maka pilihan saya jatuh pada MySQL WorkBench Mungkin untuk pengguna distro yang mempunyai package manajemen seperti DEB dan RPM tidak begitu kesulitan, karena MySQL sudah menyediakan package binary yang sudah siap untuk di install Sedangkan untuk pengguna distro lain seperti Slackware, mari kita bikin sendiri binary package-nya via kompilasi dari source again
Nah untung-nya lagi saya menemukan link ini. yang menjelaskan bagaimana cara meng-install MySQL WorkBench. Dan dibawah ini cuplikan bagaimana cara installasi-nya di Slackware 13.0 :
> has anyone, or could someone made a build script for mysql-workbench?
>
I did one, you can find it here:
http://hba.ath.cx/projects/slackbuilds/testing/mysql-workbench-oss-5.1.18/
But as Niels Horn has mentioned, “it has too many dependencies… ”
from gnome, so i installed first gnome from http://gnomeslackbuild.org
in slackware-13.0, then lua from SBo’s repository and finally i
builded mysql-workbench using my SlackBuild. But seriously… gnome
still sucks for me. I’m gonna reinstall slackware and then try to get
mysql-workbench but without all the gnome thing.
Ihui… akhirnya GNOME SlackBuild mengabarkan bahwa GNOME 2.28.0 sudah tersedia untuk Slackware 13.0 meskipun masih versi current Dan ini adalah release note-nya :
GNOME 2.28.0 is out!
gsb-current is a snapshot of the active GNOME SlackBuild development tree.
It is intended to give developers, edgy users, and other Linux gurus a
chance to test out the latest packages for GNOME SlackBuild. The feedback
we get will allow us to make the next stable release better than ever.
gsb-current is a full GNOME 2.28.0 desktop for Slackware 13.0. Most
things are working at the moment, but this is only an initial build. Feel
free to try it out and report bugs!
WARNING: upgradepkg glib2 gtk+2 GConf before other upgrading other
packages. If you’re using slapt-get:
$ slapt-get –install glib2 gtk+2 GConf
Afterwards, you can safely run slapt-get to upgrade your other packages.
Also, take care not to miss new packages that were split from old
ones. If upgrading manually, then “upgradepkg –install-new” is (as
always) the safest approach.
See the ChangeLog.txt for a list of changes in gsb-current.
Buat teman-teman pengguna NetBeans IDE, pasti sudah tahu fitur baru di NetBeans versi 6.7 kan. Yak, adanya penambahan integrasi dengan Project Kenai Terus terang saya sendiri belum pernah pakai Project Kenai , tapi kemarin iseng cobain fitur Project Kenai di NetBeans IDE dan ternyata humm ada yang keren loh Mungkin buat yang belum tahu, coba deh lihat di status bar NetBeans versi 6.7.1, disana ada 1 tambahan icon yang tampilan-nya seperti gambar dibawah ini (tempat-nya ada di pojok kanan bawah): Tampilan Icon Project Kenai Pada StatusBar NetBeans
Hmm… ada yang aneh dari UI diatas ?? Klo menurut saya ada yang aneh, coba deh lihat lagi pada gambar dialog login dan proses login di atas. JToolBar-nya bisa muncul diantara label No account on Kenai.com? Sign up now. dan tombol Login. Kenapa aneh, setahu saya klo kita menggunakan GroupLayout secara standart dan kita ingin menyembunyikan komponen ditengah-tengah komponen yang lain dengan menggunakan method setVisible() hasil-nya pasti jelek Ok sekarang mari kita coba, bikinlah 1 project java kemudian tambahkanlah JDialog dan design seperti gambar dibawah ini : Design Login Dialog Read More …»