login java.doc

download login java.doc

of 37

Transcript of login java.doc

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 Sebelum memulai latihan kali ini, ada beberapa hal yang harus dipersiapkan terlebih dahulu yaitu :- Inisialisasi Master Data Pada DataBase- Pembuatan Project Menu Login- Hasil AkhirPada 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

Inisialisasi Master Data Pada DataBase

Sebelum mulai membuat sebuah Project buatlah dahulu database dan tabel yang akan kita akses dari aplikasi Java, untuk membuat sebuah database dan tabel yang akan kita gunakan secara otomatis simpanlah schema database dibawah ini dengan nama MenuLoginSchema.sql :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22-- DataBase Schema Untuk Contoh MenuLogin

CREATE DATABASE `menulogin`;

USE `menulogin`;

---- Table structure for table `T_USER`--DROP TABLE IF EXISTS `T_USER`;

CREATE TABLE `T_USER` ( `id` INT AUTO_INCREMENT NOT NULL, `username` VARCHAR(255) DEFAULT NULL, `password` VARCHAR(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

---- Dumping data for table `T_USER`--INSERT INTO `T_USER` (`username`,`password`) VALUES

('martin', 'menulogin'), ('ahmad','ganteng'),('slackware','linux');

Note: DataBase yang digunakan pada tulisan ini yaitu MySQLSetelah file MenuLoginSchema.sql tersimpan pada komputer, sekarang bukalah terminal atau command prompt kemudian masuklah kedalam direktori tempat dimana kita menyimpan file MenuLoginSchema.sql tersebut kemudian jalankanlah perintah seperti dibawah ini :

martinus@martinusadyh:~/Downloads$ mysql -u root -padmin < MenuLoginSchema.sql

Jika tidak ada pesan error, maka seharusnya kita akan mempunyai 1 database dengan nama menulogin dan 1 tabel dengan nama T_USER beserta isinya seperti dibawah ini :

mysql> show tables;

+---------------------+

| Tables_in_menulogin |

+---------------------+

| T_USER |

+---------------------+

1 row in set (0.00 sec)

mysql> select * from T_USER;

+----+-----------+-----------+

| id | username | password |

+----+-----------+-----------+

| 1 | martin | menulogin |

| 2 | ahmad | ganteng |

| 3 | slackware | linux |

+----+-----------+-----------+

3 rows in set (0.00 sec)

mysql>

Jika tampilan pada terminal atau command prompt kita sudah seperti diatas, maka proses Inisialisasi bisa dikatan sudah selesai dan kita siap untuk membuat sebuah Project Pembuatan Project Menu Login

Sekarang buatlah sebuah Project dengan nama MenuLogin dari NetBeans IDE, kemudian buatlah Domain classnya terlebih dahulu pada packages domain dengan nama UserApp yang isinya adalah sebagai berikut :

40

41

42

43

44

45

46public class UserApp { private Integer id; private String userName; private String password;

// Generate Getter n Setter}

Note: Klik UserApp.java untuk melihat source code lengkapUrusan dengan Domain Class sudah selesai, sekarang mari kita buatkan Service layer-nya dengan membuat sebuah packages service kemudian buatlah sebuah java interface dengan nama LoginService seperti dibawah ini :

37

38

39

40

41

42

43

44

45public interface LoginService { /** Method ini akan mengecek apakah username dengan password

* ada atau tidak di database

* @param username user yang ingin di cek di database

* @param password password untuk user

* @return UserApp null jika tidak ditemukan

*/ public UserApp login(String username, String password);}

Note: Klik LoginService.java untuk melihat source code lengkapSebelum membuat implementasi dari LoginService diatas, tambahkanlah dahulu library MySQL JDBC Driver kedalam Project hingga tampilan Node Libraries kita menjadi seperti gambar dibawah ini :

Adding JDBC DriverTetap pada packages service sekarang buatlah implementasi dari LoginService diatas dengan nama LoginServiceImpl yang isinya kurang lebih seperti dibawah ini :

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87public class LoginServiceImpl implements LoginService {

private Connection connection; private PreparedStatement findUserByUserAndPassword; private final String QRY_LOGIN = "select * from T_USER where" + " T_USER.username = ? and T_USER.password = ?";

public LoginServiceImpl(Connection connection) { try { this.connection = connection; findUserByUserAndPassword = this.connection.prepareStatement(QRY_LOGIN); } catch (SQLException ex) { Logger.getLogger(LoginServiceImpl.class.getName()).log(Level.SEVERE, null, ex); } }

public UserApp login(String username, String password) { try { /* Lakukan pencarian berdasarkan username dan password */ findUserByUserAndPassword.setString(1, username); findUserByUserAndPassword.setString(2, password);

/* Ambil resultset-nya */ ResultSet rs = findUserByUserAndPassword.executeQuery(); while (rs.next()) { UserApp userApp = new UserApp(); userApp.setId(rs.getInt("id")); userApp.setUserName(rs.getString("username")); userApp.setPassword(rs.getString("password"));

return userApp; } } catch (SQLException ex) { Logger.getLogger(LoginServiceImpl.class.getName()).log(Level.SEVERE, null, ex); }

return null; }}

Note: Klik LoginServiceImpl.java untuk melihat source code lengkapHmm.. urusan domain dan service layer sudah beres, sekarang waktu yang paling menyenangkan yaitu membuat UI layer-nya Ok, sekarang mari kita buat sebuah Login Dialog dengan menggunakan class JDialog dan simpanlah pada packages ui. Setelah itu, design-lah Login Dialog tersebut hingga seperti gambar dibawah ini :

Design Login DialogSekarang tambahkan sebuah label untuk pesan error dengan cara masuk ke menu Inspector dan pada node Other Components tambahkanlah sebuah JLabel seperti gambar dibawah ini:

Menambahkan Error LabelSetelah selesai men-design Login Dialog, sekarang masuklah ke mode Source dan tambahkan 1 buah variabel bertipe boolean dan 1 buah method yaitu showDialog() tidak lupa hilangkan juga method main. Dan hasil akhir yang kita dapatkan kurang lebih isinya seperti dibawah ini :

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101public class LoginDialog extends javax.swing.JDialog {

private boolean notLogin = true; private GroupLayout gl;

/** Creates new form LoginDialog */ public LoginDialog(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents();

/* Mendeteksi penekanan icon close, jika di close keluar dari aplikasi */ addWindowListener(new java.awt.event.WindowAdapter() {

@Override

public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } });

jProgressBar1.setVisible(false);

/* Membuat space progress bar tidak di *wrap* oleh button */ gl = (GroupLayout) getContentPane().getLayout(); gl.setHonorsVisibility(jProgressBar1, false);

/* Beri fokus ke txtUsername ketika dialog tampil */ txtUserName.requestFocusInWindow();

/* Posisikan dialog seakan-akan berada di tengah-2x layar */ setLocationRelativeTo(null); }

/** 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") // private void initComponents() {

....

} //

public boolean showDialog() { setVisible(true); return notLogin; }

// Variables declaration - do not modify ...

// End of variables declaration }

Tetap pada packages yang sama yaitu packages ui sekarang buatlah sebuah Menu Utama dengan menggunakan class JFrame dan simpanlah dengan nama MainForm. Sedangkan pada MainForm ini, tambahkanlah sebuah JMenuBar dan tambahkanlah 3 JMenuItem pada File atau jMenu1 hingga tampilannya seperti gambar dibawah ini :

Design Main Form Dengan Menu Login dan LogoutSetelah semua selesai, sekarang editlah file Main.java menjadi seperti dibawah ini :

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118public class Main {

private static MainForm mainForm; private static LoginService loginService;

public static MainForm getMainForm() { return mainForm; }

public static LoginService getLoginService() { return loginService; }

/** Method ini akan menginisialisassi Form Utama kemudian akan melakukan

* proses loop untuk menampilkan login dialog sampai nilai

* notLogin = FALSE baru menampilkan Menu Utama */ public static void initLogin() { if (mainForm == null) mainForm = new MainForm(); boolean notLogin = Boolean.TRUE; while (notLogin) { notLogin = new LoginDialog().showDialog(); } mainForm = new MainForm(); mainForm.setVisible(true); }

/** Method ini akan menginisialisasi object koneksi ke database yang akan

* digunakan di seluruh aplikasi. */ private static void initDataBaseConnection() { try { MysqlDataSource dataSource = new MysqlDataSource(); /* Setting koneksi ke database */ dataSource.setUser("root"); dataSource.setPassword("admin"); dataSource.setDatabaseName("menulogin"); dataSource.setServerName("localhost"); dataSource.setPortNumber(3306);

loginService = new LoginServiceImpl(dataSource.getConnection()); } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } }

/**

* @param args the command line arguments

*/ public static void main(String[] args) { initDataBaseConnection(); java.awt.EventQueue.invokeLater(new Runnable() { public void run() { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); } catch (ClassNotFoundException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } catch (InstantiationException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } catch (UnsupportedLookAndFeelException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } initLogin(); } }); }}

