JAVA - membuat tombol next dan previous pada jTable

JAVA - membuat tombol next dan previous pada jTable. Mungkin teman-teman pernah melihat aplikasi yang berbasis database. biasanya aplikasi tersebut menyediakan tampilan berupa tabel untuk melihat data yang tersimpan. dan biasanya juga dilengkapi dengan fungsi next dan previous. fungsi next dan previous biasanya digunakan untuk memudahkan pengguna dalam memilih data yang terdapat dalam tabel yang di sediakan.
Membuat tombol next dan previous tidaklah sulit malah boleh dibilang sangat sederhana. Berikut merupakan script untuk membuat tombol next dan Previous :

public void TampilNext(){
row = Tabel.getSelectedRow();
int b= tblModel.getRowCount();
b-=1;
if(row==b){
row=b;
}
else
{
row+=1;
}

Tabel.changeSelection(row, WIDTH, false, false);
}
public void TampilPrev(){
row = Tabel.getSelectedRow();
int b= tblModel.getRowCount();
if(row==0){
row=0;
}
else
{
row-=1;
}

Tabel.changeSelection(row, WIDTH, false, false);
}

Dengan ketentuan dan penjelasan sebagai berikut :

  1. Baris  row = Tabel.getSelectedRow(); = digunakan untuk mengidentifikasi nomor baris yang sedang di sorot.
  2. Baris  int b= tblModel.getRowCount(); = untuk menghitung jumlah data yang ada.
  3. Baris  Tabel.changeSelection(row, WIDTH, false, false);  = Untuk mensorot baris selanjutnya ataupun sebelumnya ergantung oleh tombol yang di klik.

Jika, masih bingung bagaimana penempatan script tersebut berikut merupakan implementasinya :

package RAPORT;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;

public class jtable extends javax.swing.JFrame {
String data[]=new String[12];
int row;
String stat="";
String[] kolom=new String[12];
String driver,database,user,pass,userLogin;

public String[] Kolom(){
kolom[0]="ID";
kolom[1]="NAMA";
kolom[2]="JENISKELAMIN";
kolom[3]="TTL";
kolom[4]="ALAMAT";
kolom[5]="NOTELP";
kolom[6]="ASALSEKOLAH";
kolom[7]="SEM1";
kolom[8]="SEM2";
kolom[9]="SEM3";
kolom[10]="SEM4";
kolom[11]="SEM5";
return kolom;
}

/** Creates new form jtable */
public jtable() {
initComponents();
driver="com.mysql.jdbc.Driver";
database="jdbc:mysql://localhost/aplikasi_raport";
user="root";
pass = "";

Tabel.setModel(tblModel);

setDefaultTable();
}
public void setDefaultTable(){
String stat="";
try{
Class.forName(driver);
Connection kon=(Connection) DriverManager.getConnection(database,user,pass);
Statement stt=(Statement) kon.createStatement();
String SQL = "SELECT * FROM raport";
ResultSet res=stt.executeQuery(SQL);

while(res.next()){
data[0]=res.getString(1);
data[1]=res.getString(2);
data[2]=res.getString(3);
data[3]=res.getString(4);
data[4]=res.getString(5);
data[5]=res.getString(6);
data[6]=res.getString(7);
data[7]=res.getString(8);
data[8]=res.getString(9);
data[9]=res.getString(10);
data[10]=res.getString(11);
data[11]=res.getString(12);
tblModel.addRow(data);
}
res.close();
stt.close();
kon.close();
}
catch(Exception exc){
System.err.println(exc.getMessage());
}
}

private DefaultTableModel getDefaultTabelModel(){
return new DefaultTableModel(
new Object [][] {},
new String [] {"ID","NAMA","JENIS KELAMIN","TEMPAT TANGGAL LAHIR","ALAMAT","NO TELPON","ASAL SEKOLAH","SEMESTER 1", "SEMESTER 2","SEMESTER 3","SEMESTER 4","SEMESTER 5"})
{
boolean[] canEdit = new boolean[]{
false,false,false,false,false,false,false,false,false,false,false,false
};
@Override
public boolean isCellEditable(int rowIndex, int columnIndex){
return canEdit[columnIndex];
}
};
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();
Tabel = new javax.swing.JTable();
prevbutton = new javax.swing.JButton();
nextbutton = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

Tabel.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{"Rendi", "Eka"},
{"eka ", "aa"},
{"aa", "ss"},
{"sdd", null}
},
new String [] {
"Nama", "Kelas"
}
));
jScrollPane1.setViewportView(Tabel);

