Contoh -contoh dalam artikel ini berbagi kode spesifik dari kode sumber sistem manajemen informasi siswa Java untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1. Kelas St.StudetManage (Antarmuka Utama)
paket com.sms3; impor java.awt.*; impor javax.swing.*; impor java.awt.event.*; Public Class StudentManage memperluas JFRame mengimplementasikan ActionListener { / ** * @param args * / public static void main (string [] args) {// todo Metode yang dihasilkan secara otomatis Stub StudentManage baru (); } // ======== Panel Kontrol Privat Jlabel QueryLab = NULL; Private JTextField QueryTxt = null; Private JButton QueryBtn = null; Private Jbutton allbtn = null; Private Jtable HasilTtB = null; Private JScrollPane JSP = NULL; private jbutton addbtn = null; Private Jbutton DeleteBtn = null; Private Jbutton UpdateBtn = null; Private Jpanel Top = NULL; Private Jpanel Bottom = NULL; // ======= Private Stumodel SM = NULL; // Konstruktor Public StudentManage () {/**************************** Inisialisasi Kontrol Panel ****************** // ========= Query Bar QueryLab = New Jlabel ("Harap masukkan nama:"); querytxt = JTextField baru (10); querybtn = jbutton baru ("kueri"); allbtn = jbutton baru ("semua"); //...... Bar Kueri Tambahkan untuk mendengarkan querybtn.addactionListener (ini); querybtn.setactionCommand ("kueri"); allbtn.addactionlistener (ini); allbtn.setactionCommand ("all"); // ============ Kolom Tambah-dan-Deletik AddBtn = JButton Baru ("Tambah"); deleteBtn = jbutton baru ("hapus"); updateBtn = new jbutton ("ubah"); //......Hadah kolom tambahan dan peletur mendengarkan addbtn.addactionListener (ini); addbtn.setActionCommand ("add"); deletebtn.addactionListener (ini); deletebtn.setactionCommand ("delete"); deletebtn.addactionListener (ini); deletebtn.setactionCommand ("delete"); updateBtn.addactionListener (ini); updateBtn.setActionCommand ("Update"); // ======== Buat tata letak keseluruhan jendela // ...... Top Query Bar Top = new jpanel (); top.add (querylab); top.add (querytxt); top.add (querybtn); top.add (allbtn); // ...... kolom tambahan dan peletur tingkat bawah = jpanel baru (); Bottom.add (addBtn); Bottom.add (deleteBtn); Bottom.Add (UpdateBtn); // ...... Bilah tampilan tingkat menengah SM = stumodel baru (); String sql = "pilih * dari stu"; sm.querystu (SQL, null); resulttb = jtable baru (sm); jsp = jscrollpane baru (resultTb); //...... membuat tata letak keseluruhan ini.add (atas, borderlayout.north); this.add (jsp, borderlayout.center); this.add (bawah, borderlayout.south); // ======= atur properti jendela this.setsize (400, 300); this.setDefaultCloseOperation (jframe.exit_on_close); this.setVisible (true); this.setresizable (false); } // dengarkan @Override public void actionPerformed (ActionEvent e) {// todo Metode yang dihasilkan secara otomatis Stub if (e.getactionCommand (). Equals ("Query")) { /************************************************************. // ========= Get The Name Of The Inputx. if (name.length ()! = 0) {// ======== Ketika input nama valid, jalankan kueri //...... Tentukan string parameter sql = "Pilih * dari Stu di mana stuname =?"; String [] paras = {name}; //...... Update model jtableupdate (sql, paras); } else {// ========== Saat namanya kosong, atur pengingat joptionpane.showmessagealog (ini, "input nama tidak bisa kosong"); }} lain jika (e.getactionCommand (). Equals ("add")) { / ******************************** / Stuadddialog baru (ini, "Tambahkan informasi siswa", true); String sql = "pilih * dari stu"; jtableupdate (sql, null); } else if (e.getactionCommand (). Equals ("all")) { / ********************************** semua pertunjukan ******************************** SQL = "SELECT*FROM Stu"; jtableupdate (sql, null); } else if (e.getactionCommand (). Equals ("delete")) { /******************************** // ========= DAPATKAN NOMOR LINE PILIHAN INT ROWNUM = this.ResultTB.getSelectedRow (); if (rownum == -1) {joptionpane.showmessagealog (ini, "Silakan pilih baris"); kembali ; } // ========= DAPATKAN NOMOR SISWA STUSES STRING StuID = (String) Sm.GetValueat (ROWNUM, 0); // ========= Hapus string siswa sql = "hapus dari stu where stuid =?"; String [] paras = {stuid}; Stumodel tmp = stumodel baru (); tmp.cudstu (SQL, paras); // ========== Perbarui model sql = "pilih * dari stu"; jtableupdate (sql, null); } else if (e.getactionCommand (). Equals ("Update")) { /**************************** Modifikasi ********************** // ======== DAPATKAN NOMOR LINE PEMILIHAN INT ROWNUM = this.ResultTB.GetSelectedRow (); if (rownum == -1) {joptionpane.showmessagealog (ini, "Silakan pilih baris"); kembali ; } baru StuupdateLialog (ini, "Modifikasi Informasi Siswa", Benar, SM, Rownum); String sql = "pilih * dari stu"; jtableupdate (sql, null); }} // =========== Perbarui data dalam jtable public void jtableupdate (string sql, string [] paras) {//...create model sm = stumodel baru (); sm.querystu (SQL, paras); //...... Updasi resulttb.setModel (sm); }}2. Kelas Stumodel (Model Database Siswa)
paket com.sms3; impor java.sql.Resultset; impor java.util.vector; impor javax.swing.table.abstracttableModel; Stumodel kelas publik memperluas abstraktablemodel {private vector columnNames; ROWDATES VECTOR PRIBADI; // stumodel publik () {string sql = "pilih * dari stu"; String [] paras = {}; } // ========= Tambah dan hapus siswa public boolean cudstu (string sql, string [] paras) {return new sqlhelper (). CudExecute (sql, paras); } // ========== Permintaan public public void querystu (String sql, string [] paras) {sqlhelper sqlhelper = null; // ========= Inisialisasi jTable Information ColumnNames = vektor baru (); rowDates = vektor baru (); ColumnNames.Add ("Nomor Siswa"); columnNames.add ("name"); ColumnNames.Add ("Jenis Kelamin"); ColumnNames.Add ("usia"); ColumnNames.Add ("Home"); ColumnNames.Add ("Bagian"); coba {sqlhelper = sqlhelper baru (); Hasil rs = sqlhelper.queryexecute (sql, paras); while (rs.next ()) {vector row = new vector (); row.add (rs.getString (1)); row.add (rs.getString (2)); row.add (rs.getString (3)); row.add (rs.getString (4)); row.add (rs.getString (5)); row.add (rs.getString (6)); rowdates.add (baris); }} catch (exception e) {// todo: handle exception} akhirnya {sqlhelper.close (); }} @Override Public int getColumnCount () {// TODO METODE AUTO-ENTO-Stub Return this.columnnames.size (); } @Override public int getRowCount () {// TODO METODE AUTO-ENTO-METODE RETTOM RETTRY this.rowdates.size (); } @Override Objek publik getValueat (int row, int col) {// todo Metode yang dihasilkan otomatis stub if (! Rowdates.isempty ()) return ((vector) this.rowdates.get (row)). Get (col); lagi kembali nol; } @Override Public String getColumnName (kolom int) {// TODO Metode Auto-Dihasilkan Return (String) this.columnnames.get (kolom); }}3. Stuadddialog Class (Tambahkan Subinterface Informasi Siswa)
paket com.sms3; impor java.awt.borderlayout; impor java.awt.dialog; impor java.awt.frame; impor java.awt.gridlayout; impor java.awt.event.actionevent; impor java.awt.event.actionlistener; impor javax.swing.*; Kelas publik Stuadddialog memperluas JDialog mengimplementasikan ActionListener {// ========== Kontrol panel // ...... judul kiri bar pribadi Jlabel Idlab, namelab, sexlab, agelab, jglab, deptlab; //......Eleksi Isi informasi di sebelah kanan untuk mengisi kolom pribadi JTextfield IDTXT, NAMETXT, SEXTXT, AGETXT, JGTXT, DEPTTXT; //......Dadd dan Batal tombol Private JBUTTON ADDBTN, CancelBtn; //...... Kontrol Layout Private Jpanel Kiri, tengah, bawah; // konstruktor publik stuadddialog (pemilik bingkai, judul string, modal boolean) {// ========= Tulis ulang metode kelas induk super (pemilik, judul, modal); // ============ Kolom tag di sebelah kiri adalah idlab = JLabel baru ("Nomor Siswa:"); namelab = jlabel baru ("name:"); sexlab = jlabel baru ("gender:"); agelab = jlabel baru ("usia:"); jglab = jlabel baru ("kampung halaman:"); deptlab = jlabel baru ("arah:"); // ========= Isi kolom informasi di sebelah kanan adalah idtxt = new jTextField (); nametxt = new jTextField (); sextxt = new jTextField (); agetxt = new jTextField (); agetxt = new jTextField (); agetxt = new jTextField (); jgtxt = jTextField baru (); depttxt = jTextField baru (); // =========== Tambah dan batalkan tombol addBtn = jbutton baru ("add"); cancelbtn = jbutton baru ("batal"); //......Hadd Dengarkan addbtn.addactionListener (ini); addbtn.setActionCommand ("add"); cancelbtn.addactionListener (ini); cancelbtn.setActionCommand ("Batal"); // ======= Buat tata letak // ...... Buat kolom kiri = jpanel baru (); left.setlayout (GridLayout baru (6, 1)); left.add (idlab); left.add (namelab); left.add (sexlab); left.add (agelab); left.add (jglab); left.add (deptlab); //...... Buat pusat kolom kanan = jpanel baru (); center.setlayout (GridLayout baru (6, 1)); center.add (idtxt); center.add (nametxt); center.add (sextxt); center.add (agetxt); center.add (jgtxt); center.add (depttxt); // ==================== Tombol Tambah dan Batalkan Bottom = JPanel baru (); Bottom.add (addBtn); Bottom.add (cancelbtn); // ========= Tata letak keseluruhan this.add (kiri, borderlayout.west); this.add (tengah, borderlayout.center); this.add (bawah, borderlayout.south); // ========== Mengatur atribut jendela this.setsize (300, 250); this.setresizable (false); this.setVisible (true); } @Override public void actionPerformed (ActionEvent e) {// TODO Metode yang dihasilkan secara otomatis Stub if (e.getactionCommand (). Equals ("add")) { / ***************************************** / stumodel tmp = stumodel baru (); String sql = "masukkan ke dalam nilai stu (?,?,?,?,?,?)"; String [] paras = {idtxt.getText (), nametxt.getText (), sextxt.getText (), agetxt.getText (), jgtxt.getText (), depttxt.getText ()}; if (! tmp.cudstu (sql, paras)) joptionpane.showmessagedialog (ini, "tambahkan informasi siswa gagal"); // ======== Tutup jendela this.dispose (); } lain jika (e.getactionCommand (). Equals ("cancel")) {// ========= Tutup jendela this.dispose (); }}}4. Stuupdatedialog Class (Modifikasi Subinterface Informasi Siswa)
paket com.sms3; impor java.awt.borderlayout; impor java.awt.frame; impor java.awt.gridlayout; impor java.awt.event.actionevent; impor java.awt.event.actionlistener; impor javax.swing.jbutton; impor javax.swing.jdialog; impor javax.swing.jlabel; impor javax.swing.joptionpane; impor javax.swing.jpanel; impor javax.swing.jpanel; impor javax.swing.jtextfield; impor javax.swing.table.abstracttableModel; Stuupdatedialog kelas publik memperluas JDialog mengimplementasikan ActionListener {// ========== Kontrol panel // ...... judul kiri bar pribadi jlabel idlab, namelab, sexlab, agelab, jglab, deptlab; //...... Informasi Right Pilih Isi Kolom Private JTextfield IDTXT, NAMETXT, SEXTXT, AGETXT, JGTXT, DEPTTXT; //...Add dan Batal tombol Private JBUTTON ADDBTN, CancelBtn; //...... Kontrol Layout Private Jpanel Kiri, tengah, bawah; // Konstruktor Public StuupDateLialog (pemilik bingkai, judul string, modal boolean, stumodel SM, int rownum) {// ========= Menulis ulang metode kelas induk super (pemilik, judul, modal); // ============ Label kiri IDLAB = JLabel baru ("Nomor Siswa:"); namelab = jlabel baru ("name:"); sexlab = jlabel baru ("gender:"); agelab = jlabel baru ("usia:"); jglab = jlabel baru ("kampung halaman:"); DeptLab = JLabel baru ("Dimensi:"); // ======== Isi informasi di sisi kanan idtxt = new jTextField (); idtxt.setText ((string) sm.getValueat (rownum, 0)); idtxt.seteditable (false); nametxt = new jTextField (); nametxt.setText ((string) sm.getValueat (rownum, 1)); sextxt = new jTextField (); sextxt.setText ((string) sm.getValueat (rownum, 2)); agetxt = new jTextField (); agetxt.setText ((string) sm.getValueat (rownum, 3)); jgtxt = jTextField baru (); jgtxt.setText ((string) sm.getValueat (rownum, 4)); depttxt = jTextField baru (); depttxt.setText ((string) sm.getValueat (rownum, 5)); // ========= Tambah dan batalkan tombol addbtn = jbutton baru ("ubah"); cancelbtn = jbutton baru ("batal"); //......Hadd Dengarkan addbtn.addactionListener (ini); addbtn.setactionCommand ("update"); cancelbtn.addactionListener (ini); cancelbtn.setActionCommand ("Batal"); // ======== Buat tata letak // ...... create left = new jpanel (); left.setlayout (GridLayout baru (6, 1)); left.add (idlab); left.add (namelab); left.add (sexlab); left.add (agelab); left.add (jglab); left.add (deptlab); //...... Buat pusat kolom kanan = jpanel baru (); center.setlayout (GridLayout baru (6, 1)); center.add (idtxt); center.add (nametxt); center.add (sextxt); center.add (agetxt); center.add (jgtxt); center.add (depttxt); // ============= Lapisan bawah menambah dan membatalkan tombol bawah = jpanel baru (); Bottom.add (addBtn); Bottom.add (cancelbtn); // ======== Tata letak keseluruhan this.add (kiri, borderlayout.west); this.add (tengah, borderlayout.center); this.add (bawah, borderlayout.south); // ========== Mengatur atribut jendela this.setsize (300, 250); this.setresizable (false); this.setVisible (true); } @Override public void actionPerformed (ActionEvent e) {// TODO Metode yang dihasilkan otomatis Stub if (e.getactionCommand (). Equals ("update")) { / ********************************************** / Stumodel TMP = Stumodel baru (); String sql = "Perbarui Stu set stuname =?, Stusex =?, Stuage =?, Stujg =?, Studept =? Di mana stuid =?"; String [] paras = {nametxt.getText (), sextxt.getText (), agetxt.getText (), jgtxt.getText (), depttxt.getText (), idtxt.getText ()}; if (! tmp.cudstu (sql, paras)) joptionpane.showmessagedialog (ini, "gagal memodifikasi informasi siswa"); // ======== Tutup jendela this.dispose (); } lain jika (e.getactionCommand (). Equals ("cancel")) {// ========= Tutup jendela this.dispose (); }}} 5. Kelas Sqlhelper (Kelas Database Terendah)
paket com.sms3; impor java.sql.*; kelas publik Sqlhelper {// ========= Database koneksi pribadi ct = null; Private PrepsiedStatement PS = NULL; Hasil pribadi rs = null; Private String Driver = "com.microsoft.sqlserver.jdbc.sqlServerDriver"; Private String url = "jdbc: sqlserver: //127.0.0.1: 1433; database = studentman"; private string user = "SA"; private string passwd = "****"; // ============ Permintaan Hasil publik QueryExecute (String SQL, String [] paras) {coba {// ======== 1. Muat kelas driver.forname (driver); // ======== 2. Hubungkan CT = DriverManager.getConnection (URL, USER, PASSWD); // ======== 3. Buat PREDIDSTATEMENT PS = CT.PrepareStatement (SQL); // ======== 4. Tetapkan nilai ke tanda tanya jika (paras! = Null) {for (int i = 0; i <paras.length; i ++) {ps.setstring (i+1, paras [i]); }} // ======== 5. Mengeksekusi rs = ps.executeQuery (); } catch (Exception e) {// todo: handle Exception E.PrintStackTrace (); } akhirnya {//this.close (); } // ========== Nilai pengembalian pengembalian Rs; } // ========= Tambah atau hapus public boolean cudexecute (string sql, string [] paras) {boolean b = true; coba {// ========= 1. Muat kelas driver.forname (driver); // ======= 2. Hubungkan CT = DriverManager.getConnection (URL, USER, PASSWD); // ======= 3. Buat PREDIDSTATEMENT PS = CT.PrepareStatement (SQL); // ======== 4. Tetapkan nilai ke tanda tanya untuk (int i = 0; i <paras.length; i ++) {ps.setstring (i+1, paras [i]); } // ========= 5. Jalankan if (ps.executeUpdate ()! = 1) b = false; } catch (exception e) {// todo: menangani pengecualian b = false; e.printstacktrace (); } akhirnya {this.close (); } // =========== Nilai pengembalian pengembalian b; } // =========== Tutup sumber daya public close () {coba {if (rs! = Null) rs.close (); if (ps! = null) ps.close (); if (ct! = null) ct.close (); } catch (Exception e2) {// todo: menangani pengecualian e2.printstacktrace (); }}}Antarmuka utama
Tambahkan Antarmuka Informasi Siswa
Ubah Antarmuka Informasi Siswa
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.