Dengan kode yang sudah kita tulis, aplikasi harusnya sudah bisa berjalan tanpa mengalami kesalahan sama sekali. Tapi sayangnya kita belum mengimplementasikan proses login yang sebenarnya, untuk mengimplementasikan proses login yang sebenarnya sekarang tambahkanlah sebuah private class dengan nama WorkerLogin pada LoginDialog yang isinya kurang lebih seperti dibawah ini :

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309 private class WorkerLogin extends SwingWorker {

@Override

protected void done() { try { if (get() != null) { notLogin = false; closeLoginDialog(); } else { gl.replace(jProgressBar1, lblError); txtUserName.requestFocusInWindow(); txtUserName.selectAll(); } btnLogin.setEnabled(true); jProgressBar1.setIndeterminate(false); jProgressBar1.setVisible(false); } catch (InterruptedException ex) { Logger.getLogger(LoginDialog.class.getName()).log(Level.SEVERE, null, ex); } catch (ExecutionException ex) { Logger.getLogger(LoginDialog.class.getName()).log(Level.SEVERE, null, ex); } }

@Override

protected UserApp doInBackground() throws Exception { /* Hilangkan ini jika digunakan pada production */ Thread.sleep(1000); return Main.getLoginService().login(txtUserName.getText(),

String.valueOf(txtPassword.getPassword())); } }