prevbutton.setText("Prev");
prevbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
prevbuttonActionPerformed(evt);
}
});

nextbutton.setText("next");
nextbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
nextbuttonActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(prevbutton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(nextbutton)))
.addContainerGap(15, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(30, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(prevbutton)
.addComponent(nextbutton))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);

pack();
}// </editor-fold>

private void prevbuttonActionPerformed(java.awt.event.ActionEvent evt) {
TampilPrev();
}

private void nextbuttonActionPerformed(java.awt.event.ActionEvent evt) {
TampilNext();
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new jtable().setVisible(true);
}
});
}

public void TampilNext(){
row = Tabel.getSelectedRow();
int b= tblModel.getRowCount();
b-=1;
if(row==b){
row=b;
}
else
{
row+=1;
}

Tabel.changeSelection(row, WIDTH, false, false);
}
public void TampilPrev(){
row = Tabel.getSelectedRow();
int b= tblModel.getRowCount();
if(row==0){
row=0;
}
else
{
row-=1;
}

Tabel.changeSelection(row, WIDTH, false, false);
}

// Variables declaration - do not modify
private javax.swing.JTable Tabel;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JButton nextbutton;
private javax.swing.JButton prevbutton;
// End of variables declaration
private javax.swing.table.DefaultTableModel tblModel = getDefaultTabelModel();
}

- Selamat Mencoba -

Read more


JAVA - Mengkoneksikan Aplikasi Java dengan Oracle

Kali ini saya akan coba berbagi ilmu mengenai pemrograman java. Yang akan saya bahas kali ini adalah Cara menghubungkan Aplikasi Java dengan database Oracle. Oracle merupakan salah satu database yang powerful. saat ini oraclepun banyak digunakan oleh industri IT sebagai aplikasi pengelohan database. Kebetulan sayapun mendapat tugas dari sekolah untuk membuat aplikasi berbasis java denga menggunakan database Oracle. Itung-itung berbagi ilmu, jadi tugas saya saya post-kan disini. :-)

ada beberapa syarat yang harus dipenuhi sebelum memulai "menghubungkan Java dengan Oracle" :

  1. Yang paling utama harus punya komputer. :p.
  2. Harus punya JDK kalau belum punya bisa download disini.
  3. Harus punya Oracle kalau belum punya bisa download versi gratisnya disini.
  4. Siapkan file liblary jdbc oracle biasanya ada di "{direktori oraclexe}\app\oracle\product\10.2.0\server\jdbc\lib" buat jaga-jaga pilih dua-duanya "ojdbc14.jar" dan "ojdbc14_g.jar"

Peratama, buat dulu tabel baru di oracle.
berikut query data sampel yang digunakan:

create table PENJUALAN (
NO_TRANSAKSI CHAR(6) not null,
KD_PELANGGAN CHAR(5),
TANGGAL DATE,
constraint PK_PENJUALAN primary key (NO_TRANSAKSI)
);

lalu, silahkan isi data sesuka hati.
Jika, sudah membuat table di Oracle, maka sekarang tinggal masuk ke tahap pembuatan programnya. Buat class baru lalu salin kode berikut.

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* tampil.java
* Author: Rendi Eka Putra Suherman
* Created on 19 Apr 11, 20:25:54
*/

