/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package c4_ttlophoc;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
/**
*
* @author kieuh
*/
public class TTLopHoc_Form
extends javax.
swing.
JFrame {
/**
* Creates new form TTLopHoc_Form
*/
int current = 0;
public TTLopHoc_Form() {
initComponents();
LoadDataToTable();
}
public void LoadDataToTable() {
try {
C4_TTLopHoc pt = new C4_TTLopHoc();
int i = 0;
while (rs.next()) {
tblLop.setValueAt(rs.getString("MaLop"), i, 0);
tblLop.setValueAt(rs.getString("TenLop"), i, 1);
tblLop.setValueAt(rs.getString("GiaoVienChuNhiem"), i, 2);
i++;
}
pt.Close();
JOptionPane.
showMessageDialog(null,
"ERROR ClassNotFoundException: " + ex.
getMessage());
JOptionPane.
showMessageDialog(null,
"ERROR SQLException: " + ex.
getMessage());
}
}
/**
* 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">//GEN-BEGIN:initComponents
private void initComponents() {
jLabel1
= new javax.
swing.
JLabel();
jLabel2
= new javax.
swing.
JLabel();
jLabel3
= new javax.
swing.
JLabel();
jLabel4
= new javax.
swing.
JLabel();
btnDau
= new javax.
swing.
JButton();
vedauMouseClicked(evt);
}
});
btnTruoc
= new javax.
swing.
JButton();
preMouseClicked(evt);
}
});
btnTiep
= new javax.
swing.
JButton();
nextMouseClicked(evt);
}
});
btnCuoi
= new javax.
swing.
JButton();
lastMouseClicked(e);
}
});
btnSua
= new javax.
swing.
JButton();
editMouseClicked(e);
}
});
btnThoat
= new javax.
swing.
JButton();
exitMouseClicked(e);
}
});
tblLop
= new javax.
swing.
JTable();
@Override
public void mouseClicked
(java.
awt.
event.
MouseEvent evt
) {
tblLopMouseClicked(evt);
}
});
jLabel5
= new javax.
swing.
JLabel();
jLabel6
= new javax.
swing.
JLabel();
jLabel1.
setFont(new java.
awt.
Font("Times New Roman",
1,
18)); // NOI18N
jLabel1.
setForeground(new java.
awt.
Color(255,
0,
0));
jLabel1.setText("THÔNG TIN LỚP HỌC");
jLabel2.
setFont(new java.
awt.
Font("Times New Roman",
0,
18)); // NOI18N
jLabel2.setText("Mã lớp");
jLabel3.
setFont(new java.
awt.
Font("Times New Roman",
0,
18)); // NOI18N
jLabel3.setText("Tên lớp");
jLabel4.
setFont(new java.
awt.
Font("Times New Roman",
0,
18)); // NOI18N
jLabel4.setText("Giáo viên chủ nhiệm");
tfTenLop.
setFont(new java.
awt.
Font("Times New Roman",
0,
18)); // NOI18N
btnDau.
setFont(new java.
awt.
Font("Times New Roman",
1,
14)); // NOI18N
btnDau.setText("Về đầu");
btnTruoc.
setFont(new java.
awt.
Font("Times New Roman",
1,
14)); // NOI18N
btnTruoc.setText("Trước");
btnTiep.
setFont(new java.
awt.
Font("Times New Roman",
1,
14)); // NOI18N
btnTiep.setText("Tiếp");
btnCuoi.
setFont(new java.
awt.
Font("Times New Roman",
1,
14)); // NOI18N
btnCuoi.setText("Về cuối");
btnSua.
setFont(new java.
awt.
Font("Times New Roman",
1,
14)); // NOI18N
btnSua.setText("Sửa");
btnThoat.
setFont(new java.
awt.
Font("Times New Roman",
1,
14)); // NOI18N
btnThoat.setText("Thoát");
new Object[][] { { null,
null,
null },
{ null,
null,
null },
{ null,
null,
null },
{ null,
null,
null },
{ null, null, null }, { null, null, null }, { null, null, null } },
new String[] { "Mã lớp",
"Tên lớp",
"Giáo viên chủ nhiệm" }));
tblLop.setShowVerticalLines(true);
jScrollPane1.setViewportView(tblLop);
jLabel5.
setFont(new java.
awt.
Font("Segoe UI",
1,
14)); // NOI18N
jLabel5.
setForeground(new java.
awt.
Color(255,
0,
0));
jLabel5.setText("Thông tin lớp");
jLabel6.
setFont(new java.
awt.
Font("Segoe UI",
1,
14)); // NOI18N
jLabel6.
setForeground(new java.
awt.
Color(255,
0,
0));
jLabel6.setText("Danh sách lớp");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
layout.
createSequentialGroup().
addContainerGap(javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)
.addComponent(jLabel1).addGap(314, 314, 314))
.addGroup(layout.createSequentialGroup().addGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup().addGap(87, 87, 87).addGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 656,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup().addGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, 161,
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(tfTenLop, javax.swing.GroupLayout.Alignment.LEADING,
javax.
swing.
GroupLayout.
DEFAULT_SIZE,
385,
Short.
MAX_VALUE)
.addComponent(tfMaLop, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tfGVCN))
.addGap(92, 92, 92))
.addGroup(layout.createSequentialGroup().addComponent(btnDau)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)
.addComponent(btnTruoc).addGap(46, 46, 46).addComponent(btnTiep)
.addGap(53, 53, 53).addComponent(btnCuoi).addGap(39, 39, 39)
.addComponent(btnSua).addGap(28, 28, 28).addComponent(btnThoat))))
.addGroup(layout.createSequentialGroup().addGap(20, 20, 20)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 107,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 115,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.
addContainerGap(108,
Short.
MAX_VALUE)));
layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup().addGap(18, 18, 18).addComponent(jLabel1).addGap(7, 7, 7)
.addComponent(jLabel5).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2).addComponent(tfMaLop, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3).addComponent(tfTenLop, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4).addComponent(tfGVCN, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(btnTiep).addComponent(btnCuoi).addComponent(btnSua).addComponent(btnThoat)
.addComponent(btnDau).addComponent(btnTruoc))
.addGap(2, 2, 2).addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE)
.
addContainerGap(27,
Short.
MAX_VALUE)));
pack();
}// </editor-fold>//GEN-END:initComponents
private void tblLopMouseClicked
(java.
awt.
event.
MouseEvent evt
) {// GEN-FIRST:event_tblxemotoMouseClicked
int row = tblLop.getSelectedRow();
tfMaLop.setText(tblLop.getValueAt(row, 0).toString());
tfTenLop.setText(tblLop.getValueAt(row, 1).toString());
tfGVCN.setText(tblLop.getValueAt(row, 2).toString());
}
private void vedauMouseClicked
(java.
awt.
event.
ActionEvent evt
) {// GEN-FIRST:event_tblxemotoMouseClicked
int current = 0;
tblLop.setRowSelectionInterval(current, current);
tfMaLop.setText(tblLop.getValueAt(current, 0).toString());
tfTenLop.setText(tblLop.getValueAt(current, 1).toString());
tfGVCN.setText(tblLop.getValueAt(current, 2).toString());
}
private void preMouseClicked
(java.
awt.
event.
ActionEvent evt
) {
int current = tblLop.getSelectedRow();
current--;
if (current < 0) {
JOptionPane.
showMessageDialog(null,
"Đang ở đầu danh sách !");
return;
}
tblLop.setRowSelectionInterval(current, current);
tfMaLop.setText(tblLop.getValueAt(current, 0).toString());
tfTenLop.setText(tblLop.getValueAt(current, 1).toString());
tfGVCN.setText(tblLop.getValueAt(current, 2).toString());
}
private void nextMouseClicked
(java.
awt.
event.
ActionEvent evt
) {
int count = 0;
for (int row = 0; row < tblLop.getRowCount(); row++) { // duyệt qua từng dòng bằng vòng lặp for, getRowCount()
// được sử dụng để lấy tổng số dòng của JTable,
Object value
= tblLop.
getValueAt(row,
0); // Lấy giá trị của ô đầu tiên của hàng đó
if (value != null) { // Kiểm tra giá trị của ô có null hay không
count++; // Tăng số dòng có dữ liệu lên 1 nếu ô không phải là null
}
}
int current = tblLop.getSelectedRow();
current++;
if (current >= count) {
return;
}
tblLop.setRowSelectionInterval(current, current);
tfMaLop.setText(tblLop.getValueAt(current, 0).toString());
tfTenLop.setText(tblLop.getValueAt(current, 1).toString());
tfGVCN.setText(tblLop.getValueAt(current, 2).toString());
}
private void lastMouseClicked
(java.
awt.
event.
ActionEvent evt
) {
int count = 0;
for (int row = 0; row < tblLop.getRowCount(); row++) { // duyệt qua từng dòng bằng vòng lặp for, getRowCount()
// được sử dụng để lấy tổng số dòng của JTable,
Object value
= tblLop.
getValueAt(row,
0); // Lấy giá trị của ô đầu tiên của hàng đó
if (value != null) { // Kiểm tra giá trị của ô có null hay không
count++; // Tăng số dòng có dữ liệu lên 1 nếu ô không phải là null
}
}
int current = count - 1;
tblLop.setRowSelectionInterval(current, current);
tfMaLop.setText(tblLop.getValueAt(current, 0).toString());
tfTenLop.setText(tblLop.getValueAt(current, 1).toString());
tfGVCN.setText(tblLop.getValueAt(current, 2).toString());
}
private void editMouseClicked
(java.
awt.
event.
ActionEvent evt
) {
int row = 0;
if (tfMaLop.getText().equals("") || tfTenLop.getText().equals("") || tfGVCN.getText().equals("")) {
JOptionPane.
showMessageDialog(this,
"Nhập đầy đủ thông tin !");
tfMaLop.requestFocus();
return;
}
try {
Class.forName("com.mysql.jdbc.Driver");//nap trinh dieu khien
String url
="jdbc:mysql://localhost:3306/qllh";//Đường dẫn vào Data Base
String sql
= "Update LopHoc set tenlop=?, giaovienchunhiem=? where malop=?";
st.setString(1, tfTenLop.getText());
st.setString(2, tfGVCN.getText());
st.setString(3, tfMaLop.getText());
row = st.executeUpdate();
if (row > 0)
JOptionPane.
showMessageDialog(this,
"Update thành công ! ");
else
JOptionPane.
showMessageDialog(this,
"Mã lớp bạn nhập không tồn tại! ");
con.close();
LoadDataToTable();
tblLop.setRowSelectionInterval(row + 1, row + 1);
}
}
private void exitMouseClicked
(java.
awt.
event.
ActionEvent evt
) {
}
/**
* @param args the command line arguments
*/
public static void main
(String args
[]) {
/* Set the Nimbus look and feel */
// <editor-fold defaultstate="collapsed" desc=" Look and feel setting code
// (optional) ">
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the default
* look and feel. For details see
* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.
swing.
UIManager.
setLookAndFeel(info.
getClassName());
break;
}
}
java.util.logging.Logger.getLogger(TTLopHoc_Form.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
java.util.logging.Logger.getLogger(TTLopHoc_Form.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
java.util.logging.Logger.getLogger(TTLopHoc_Form.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
java.util.logging.Logger.getLogger(TTLopHoc_Form.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
}
// </editor-fold>
/* Create and display the form */
public void run() {
new TTLopHoc_Form().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.
swing.
JButton btnCuoi
;
private javax.
swing.
JButton btnDau
;
private javax.
swing.
JButton btnSua
;
private javax.
swing.
JButton btnThoat
;
private javax.
swing.
JButton btnTiep
;
private javax.
swing.
JButton btnTruoc
;
private javax.
swing.
JLabel jLabel1
;
private javax.
swing.
JLabel jLabel2
;
private javax.
swing.
JLabel jLabel3
;
private javax.
swing.
JLabel jLabel4
;
private javax.
swing.
JLabel jLabel5
;
private javax.
swing.
JLabel jLabel6
;
private javax.
swing.
JTable tblLop
;
// End of variables declaration//GEN-END:variables
}