Dan tambahkan method closeLoginDialog() dibawah method showDialog() seperti dibawah ini :

87

88

89 private void closeLoginDialog() { this.dispose(); }

Setelah selesai membuat sebuah WorkerLogin sekarang deklarasikanlah class WorkerLogin agar menjadi class variabel dan modifikasilah konstruktor dari LoginDialog hingga menjadi seperti dibawah ini :

53

54

55

56

57

58

59

60

61...

private WorkerLogin workerLogin;

/** Creates new form LoginDialog */ public LoginDialog() { super(Main.getMainForm(), Boolean.TRUE); initComponents(); ...

}

Agar proses login berjalan ketika kita menekan tombol Login, sekarang berilah Action Listener pada tombol Login dengan cara klik kanan kemudian pilihlah menu Event > Action > actionPerformed[btnLoginActionPerformed] dan pastekan kode seperti dibawah ini :

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267 private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {

/* Cek dahulu apakah workerLogin masih berjalan, kalau masih jalan

* cancel dan set ke null */ if (workerLogin != null && !workerLogin.isDone()) { workerLogin.cancel(true); workerLogin = null; }

//TODO: cek untuk mengembalikan state lblError ke Progress Bar, // bagaimana cara mengecek apakah lblError sudah ditambahkan atau belum ? try { gl.replace(lblError, jProgressBar1); } catch (java.lang.IllegalArgumentException ae) { // Do nothing here }

workerLogin = new WorkerLogin(); workerLogin.execute();

/* Disable tombol LOGIN, tampilkan dan jalankan PROGRESS BAR */ btnLogin.setEnabled(false); jProgressBar1.setVisible(true); jProgressBar1.setIndeterminate(true); }

Sedangkan untuk tombol Cancel-nya, berikan Action Listener seperti kode dibawah ini :

240

241

242 private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {

System.exit(0); }

Konfigurasi pada Login Dialog sepenuhnya sudah selesai, sekarang mari kita modifikasi file MainForm agar ketika menu Logout ditekan, maka akan menampilkan Login Dialog. Sekarang berilah Action Event pada menu Logout dengan cara klik kanan pada menu Logout kemudian pilihlah menu Event > Action > actionPerformed[jMenuItem2ActionPerformed] dan pastekan kode seperti dibawah ini :

121

122

123

124

125

126

127 private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

/* Tutup form utama */ this.dispose();

/* Tampilkan LoginDialog-nya */ Main.initLogin(); }

Sampai disini semua proses pembuatan Project Menu Login telah selesai, dan tampilan struktur Project kita kurang lebih seperti gambar dibawah ini :

Struktur Project Menu LoginHasil Akhir

Jika sudah selesai, sekarang mari kita jalankan Project Menu Login tersebut dengan menekan tombol F6 dan jika tidak ada kesalahan maka kita akan mendapatkan tampilan dari Login Dialog seperti gambar-gambar dibawah ini :

1. Tampilan Awal Login Dialog

2. Proses Pengecekan Username dan Password ke DataBase

3. Tampilan Ketika Proses Login Gagal

4. Menu Utama DiTampilkan Ketika Login Sukses