package javaoracle;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class tampil extends javax.swing.JFrame {
public Connection conn;
public ResultSet rs = null;
public Statement stmt;
public String sql;
public Object[][]data1=null;
/** Creates new form tampil */
public tampil() {
initComponents();
System.out.println("pustaka koneksi database dipanggil");
}

public static void main(String args[])throws ClassNotFoundException,SQLException{
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
String sql = null;
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:xe",
"SYSTEM", "123456");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from PENJUALAN");
while(rs.next()){
System.out.print(rs.getString(1)+" | ");
System.out.print(rs.getString(2)+" | ");
System.out.print(rs.getString(3)+" \n");
}
stmt.close();
conn.close();
rs.close();
}

}

Script diatas merupakan contoh sederhana menghubungkan Java dengan Oracle. Selanjutnya, silahkan teman-teman kembangkan sesuai kebutuhan.

Selamat Mencoba

Read more


RECUVA - Tool untuk Mengembalikan Data yang Terhapus

Recuva - Mungkin teman-teman pernah menghapus suatu data yang mungkin sangat penting secara tidak sengaja ataupun secara sengaja. Ataupun mungkin teman-teman mengalami kehilangan data pada flashdisk atau harrdisk karena terformat. mungkin jika sempat di backup, tidak akan jadi masalah. tapi kalau belum sempat di backup, pasti bikin kepala pusing 70 keliling apalagi jika data yang hilang itu sangatlah penting, bisa-bisa langsung gantung diri tuh orang. hehehe...

Tapi, ada kabar baik, saat ini sudah banyak aplikasi recovery data untuk mengembalikan semua data yang terhapus. Dari yang terbaru sampai yang dari taun jebot juga masih bsa di pulihkan.

Nah kali ini saya akan membahas salah satu tool recovery data yang cukup bisa diperhitugkan di dunia Recovery data. :p
Yaitu, RECUVA. Aplikasi ini berukuran cukup kecil, dia memiliki ukuran sekitar 2 MB. cukup ringan buat di jalanin di komputer jadul sekalipun.

Sebelum, di kasih tau cara gunainnya, mending download dulu file recuvanya disini (versi portabel ga perlu diinstal, langsung jalanin juga bisa).
kan percuma, tau cara ngegunain tool recuva-nya. tapi, ga punya recuva-nya.
setelah, downloadnya selesai, langsung buka aplikasinya.

Setelah aplikasi terbuka, yang pertama muncul adalah tampilan wizard dari aplikasi ini.

Setelah klak-klik di tampilan wizard maka proses pencarian data yang di hapus akan di mulai.

Setelah proses pencarian data selesai, akan tampil.

pilih file yang mau di recover. truz klik recover deh, data yang hilang kembali pulang. hehe....

Selamat Mencoba

Read more


PHP - Program Konversi suhu dengan PHP

PHP - Kali ini saya akan membahas tentang membuat program Konversi Suhu. Sebenarnya program ini saya buat karena ada orang yang request. ya dari pada cuma saya arsipkan, lebih baik di post aja deh di blog, itung-itung nambah jumlah post, sapa tau bisa naekin peringkat blog saya. hehehe......

yaudah ga usah kepanjangan intermezonya, langsung aja kita masuk ke topik. niy source code program konversi suhu yang saya ciptakan. (*lebai amat ea........ :p) :

<?php
/*//////////////////////////////*/
/*//AUTHOR : Rendi Eka Putra S. */
/*//////////////////////////////*/

/*// mulai Scipt hitung suhu*/

if(isset($_POST['suhu']) && $_POST['suhu']!="")

{

$suhu=$_POST['suhu'];

}else{

$suhu=0;

}

 


if($_POST['dari']=="C")

{

switch ($_POST['ke'])

{

case "K":

$hasil=$suhu+273;

break;

case "R":

$hasil=$suhu*0.8;

break;

case "F":

$hasil=$suhu * 1.8 + 32;

break;

default:

$hasil= $suhu;

}

}

elseif($_POST['dari']=="K")

{

switch ($_POST['ke'])

{

case "C":

$hasil=$suhu-273;

break;

case "R":

$hasil=($suhu- 273) * 0.8;

break;

case "F":

$hasil=($suhu- 273) * 1.8 + 32;

break;

default:

$hasil= $suhu;

}

}