Akhirnya selesai juga latihannya, bagaimana menurut teman-teman ?? Kalau ada yang bingung dengan penjelasan diatas, jangan sungkan-sungkan untuk tanya yah. Mari kita bahas bareng-bareng, sapa tau ada cara yang lebih baik dan elegan dari cara yang saya jelaskan disin

Beberapa hari yang lalu ada temen yang pengen tau cara membuat aplikasi database, ya semacam step-by step tutorial gitu deh.

Ok deh sobat, kebetulan saya sedang membuat project Sistem Informasi Akuntansi. tapi yang akan saya tunjukan kali ini hanya bagaimana cara membuat form login sedehana.

Dalam postingan kali ini saya akan tunjukan cara membuat form login sederhana.Idenya adalah, kita akan membuat sebuah form yang tidak dapat diakses, untuk dapat di akses,

maka kita perlu login terlebih dahulu. Kemudian untuk keperluan login, kita buat sebuah form

login untuk melakukan verifikasi username dan password. Kalau password berhasil di

verifikasi maka user akan dapat menggunakan program, ya gitu deh.Ok cukup intronya sebelum mulai membuaka netbeans, persiapkan dulu databasenya, supaya

gampang kita pake mysql. Buat table kemudian buat feld-field sebagai berikut:kd_user varchar 6username varchar 15password varchar 20nama_lengkap varchar 50

kalau sudah, sekarang buka netbeansnya, kemudian buat program baru, terserah mau di kasih nama apa. Kalau belum tau cara buat project di netbbeans silahkan baca di http://onta-programing.blogspot.com/2008/12/buat-project-baru-di-netbeans.html

Setelah buat project buat sebuah form yang berfungsi sebagai form utama, kaya ginilah kira-kira:

Kalau mau, temen-temen bias download source codenya di sini.

Set icon-icon pada toolbar, dan button-buttonya menjadi disable (kan ceritanya program baru bisa di gunakan kalo udah login :)).

Setelah itu buat form satu lagi untuk form login. Gunakan JDialog untuk membuat Form login.Yup kurang lebih kaya ginilah. Inga-inga ting he bentuk formnya terserah kalian OK.

Nah sekarang, kita buat sebuah class untuk membuat sambungan ke database. Ingat ini bagian terpenting dari tujuan postingan iniBuat class kemudian masukan kode sebagai berikut:package logic;

import java.sql.Connection; import java.sql.SQLException;import java.sql.Statement; import java.sql.DriverManager; import java.sql.ResultSet; public class KoneksiDB {private String localhost, username, password; public Connection conn=null; public Statement state=null; public ResultSet hasil=null; public KoneksiDB(String host, String user, String pass){ localhost=host; username=user; password=pass; try{ Class.forName("org.gjt.mm.mysql.Driver");conn=DriverManager.getConnection("jdbc:mysql://"+localhost+"/coba", username, password); state=conn.createStatement(); }catch(Exception e){e.printStackTrace(); } } public boolean cekUser(String un, String ps){ try { hasil = state.executeQuery("select username, password, nama_lengkap from db_login where username='"+un+"' AND password='"+ps+"'"); hasil.last(); if(hasil.getRow()==1)return true;else return false; } catch (SQLException ex) {ex.printStackTrace(); return false; }}}

Nah kalo sudah, sekarang coba ngopi dulu, trus santai dulu deh sejenak trus, perhatikan kude

di atas. Kode di atas merupakan kode untuk membuat sambungan dengan database. Kurang jelas

baca lagi postingan

http://onta-programing.blogspot.com/2008/12/susah-koneksi-java-ke-database-siapa.htmlSekarang buat sebuah class main, yaitu sebuah class dimana kita akan menjalankan aplikasi.

Jadi ada satu hal yang perlu di perhatikan adalah selalu pisahkan logic program dengan form.Ok di bawah kode public static void main(String args[]) ketikan kode berikut:

try{ javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());}catch(Exception e){e.printStackTrace();}javax.swing.SwingUtilities.invokeLater(new Runnable(){public void run(){form.FUtama app=new form.FUtama();app.setVisible(true);}});

Fungsinya untuk menampilkan form utama yang kita buat tadi.Nah kalau sudah .. lanjutin aja ke bagian 2 ya sok klik disini nya.Wah ternyata banyak juga yah hehe.

Ok deh sekarang kita lanjutkan.

Setelah itu kembali ke frame utama yang telah kita buat kemudian rubah view menjadi sourcecode

Kemudian buat sebuah methodactiveForm()

sebagai berikut:public void activeForm(Boolean b){jButton1.setEnabled(b);jButton2.setEnabled(!b); jButton3.setEnabled(b); jButton4.setEnabled(b); jButton5.setEnabled(b); jButton6.setEnabled(b); jButton7.setEnabled(b); jButton8.setEnabled(b); jButton9.setEnabled(b);}

jButton1- jButton9 adalah tombol yang kita buat dalam aplikasi

masih pada frame utama klik kanan tombol yang sudah temen-temen persiapkan untuk memunculkan frame login, kalau saya tombol ini:

Kemudian pilih Event->action->actionPerformed, trus ketikan kode berikut:

dLogin=new FLogin(this, true);dLogin.setVisible(true);if(dLogin.userActive) activeForm(true); else activeForm(false);

tentu saja deklarasikan terlebih dahulu dlogin nya OK.

kalau sudah kembali ke FLogin klik kanan pada Tombol login kemudian pilih

Event->action->actionPerformed. Kemudian ketikan kode berikut: String user, ps;user=jTextField1.getText();ps= String.valueOf(jPasswordField1.getPassword());logic.KoneksiDB koneksi=new logic.KoneksiDB("localhost", "root", "opik");boolean userAda=koneksi.cekUser(user, ps);if(userAda){userActive=true;this.setVisible(false);}else{userActive=false;JOptionPane.showMessageDialog(null, "Username atau password tidak Cocok, ulangi lagi");}

Usrname dan password databasenya sesuaikan dengan username dan password di kompi kalian

Kalau sudah, klik kanan pada Tombol batal kemudian pilih Event->action->actionPerformed.Kemudian ketikan kode berikut:

this.setVisible(false);

Nah Sekarang Coba run dan Jalankan kira-kira tampilannya kayak gini:

Yup memang sederhana. Postingan ini memang dibuat untuk menunjukan pada temen-temen bahwa mudah membuat aplikasi database, apalagi dibantu dengan netbeans,Ok deh Selamat Mencoba!, Punya Ide lain??? Kirim komentar yaaaaaa

Contoh Program Tabbed Panel di JavaPosted at November 1, 2010

Contoh program berikut ini mendemonstrasikan bagaimana membuat panel-panel dalam bentuk Tab di java. Class yang digunakan adalah JTabbedPane.

Berikut ini tampilannya:

Berikut ini contoh programnya:

01import java.awt.*;

02import java.awt.event.*;

03import javax.swing.*;

04

05public class TabbedPaneDemo extends JFrame {

06private JTabbedPane tabPane;

07private JLabel label1, label2, label3;

08private JPanel panel1, panel2, panel3;

09

10public TabbedPaneDemo () {

11super ("Tabbed Pane Demo");

12

13tabPane = new JTabbedPane ();

14label1 = new JLabel ("Panel pertama", SwingConstants.CENTER);

15panel1 = new JPanel ();

16panel1.add(label1);

17tabPane.addTab ("Tab Pertama", null, panel1, "Panel Pertama");

18

19label2 = new JLabel ("Panel kedua", SwingConstants.CENTER);

20panel2 = new JPanel ();

21panel2.setBackground(Color.ORANGE);

22panel2.add(label2);

23Icon icon = new ImageIcon ("images/new.gif");

24tabPane.addTab ("Tab Kedua", icon, panel2, "Panel Kedua");

25

26label3 = new JLabel ("Panel ketiga", SwingConstants.CENTER);

27panel3 = new JPanel ();

28panel3.setBackground(Color.YELLOW);

29panel3.setLayout(new BorderLayout());

30panel3.add(new JButton ("North"), BorderLayout.NORTH);

31panel3.add(new JButton ("West"), BorderLayout.WEST);

32panel3.add(new JButton ("East"), BorderLayout.EAST);

33panel3.add(new JButton ("South"), BorderLayout.SOUTH);

34panel3.add(label3);

35tabPane.addTab ("Tab Ketiga", null, panel3, "Panel Ketiga");

36

37getContentPane().add(tabPane);

38

39setSize (400,300);

40setLocationRelativeTo (null);

41setVisible (true);

42}

43

44public static void main (String args[]) {

45TabbedPaneDemo test = new TabbedPaneDemo ();

46test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

47}

48}

Membuat Form Login SederhanaPosted at January 27, 2010

Contoh program sederhana yang menampilkan form login di dalam JFrame. Inputan username berupa JTextField dan inputan password berupa JPasswordField serta tombol dibuat dengan JButton. Form sederhana ini juga mendemonstrasikan adanya Listener berupa ActionListener.

01import java.awt.*;

02import java.awt.event.*;

03import javax.swing.*;

04