elseif($_POST['dari']=="R")

{

switch ($_POST['ke'])

{

case "C":

$hasil=$suhu / 0.8;

break;

case "K":

$hasil=$suhu / 0.8 + 273;

break;

case "F":

$hasil=$suhu * 2.25 + 32;

break;

default:

$hasil= $suhu;

}

}

elseif($_POST['dari']=="F")

{

switch ($_POST['ke'])

{

case "C":

$hasil=($suhu- 32) / 1.8;

break;

case "K":

$hasil=(($suhu- 32) / 1.8)+273;

break;

case "R":

$hasil=($suhu - 32)/2.25;

break;

default:

$hasil= $suhu;

}

}

else{

$hasil=$suhu;

}

/*//akhir hitung suhu*/

?>


<html>

<head>

<title>Konversi Suhu</title>

</head>

<body>

<form method="post" action="">

Masukkan Suhu <INPUT type="text" name="suhu" value="<?php echo $suhu; ?>"><br />

Pilih Jenis Suhu :

<br />

Dari : <select name="dari">

<option value="C">Celcius (C)</option>

<option value="K">Kelvin (K)</option>

<option value="R">Reamur (R)</option>

<option value="F">Farenheit (F)</option>

</select>


Ke: <select name="ke">

<option value="C">Celcius (C)</option>

<option value="K">Kelvin (K)</option>

<option value="R">Reamur (R)</option>

<option value="F">Farenheit (F)</option>

</select>


<input type="submit" value="Hitung" />

<br />

<br />

<!-- menampilkan hasil penghitungan -->

Hasil:<br />

<?php echo $suhu." (".$_POST['dari'].") = ".$hasil." (".$_POST['ke'].")"; ?><br />

<!-- akhir menampilkan hasil-->

</select>

</form>

</body>

</html>

Panjang ya, hehee.....

Program ini saya buat dalam satu file. jadi antara input, proses dan output saya gabung menjadi satu. jadinya panjang deh. :p

Jika, enngak ada kesalahan, maka tampilan akhirnya begini :

Selamat mencoba......

:-)

(CMIIW)

Read more


Hamachi - Merubah jaringan internet menjadi jaringan LAN raksasa

Avg tuneup pcHamachi -  Teman-teman pasti bingung, kenapa artikel kali ini di beri judul "Merubah jaringan internet menjadi jaringan LAN raksasa". Teman-teman pasti berfikir, "mana mungkin jaringan internet disamakan dengan jaringan LAN". Wajar saja jika teman-teman berfikir seperti itu, saya sendiri pun pada awalnya berfikir seperti itu.

Kali ini, saya akan membahas salah satu aplikasi yang bisa "Merubah jaringan internet menjadi jaringan LAN raksasa" yaitu Hamachi. pada dasarnya hamachi membuat seolah-olah jaringan internet komputer yang menggunakan ISP yang berbeda sebagai satu jaringan LAN. Dan juga komputer yang menggunakan aplikasi ini akan dibuat seakan-akan memiliki IP public yang unik, sehingga di mungkinkan masing-masing client hamachi bisa saling mengakses data komputer client yang lain.

Karena, fitur dari hamachi adalah membuat seakan-akan mebuat jaringan internet menjadi jaringan LAN yang besar dan masing-masing komputer memiliki IP public yang unik, maka aplikasi ini bisa digunakan untuk bermain game berbasis LAN, seperti DOTA, AOE, Counter Strike, dll. Dan kita juga bisa menggunakan hamachi untuk sharing dokumen dengan komputer client lain di tempat yeng lain.

Hamachi memiliki 2 versi : versi gratis dan versi yang berbayar. di versi gratis kita hanya bisa membuat sebuah jaringan LAN yang hanya bisa di diisi oleh sekitar 12 komputer client hamachi. jika, kita menggunakan versi yang berbayar kita tidak di batasi dalam jumlah client yang bisa masuk ke jaringan LAN yang kita buat.

Download Hamachi disini

CMIIW.........

Read more

Translate This Blog


URL renamer

Inspirational quote

Pengikut