05public class SimpleLogin extends JFrame implements ActionListener {

06private JLabel label1, label2;

07private JTextField txtUser;

08private JPasswordField pwdPass;

09private JButton btnLogin, btnExit;

10

11public SimpleLogin() {

12super ("Login here...");

13

14Container container = getContentPane();

15container.setLayout(new FlowLayout());

16

17label1 = new JLabel ("Username : ");

18label2 = new JLabel ("Password : ");

19

20txtUser = new JTextField (20);

21txtUser.setToolTipText("Input Username");

22pwdPass = new JPasswordField(20);

23

24btnLogin = new JButton ("Login");

25btnLogin.addActionListener(this);

26btnExit = new JButton ("Exit");

27btnExit.addActionListener(this);

28

29container.add(label1);

30container.add(txtUser);

31container.add(label2);

32container.add(pwdPass);

33container.add(btnLogin);

34container.add(btnExit);

35

36setSize (300,200);

37setVisible (true);

38}

39

40public static void main (String args[]) {

41SimpleLogin test = new SimpleLogin();

42test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

43}

44

45private String user = "", pass = "";

46public void actionPerformed (ActionEvent e) {

47if (e.getSource() == btnLogin) {

48user = txtUser.getText();

49pass = pwdPass.getText();

50if (user.equals("achmatim") && pass.equals("otim")) {

51JOptionPane.showMessageDialog(null, "Login successfull");

52} else {

53JOptionPane.showMessageDialog(null, "Username and password dosn't match!");

54txtUser.setText("");

55pwdPass.setText("");

56txtUser.requestFocus(true);

57}

58} else if (e.getSource() == btnExit){

59JOptionPane.showMessageDialog(null,"Thanks to try my program. See you..");

60System.exit(0);

61}

62}

63}

Contoh Program ComboBox di JavaPosted at October 23, 2010

Contoh program Java berikut ini mendemonstrasikan bagaimana membuat inputan combo box (select box) serta penerapan listener di dalam object Combo Box. Untuk membuat combo box kita dapat menggunakan class JComboBox. Program akan menampilkan pilihan combo box berisi nama-nama file gambar dan jika dipilih maka gambar yang bersangkutan akan ditampilkan.

Berikut ini tampilannya:

Berikut ini program lengkapnya:

01import java.awt.*;

02import java.awt.event.*;

03import javax.swing.*;

04

05public class ComboBoxTest extends JFrame {

06

07private JComboBox cmbImage;

08private JLabel label;

09private String arrGambar[] = {"Blushing.png", "Cool.png", "Happy.png","Smile.png","Winking.png"};

10private Icon arrIcon[] = { new ImageIcon(arrGambar[0]),

11new ImageIcon(arrGambar[1]),

12new ImageIcon(arrGambar[2]),

13new ImageIcon(arrGambar[3]),

14new ImageIcon(arrGambar[4])

15};

16

17public ComboBoxTest() {

18

19super ("Mencoba Combo Box");

20Container container = getContentPane();

21container.setLayout(new FlowLayout());

22cmbImage = new JComboBox (arrGambar);

23cmbImage.setMaximumRowCount(3);

24

25cmbImage.addItemListener(

26new ItemListener() {

27public void itemStateChanged (ItemEvent e) {

28if (e.getStateChange() == ItemEvent.SELECTED)

29label.setIcon(arrIcon[cmbImage.getSelectedIndex()]);

30}

31} //end anonimous inner class

32);

33

34container.add(cmbImage);

35label = new JLabel (arrIcon[0]);

36container.add(label);

37

38setSize (350,400);

39setLocationRelativeTo(null);

40setVisible(true);

41}

42

43public static void main (String args[]) {

44ComboBoxTest test = new ComboBoxTest ();

45test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

46}

47

48} //end of class

Membuat Form Center di Netbeans

1. Setelah membuat form, pilih form yang akan dibuat center2. Masuk ke panel Properties3. Pilih code4. Cari form size policy, pada comboboxnya pilih Generate Resize Code5. Berikan checklist pada Generate Size dan Generate Center

6. Running form yang telah dibuat center, maka akan terlihat form yang tampil di tengah

Diposkan oleh Arfian Hidayat di 11:03 AM

Email This

HYPERLINK "http://www.blogger.com/share-post.g?blogID=6682738783143296849&postID=2787840573321854775&target=blog" \o "BlogThis!" \t "_blank" BlogThis!

HYPERLINK "http://www.blogger.com/share-post.g?blogID=6682738783143296849&postID=2787840573321854775&target=twitter" \o "Share to Twitter" \t "_blank" Share to Twitter

HYPERLINK "http://www.blogger.com/share-post.g?blogID=6682738783143296849&postID=2787840573321854775&target=facebook" \o "Share to Facebook" \t "_blank" Share to FacebookLabel: bahasa pemrograman java, belajar java, buat form di java netbeans, java netbeans, Java SE, membuat form center di java netbeans, tutorial java

Membuat Menu Loading Java

Author: itok toni Al-Rantisi | Posted at: 00:09 | Filed Under: NetBeans | Tutorial kali ini Cara Membuat Menu Loading dengan menggunakan java yaitu JProgress bar. dan misalnya akan menampilkan menu login dengan JFrame. pertama yang anda perlu siapkan adalah sebuat JWindow. kenapa JWindow karena Jwindows tidak mempunyai Menu Exit dan Minimize

kebetulan pada tutorial kali ini kita menggunakan gridlayout. hehehe, kita buat deklarasi yaitu terbagi 5

1. jlabel untuk nama aplikasi diatas dan autor

2. jprogressbar untuk menjalankan bar

3. gridlayout untuk mensetting tempat objek

4. timer progres untuk melakukan proses bar

5. integer untuk deklarasi perulangan bar

setelah itu kita perlu mensetting layout agar dapat berjalan baik yaitu dengan cara mendeklarasi container dan mensetlayout seperti yang diberi kurung gambar dibawah ini.

1. container.add(lblLogo) = tempat menaruh judul

2. container.add(barisProgres) = tempat menaruh menu load

3. container.add(litok) = tempat menaruh autor atau pembuat program

catatan : ketiga item diatas berurutan jadi sesuai dengan selera anda

kemudian menambahkan bar stop dengan ;

dan menambahkan start tepat dibawah kode stop

program diatas masih berada privat tugas logo(); tinggal menampilkan Menu Login JFrame yang misalnya sudah kita buat misalnya kita membuat nama Jframe dengan nama login maka tulislah kode berikut

menggunakan new bojek();.setbisible(true); untuk menampilkan form lain dan dispose untuk memberhentikan jprgress barnya

maka jika kita jalankan akan menjadi seperti gambar dibawah ini

catatan : saya sudah mengedit warna dan textnya ditahuh ditengah

Tampilkan JFrame di Tengah

Author: itok toni Al-Rantisi | Posted at: 12:21 | Filed Under: NetBeans | Menampilkan JFrom Tepat Di Tengah dengan metode Set locationketika tadi kita belajar menampilkan jframe menggunakan main maka akan keluar tepat diatas pojok kiri bagaimana jika kita menentukan lokasi agar jframe muncul tepat ditengah-tengah monitor kita, tapi sebelum semua kita pelajari maka kita perlu mengetahui penggunaan set location

buka jframe anda, untuk set location ada dua parameter yang ditawarkan yaitu berupa (x,y) dimana kita harus mengisi x dan y tersebut untuk dimengerti oleh jframe. liah contoh berikut

kita bisa memasukan code program tepat dibawah initComponets(); seperti gambar diatas, maka jframe anda akan tampil sesuai settingan lokasi yang anda tentukan

belum cukup disitu, seperti judul kita kita dapat menaruh form kita tepat ditengah-tengah monitor dengan ukuran berapapun, bagai mana caranya ? kita menggunakan getscreensize

yaitu dengan cara ;

1. import import java.awt.*; tepat dibawah package

2. deklarasi dimensi dengan contoh sebagai berikut

private Dimension UM = Toolkit.getDefaultToolkit().getScreenSize();

catatan : UM adalah nama dimensi jadi nama ini

keterangan : masukan kode tepat dibawah public class home

3. set lokasi anda dengan contoh sebagai berikut

setLocation(UM.width/2-getWidth()/2,UM.height/2-getHeight()/2);

UM.width dan UM.height adalah ditentukan oleh nama dimensi

sehingga code program menjadi seperti dibawah ini ;

coba anda jalankan program anda maka akan tampil tepat di tengah-tengah monitor apapun ukurannya. ^_^ have a nice code

Membuat Form Master

Author: itok toni Al-Rantisi | Posted at: 12:15 | Filed Under: NetBeans | cara membuat form master adalah dengan klik kanan pada package kita dan new file atau melalui

menu File -> New File , Pilih Categories: Swing GUI Forms -> dan File Types: JFrame Form. Klik Next

jika anda belum memiliki Project Baru maka anda wajib membaca ini maka ada kotak dialog dan isi dengan nama form baru dan klik finish *.

jika Anda menjalankan program dengan menu Run, Run Main Project maka MainFrame yang baru kita buat tidak akan tampil. Kecuali kita tambahkan kode method main() milik MainFrame.

Buka file Main.java yang merupakan file pertama yang dijalankan. Dan tambahkan kode seperti dibawah ini:

untuk catatan : home adalah JFrame yang kita ingin panggilmaka jform master anda akan tampil* = catatan untuk class nama itu boleh berbeda

Center Form Java Tak Sesulit YangDikira

Jam 07.03 wib SMS dari seorang teman mahasiswa masuk dan tanya tentang bagaimana cara memposisikan FORM dengan menggunakan Java Netbeans.membuat form berada ditengah menggunakan Java memang tidak semudah saat kita menggunakan Programming Language lain seperti visual basic yang cukup kita atur properties form secara GUI. tapi mrmposisikan tengah form dengan Java juga tidak sesulit kita mencari butir nasi diantara telur semut Oc..saya jawab saja SMS itu lewat blog ini karena sekalian nunggu waktunya mandi Algoritmanya seperti ini :

1. Ambil ukuran layar

2. Tentukan koordinat x dari posisi form nanti dengan cara kurangi lebar layar dengan lebar form kemudian hasilnya dibagi dengan 2

3. Sama seperti langkah 2 namun untuk sekarang adalah untuk koordinat y dari form

4. Eksekusi posisi x dan y tadi ke form yang menjadi target korban Contoh Langkah nya seperti ini :

yang koe pakai unutk mencoba ini adalah JFrame sehingga javax.swing.JFrame tidak koe import kan. setelah kita buat project dan class/file, masukan script berikut di atas public class.

import java.awt.Dimension;

import java.awt.Toolkit;

script diatas berfungsi untuk memasukan library yang sudah disiapkan oleh java netbeans untuk kita gunakan mengambil ukuran layar dan form.Langkah selanjutnya, pindah ke view design klik kanan pada form pilih Events-> window->windowactivated. kalau ada pertanyaan kenapa koq masuk ke event ini, jawabanya karena script yang kita buat ini diharapkan dieksekusi saat window diaktivkan.

Dimension posisi = Toolkit.getDefaultToolkit().getScreenSize();

int x = (posisi.width this.getWidth())/2;

int y = (posisi.height this.getHeight())/2;

this.setLocation(x,y);

Kalau semua langkah sudah dilakukan, coba cek sekali lagi apakah masih ada langkah yang belum dilakukan sekaligus cek dibagian kiri script ada tanda error atau warning atau tidak. kalau ada tanda error, kemungkinan ada script yang kurang atau kelebihan.

Jangan lupa berdoa dulu menurut agama dan keyakinan saat akan menjalankannya,oc semoga bermanfaat

Splash Screen di Java Netbeans

Selasa, Februari 09, 2010 Galiarta

HYPERLINK "http://galiarta.blogspot.com/2010/02/splash-screen-di-java-netbeans.html" \l "comment-form" 3 comments

Untuk membuat splash Screen di Java cukup mudah. Caranya:1. Buat 1 JFrame Form dengan nama FSplash2. Copy paste kode di bawah ini:

package crms;

import javax.swing.*;import java.awt.*;

public class FSplash extends JWindow implements Runnable{public void run(){JLabel SplashLabel = new JLabel(new ImageIcon(getClass().getResource("/gambar/Splash.jpg")));SplashLabel.setToolTipText("Tampilan Images Splash Screen");Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

getContentPane().add(SplashLabel,BorderLayout.CENTER);//pane.add(SplashLabel,BorderLayout.CENTER);//ProgressBar pbar= new JProgressBar(0,15000);//pane.add(pbar);

setSize(728,387);setLocation((screen.width - 728)/2,((screen.height-387)/2));show();}

}

keterangan:*ImageIcon(getClass().getResource("/gambar/Splash.jpg"))); adalah lokasi gambar yang ingin ditampilkan di splash screen ini. Sebelumnya saya telah membuat 1 package dengan nama gambar yang didalamnya berisi gambar dengan nama Splash.JPG

3. Jangan lupa menambahkan code ini di main:

public static void main(String[] args) {try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch (Exception e) {

}

FSplash FormSplash = new FSplash();//--End variable the contains formsThread ThFormSplash = new Thread(FormSplash);//End the form container variableThFormSplash.start();while(!FormSplash.isShowing()){try{//Display the FormSplash for 7 secondsThread.sleep(3000);//Thread.sleep(100);}catch(InterruptedException e){}}

FormSplash.dispose();

formlogin formlogin= new formlogin();formlogin.setVisible(true);} Ket: FormLogin adlah form yang ingin ditampilkan jika splash screen telah selesai di load.

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh