0% found this document useful (0 votes)
4 views53 pages

Tai Lieu Java

The document outlines the implementation of a Data Access Object (DAO) and Business Logic Layer (BUS) for managing customer data in a Java application. It includes methods for adding, updating, deleting, and retrieving customer information from a SQL Server database, as well as handling user interactions through a graphical user interface. The controller manages the flow of data between the UI and the business logic, ensuring that user inputs are validated and processed correctly.

Uploaded by

thienbaoqn2004
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views53 pages

Tai Lieu Java

The document outlines the implementation of a Data Access Object (DAO) and Business Logic Layer (BUS) for managing customer data in a Java application. It includes methods for adding, updating, deleting, and retrieving customer information from a SQL Server database, as well as handling user interactions through a graphical user interface. The controller manages the flow of data between the UI and the business logic, ensuring that user inputs are validated and processed correctly.

Uploaded by

thienbaoqn2004
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Thêm sửa xóa trong DAO

package DAO;

import Config.database_connection.ConnectToSQLServer;

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

public class KhachHangDAO {

Connection conn = null;

public ArrayList<KhachHangDTO> docDanhSach() {

ArrayList<KhachHangDTO> dsKhachHang = new ArrayList<>();

try {

conn = [Link]();

Statement stmt = [Link]();

ResultSet rs = [Link]("SELECT * FROM KhachHang");

while([Link]()) {

KhachHangDTO khachHang = new KhachHangDTO();

[Link]([Link]("MaKhachHang"));

[Link]([Link]("Ho"));
[Link]([Link]("Ten"));

[Link]([Link]("GioiTinh"));

[Link]([Link]("NgaySinh"));

[Link]([Link]("SDT"));

[Link]([Link]("email"));

[Link]([Link]("cccd"));

[Link](khachHang);

[Link](conn);

} catch (SQLException e) {

[Link]((Component)null, "Không thể đọc


danh sách");

return dsKhachHang;

public boolean themKhachHang(KhachHangDTO khachHang) {

try {

String query = "Insert into KhachHang (MaKhachHang, Ho, Ten,


GioiTinh, NgaySinh, SDT, email, cccd) values (?, ?, ?, ?, ?, ?, ?, ?)";

conn = [Link]();

PreparedStatement pstmt = [Link](query);

[Link](1, [Link]());

[Link](2, [Link]());

[Link](3, [Link]());

[Link](4, [Link]());
[Link](5, [Link]());

[Link](6, [Link]());

[Link](7, [Link]());

[Link](8, [Link]());

[Link]();

[Link]();

[Link](conn);

return true;

} catch (SQLException e) {

[Link]((Component)null, "Không thể thêm


vào danh sách!");

return false;

public Boolean suaKhachHang(KhachHangDTO khachHang) {

try {

String query = "UPDATE KhachHang SET Ho = ?, Ten = ?, GioiTinh


= ?, NgaySinh = ?, SDT = ?, email = ?, cccd = ? Where MaKhachHang = ?";

conn = [Link]();

PreparedStatement pstmt = [Link](query);

[Link](1, [Link]());

[Link](2, [Link]());

[Link](3, [Link]());

[Link](4, [Link]());

[Link](5, [Link]());

[Link](6, [Link]());
[Link](7, [Link]());

[Link](8, [Link]());

[Link]();

[Link]();

[Link](conn);

return true;

} catch (SQLException e) {

[Link]((Component)null, "Không thể cập


nhật khách hàng này!");

return false;

public Boolean xoaKhachHang(String maKhachHang) {

try {

String query = "DELETE FROM KhachHang WHERE MaKhachHang


= ?";

conn = [Link]();

PreparedStatement pstmt = [Link](query);

[Link](1, maKhachHang);

[Link]();

[Link]();

[Link](conn);

return true;

} catch (SQLException e) {

[Link]((Component)null, "Không thể xóa


khách hàng này!");

return false;
}

Thêm sửa xóa trong BUS


package BUS;

import [Link];

import [Link];

import [Link];

public class KhachHangBUS {

private ArrayList<KhachHangDTO> dsKhachHang;

private final KhachHangDAO kh;

public KhachHangBUS() {

kh = new KhachHangDAO();

dsKhachHang = new ArrayList();

docdsKhachHang();

private void docdsKhachHang() {

dsKhachHang = [Link]();

public ArrayList<KhachHangDTO> getdsKhachHang() {


if ([Link]()) {

docdsKhachHang();

return dsKhachHang;

public void themKhachHang(KhachHangDTO khachHang) {

if ([Link](khachHang)) {

[Link](khachHang);

public void xoaKhachHang(String maKhachHang) {

if ([Link](maKhachHang)) {

[Link]((lmb) ->
[Link]().equals(maKhachHang));

public void suaKhachHang(KhachHangDTO khachHang) {

if ([Link](khachHang)) {

for(int i = 0; i < [Link](); ++i) {

if
(((KhachHangDTO)[Link](i)).equals([Link](
))) {

[Link](i, khachHang);

break;

}
}

public ArrayList<KhachHangDTO> timDSKhachHangTheoId(String maKH)


{

if([Link]()){

docdsKhachHang();

ArrayList<KhachHangDTO> dsKHTimThay = new ArrayList<>();

for(KhachHangDTO kh : dsKhachHang) {

if([Link]().toLowerCase().trim().contains(([Link]()
.trim()))) {

[Link](kh);

return dsKHTimThay;

public ArrayList<KhachHangDTO> timDSKhachHangTheoCccd(String id) {

if([Link]()){

docdsKhachHang();

ArrayList<KhachHangDTO> dsKHTimThay = new ArrayList<>();

for(KhachHangDTO kh : dsKhachHang) {

if([Link]().trim().contains(([Link]()))) {

[Link](kh);
}

return dsKHTimThay;

public KhachHangDTO layMotKhachHangTheoCccd(String cccd) {

for(KhachHangDTO kh : dsKhachHang) {

if([Link]().equals(cccd)){

return kh;

return null;

public KhachHangDTO timMotKH(String maKH) {

if([Link]()){

docdsKhachHang();

for (KhachHangDTO kh : dsKhachHang) {

if ([Link]().equals(maKH)) {

return kh;

return null;

}
Controler
package Control;

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

import [Link];

public class KhachHangController {

private ArrayList<KhachHangDTO> dsKhachHang;

private final KhachHangForm panelForm;

private final KhachHangControlForm panelControl;

private final KhachHangTableForm panelTable;


private final KhachHangBUS khachHangBUS = new KhachHangBUS();

public KhachHangController(KhachHangPanelForm panel) {

[Link] = [Link]();

[Link] = [Link]();

[Link] = [Link]();

public void layDanhSachKhachHang() {

DefaultTableModel modelDS = [Link]();

dsKhachHang = [Link]();

[Link](modelDS, dsKhachHang);

[Link]().setModel(modelDS);

private KhachHangDTO layKhachHangTheoMa(String id) {

KhachHangDTO kh = new KhachHangDTO();

KhachHangBUS bus = new KhachHangBUS();

ArrayList<KhachHangDTO> dsKH = [Link]();

for(KhachHangDTO dto : dsKH) {

if([Link]().equals(id)) {

kh = dto;

break;

return kh;

}
private void setForm(KhachHangDTO kh) {

[Link]().setText([Link]());

[Link]().setText([Link]());

[Link]().setText([Link]());

[Link]([Link]());

[Link]().setText([Link]().toString());

[Link]().setText([Link]());

[Link]().setText([Link]());

[Link]().setText([Link]());

public void conTrol() {

//set form

[Link](new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

int rowSelected = [Link]().getSelectedRow();

if(rowSelected != -1) {

[Link]().setEditable(false);

String maKH = [Link]().getValueAt(rowSelected,


0).toString();

KhachHangDTO onlyKH = [Link](maKH);

if(onlyKH != null) {

setForm(onlyKH);

}
});

//delete form

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

[Link]().setEditable(true);

[Link]().clearSelection();

[Link]();

});

//add khach hang

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String maKh = [Link]().getText().trim();

if([Link]()) {

[Link](null, "Vui lòng nhập mã khách


hàng!");

return;

if([Link](maKh) != null) {

[Link](null, "Mã khách hàng đã tồn


tại!");

return;

try {
Date ngaySinh =
[Link]([Link]().getText());

String gioiTinh = [Link]();

String ho = [Link]().getText().trim();

String ten = [Link]().getText().trim();

String sdt = [Link]().getText().trim();

if(![Link]("\\d{10}")) {

[Link](null, "Số điện thoại bạn


nhập không đúng vui lòng nhập lại!");

return;

String email = [Link]().getText().trim();

if(![Link]("^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$")) {

[Link](null, "Email bạn nhập không


đúng vui lòng nhập lại!");

return;

String cccd = [Link]().getText().trim();

if(![Link]("^0\\d{11}$" + //

"")) {

[Link](null, "Cccd bạn nhập không


đúng vui lòng nhập lại!");

return;

if([Link](cccd) != null) {

[Link](null, "Cccd bị trùng vui lòng


nhập lại!");

return;
}

KhachHangDTO kh = new KhachHangDTO();

[Link](maKh);

[Link](ho);

[Link](ten);

[Link](gioiTinh);

[Link](ngaySinh);

[Link](sdt);

[Link](email);

[Link](cccd);

[Link](kh);

[Link]();

layDanhSachKhachHang();

[Link](null, "Thêm khách hàng thành


công!");

} catch(Exception ex) {

[Link](null, "Lỗi nhập dữ liệu: " +


[Link]());

});

//edit

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {


int rowClick = [Link]().getSelectedRow();

if (rowClick != -1) {

String maKh = [Link]().getText().trim();

if([Link]()) {

[Link](null, "Vui lòng nhập mã


khách hàng!");

return;

if([Link](maKh) != null) {

[Link](null, "Mã khách hàng đã tồn


tại!");

return;

try {

Date ngaySinh =
[Link]([Link]().getText());

String gioiTinh = [Link]();

String ho = [Link]().getText().trim();

String ten = [Link]().getText().trim();

String sdt = [Link]().getText().trim();

if(![Link]("\\d{10}")) {

[Link](null, "Số điện thoại bạn


nhập không đúng vui lòng nhập lại!");

return;

String email = [Link]().getText().trim();

if(![Link]("^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$")) {
[Link](null, "Email bạn nhập
không đúng vui lòng nhập lại!");

return;

String cccd = [Link]().getText().trim();

if(![Link]("^0\\d{11}$")) {

[Link](null, "Cccd bạn nhập


không đúng vui lòng nhập lại!");

return;

if([Link](cccd) !=
null) {

[Link](null, "Cccd bị trùng vui


lòng nhập lại!");

return;

KhachHangDTO kh = new KhachHangDTO();

[Link](maKh);

[Link](ho);

[Link](ten);;

[Link](gioiTinh);

[Link](ngaySinh);

[Link](sdt);

[Link](email);

[Link](cccd);

[Link](kh);

[Link]();
layDanhSachKhachHang();

[Link](null, "Thêm khách hàng


thành công!");

} catch(Exception ex) {

[Link](null, "Lỗi nhập dữ liệu: " +


[Link]());

}else {

[Link](null, "Vui lòng chọn chuyến


bay cần sửa!");

});

[Link](new KeyAdapter() {

@Override

public void keyReleased(KeyEvent evt) {

String tuKhoa =
[Link]().getText().trim().toLowerCase();

DefaultTableModel modelGoc = (DefaultTableModel)


[Link]();

int columnCount = [Link]().getColumnCount();

String[] columnNames = new String[columnCount];

for (int i = 0; i < columnCount; i++) {

columnNames[i] = [Link]().getColumnName(i);
}

if (![Link]()) {

DefaultTableModel modelLoc = new


DefaultTableModel(columnNames, 0);

for (int i = 0; i < [Link](); i++) {

boolean match = false;

for (int j = 0; j < columnCount; j++) {

Object cell = [Link](i, j);

if (cell != null &&


[Link]().toLowerCase().contains(tuKhoa)) {

match = true;

break;

if (match) {

Object[] rowData = new Object[columnCount];

for (int j = 0; j < columnCount; j++) {

rowData[j] = [Link](i, j);

[Link](rowData);

}
[Link]().setModel(modelLoc);

} else {

layDanhSachKhachHang();

});

Jtable
package [Link];

import [Link];

import [Link];

import [Link];

public class ChuyenBayTableForm extends [Link] {

private DefaultTableModel model;

public ChuyenBayTableForm() {

initComponents();

String[] columnNames = {

"Mã CB",

"Ngày XP",

"Ngày Đến",

"Giá Thường",
"Giá VIP",

"Trạng Thái",

"Mã Máy Bay",

"Mã Hành Trình"

};

model = new DefaultTableModel(columnNames, 0);

[Link](model);

public MyTable getMyTable() {

return myTable;

public DefaultTableModel getModel() {

return model;

public void addRowClick(MouseAdapter listener) {

[Link](listener);

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jScrollPane1 = new [Link]();

myTable = new [Link]();

[Link](new [Link](
new Object [][] {

{},

{},

{},

{}

},

new String [] {

));

[Link](myTable);

[Link] layout = new [Link](this);

[Link](layout);

[Link](

[Link]([Link])

.addComponent(jScrollPane1,
[Link].DEFAULT_SIZE, 1046, Short.MAX_VALUE)

);

[Link](

[Link]([Link])

.addComponent(jScrollPane1,
[Link].DEFAULT_SIZE, 541, Short.MAX_VALUE)

);

}// </editor-fold>
// Variables declaration - do not modify

private [Link] jScrollPane1;

private [Link] myTable;

// End of variables declaration

public class HienThiTable {

public static void taiDuLieuTableChuyenBay (DefaultTableModel model,


ArrayList<ChuyenBayDTO> dsChuyenBay) {

[Link](0);

for(ChuyenBayDTO cb : dsChuyenBay) {

Vector row = new Vector();

[Link]([Link]());

[Link]([Link]());

[Link]([Link]());

[Link]([Link]());

[Link]([Link]());

[Link]([Link]());

[Link]([Link]());

[Link]([Link]());

[Link](row);

Import excel trong BUS


public void importFromExcel(File file) {
try (FileInputStream fis = new FileInputStream(file);

Workbook workbook = [Link](fis)) {

Sheet sheet = [Link](0);

boolean firstRow = true;

for (Row row : sheet) {

if (firstRow) {

firstRow = false;

continue;

String id = [Link](0).toString();

if(checkID(id)) {

continue;

SanBayDTO sb = new SanBayDTO();

[Link](id);

[Link]([Link](1).toString());

[Link]([Link](2).toString());

[Link](sb);

[Link](sb);

[Link](null, "Import thành công từ Excel!");

} catch (Exception e) {

[Link]();
[Link](null, "Lỗi khi import file Excel");

Export excel trong GUI


public void exportToExcel() {

JFileChooser fileChooser = new JFileChooser();

[Link]("Chọn đường dẫn lưu file Excel");

FileNameExtensionFilter filter = new FileNameExtensionFilter("XLSX


files", "xlsx");

[Link](filter);

[Link](false);

int userChoice = [Link](null);

if (userChoice == JFileChooser.APPROVE_OPTION) {

String filePath = [Link]().getAbsolutePath();

if (![Link]().endsWith(".xlsx")) {

filePath += ".xlsx";

DefaultTableModel model = (DefaultTableModel)


[Link]();

Workbook workbook = new XSSFWorkbook();

XSSFSheet sheet = (XSSFSheet) [Link]("Sân bay");

//tao header row

XSSFRow headerRow = [Link](0);

for (int i = 0; i < [Link](); i++) {


[Link](i).setCellValue([Link](i));

//tao data row

for (int i = 0; i < [Link](); i++) {

XSSFRow dataRow = [Link](i + 1);

for (int j = 0; j < [Link](); j++) {

TableModel tableModel = [Link]();

[Link](j).setCellValue([Link](i,
j).toString());

//chinh size cot

for(int i = 0; i < [Link](); i++){

[Link](i);

//viet file

[Link](null, "Xuất file thành công");

try {

FileOutputStream fileOut = new FileOutputStream(filePath);

[Link](fileOut);

[Link]();

[Link]();

} catch (FileNotFoundException e) {

[Link]();

} catch (IOException e) {

[Link]();
}

1. Load dữ liệu vào JComboBox


🔹 Ví dụ: Bảng PhongBan(id, ten) → Load vào comboBox

java

Sao chépChỉnh sửa

JComboBox<String> comboBoxPhongBan = new JComboBox<>();

Connection conn = [Link](url, user, pass);

String sql = "SELECT ten FROM PhongBan";

PreparedStatement stmt = [Link](sql);

ResultSet rs = [Link]();

while ([Link]()) {

[Link]([Link]("ten"));

[Link]();

[Link]();

[Link]();

✅ 2. Load dữ liệu vào JTable

🔹 Ví dụ: Bảng NhanVien(id, ten, tuoi, idPhongBan)

java
Sao chépChỉnh sửa

DefaultTableModel model = new DefaultTableModel();

[Link]("ID");

[Link]("Tên");

[Link]("Tuổi");

Connection conn = [Link](url, user, pass);

String sql = "SELECT id, ten, tuoi FROM NhanVien";

PreparedStatement stmt = [Link](sql);

ResultSet rs = [Link]();

while ([Link]()) {

[Link](new Object[]{

[Link]("id"),

[Link]("ten"),

[Link]("tuoi")

});

[Link](model);

[Link]();

[Link]();

[Link]();

✅ 3. Mẹo bổ sung
 Nếu JComboBox cần cả id và ten, nên tạo một class PhongBan và
override toString() để hiển thị tên.

java

Sao chépChỉnh sửa

public class PhongBan {

int id;

String ten;

public PhongBan(int id, String ten) {

[Link] = id;

[Link] = ten;

@Override

public String toString() {

return ten;

public int getId() {

return id;

java

Sao chépChỉnh sửa

[Link](new PhongBan([Link]("id"),
[Link]("ten")));

Lúc cần lấy ID:


java

Sao chépChỉnh sửa

PhongBan pb = (PhongBan) [Link]();

int id = [Link]();

Chuỗi GUI
import [Link].*;

import [Link].*;

import [Link];

public class Chuoi {

public static void main(String[] args) {

JFrame frame = new JFrame("Chuỗi");

[Link](500, 600);

[Link](JFrame.EXIT_ON_CLOSE);

[Link](new BorderLayout(10, 10));

JPanel mainPanel = new JPanel(new GridBagLayout());

[Link]([Link](20, 20, 20, 20));

[Link](new Color(230, 240, 255));

[Link](mainPanel, [Link]);

GridBagConstraints gbc = new GridBagConstraints();

[Link] = new Insets(5, 5, 5, 5);

[Link] = [Link];

[Link] = 0;
[Link] = 0;

JLabel title = new JLabel("Chuỗi", [Link]);

[Link](new Font("Arial", [Link], 22));

[Link]([Link]);

[Link] = 2;

[Link](title, gbc);

[Link]++;

[Link] = 1;

JLabel labelN = new JLabel("Nhập chuỗi: ");

[Link](new Font("Arial", [Link], 14));

[Link](Color.DARK_GRAY);

[Link](labelN, gbc);

[Link] = 1;

JTextField txtInput = new JTextField(15);

[Link](txtInput, gbc);

[Link] = 0;

[Link]++;

[Link] = 2;

JPanel radioPanel = new JPanel(new GridLayout(5, 1, 5, 5));

[Link]([Link]("Chọn tùy
chọn"));

[Link](new Color(220, 230, 255));


JRadioButton bt1 = new JRadioButton("Độ dài của chuỗi");

JRadioButton bt2 = new JRadioButton("Xóa khoảng trắng thừa");

JRadioButton bt3 = new JRadioButton("Đếm số từ và hiển thị từng


dòng");

JRadioButton bt4 = new JRadioButton("Xuất k ký tự bên trái/phải");


JRadioButton bt5 = new JRadioButton("Xuất n ký tự từ vị trí k");

ButtonGroup bg = new ButtonGroup();

[Link](bt1);

[Link](bt2);

[Link](bt3);

[Link](bt4);

[Link](bt5);

[Link](bt1);

[Link](bt2);

[Link](bt3);

[Link](bt4);

[Link](bt5);

[Link](radioPanel, gbc);

[Link]++;

JTextArea textArea = new JTextArea(10, 30);

[Link](false);

[Link]([Link]([Link]));

[Link](new Color(245, 245, 245));


[Link](new JScrollPane(textArea), [Link]);

ActionListener actionListener = e -> {

String input = [Link]();

if ([Link]()) {

[Link]("Vui lòng nhập một chuỗi.");

return;

if ([Link]()) {

[Link]("Độ dài của chuỗi: " + [Link]());

} else if ([Link]()) {

[Link]("Chuỗi sau khi xóa khoảng trắng thừa: " +


[Link]().replaceAll("\\s+", " "));

} else if ([Link]()) {

String[] words = [Link]().split("\\s+");

StringBuilder result = new StringBuilder("Số từ: " + [Link]


+ "\n");

for (String word : words) {

[Link](word).append("\n");

[Link]([Link]());

} else if ([Link]()) {

String kStr = [Link]("Nhập số k:");

int k = [Link](kStr);

String leftPart = [Link](0, [Link](k, [Link]()));

String rightPart = [Link]([Link](0, [Link]() - k));


[Link]("K ký tự trái: " + leftPart + "\nK ký tự phải: " +
rightPart);

} else if ([Link]()) {

String kStr = [Link]("Nhập vị trí k:");

String nStr = [Link]("Nhập số n:");

int k = [Link](kStr);

int n = [Link](nStr);

if (k >= 0 && k < [Link]()) {

String sub = [Link](k, [Link](k + n, [Link]()));

[Link]("Chuỗi con: " + sub);

} else {

[Link]("Vị trí k không hợp lệ.");

};

[Link](actionListener);

[Link](actionListener);

[Link](actionListener);

[Link](actionListener);

[Link](actionListener);

[Link](true);

Mảng số tự nhiên GUI


import [Link].*;

import [Link].*;

import [Link];

import [Link];

public class MangSoTuNhien {

public static void main(String[] args) {

JFrame frame = new JFrame("Mảng số tự nhiên");

[Link](600, 700);

[Link](JFrame.EXIT_ON_CLOSE);

[Link](new BorderLayout(10, 10));

JPanel mainPanel = new JPanel(new GridBagLayout());

[Link]([Link](20, 20, 20, 20));

[Link](new Color(230, 240, 255));

[Link](mainPanel, [Link]);

GridBagConstraints gbc = new GridBagConstraints();

[Link] = new Insets(5, 5, 5, 5);

[Link] = [Link];

[Link] = 0;

[Link] = 0;

JLabel title = new JLabel("Mảng số tự nhiên", [Link]);

[Link](new Font("Arial", [Link], 22));

[Link]([Link]);

[Link] = 2;
[Link](title, gbc);

[Link]++;

[Link] = 1;

JLabel labelN = new JLabel("Nhập N: ");

[Link](new Font("Arial", [Link], 14));

[Link](Color.DARK_GRAY);

[Link](labelN, gbc);

[Link] = 1;

JTextField txtN = new JTextField(20);

[Link](txtN, gbc);

[Link] = 0;

[Link]++;

[Link] = 2;

JPanel radioPanel = new JPanel(new GridLayout(7, 1, 7, 7));

[Link]([Link]("Chọn tùy
chọn"));

[Link](new Color(220, 230, 255));

JRadioButton bt1 = new JRadioButton("Tất cả phần tử và tổng");

JRadioButton bt2 = new JRadioButton("Số chẵn và tổng");

JRadioButton bt3 = new JRadioButton("Số lẻ và tổng");

JRadioButton bt4 = new JRadioButton("Số nguyên tố và tổng");

JRadioButton bt5 = new JRadioButton("Thêm phần tử");


JRadioButton bt6 = new JRadioButton("Xóa phần tử thứ k");

JRadioButton bt7 = new JRadioButton("Tìm kiếm số x");

ButtonGroup group = new ButtonGroup();

[Link](bt1);

[Link](bt2);

[Link](bt3);

[Link](bt4);

[Link](bt5);

[Link](bt6);

[Link](bt7);

[Link](bt1);

[Link](bt2);

[Link](bt3);

[Link](bt4);

[Link](bt5);

[Link](bt6);

[Link](bt7);

[Link](radioPanel, gbc);

[Link]++;

JTextArea textArea = new JTextArea(10, 30);

[Link](false);

[Link]([Link]([Link]));

[Link](new Color(245, 245, 245));

[Link](new JScrollPane(textArea), [Link]);


ArrayList<Integer> array = new ArrayList<>();

[Link](e -> {

[Link]();

try {

int N = [Link]([Link]());

for (int i = 0; i < N; i++) {

String input = [Link]("Nhập phần tử thứ "


+ (i + 1));

[Link]([Link](input));

} catch (Exception ex) {

[Link](frame, "Vui lòng nhập số hợp


lệ.");

});

ActionListener radioListener = e -> {

if ([Link]()) {

[Link]("Mảng chưa có dữ liệu.");

return;

StringBuilder result = new StringBuilder();

int sum = 0;

if ([Link]()) {

for (int num : array) {


[Link](num).append(" ");

sum += num;

[Link]("\nTổng: ").append(sum);

} else if ([Link]()) {

for (int num : array) {

if (num % 2 == 0) {

[Link](num).append(" ");

sum += num;

[Link]("\nTổng: ").append(sum);

} else if ([Link]()) {

for (int num : array) {

if (num % 2 != 0) {

[Link](num).append(" ");

sum += num;

[Link]("\nTổng: ").append(sum);

} else if ([Link]()) {

for (int num : array) {

if (isPrime(num)) {

[Link](num).append(" ");

sum += num;

}
[Link]("\nTổng: ").append(sum);

} else if ([Link]()) {

String input = [Link]("Nhập phần tử mới");

[Link]([Link](input));

[Link]("Phần tử đã được thêm.");

return;

} else if ([Link]()) {

String input = [Link]("Nhập vị trí cần xóa


(bắt đầu từ 0)");

int index = [Link](input);

if (index >= 0 && index < [Link]()) {

[Link](index);

[Link]("Phần tử đã bị xóa.");

} else {

[Link]("Vị trí không hợp lệ.");

return;

} else if ([Link]()) {

String input = [Link]("Nhập số cần tìm");

int x = [Link](input);

if ([Link](x)) {

[Link]("Số ").append(x).append(" có trong mảng tại vị


trí: ");

for (int i = 0; i < [Link](); i++) {

if ([Link](i) == x) {

[Link](i).append(" ");

}
}

} else {

[Link]("Số ").append(x).append(" không có trong


mảng.");

[Link]([Link]());

};

[Link](radioListener);

[Link](radioListener);

[Link](radioListener);

[Link](radioListener);

[Link](radioListener);

[Link](radioListener);

[Link](radioListener);

[Link](true);

public static boolean isPrime(int n) {

if (n < 2) return false;

for (int i = 2; i <= [Link](n); i++) {

if (n % i == 0) return false;

return true;

}
}

Form
import [Link].*;

import [Link];

import [Link];

import [Link];

import [Link];

import [Link].*;

class Student {

String id, fName, lName, gender, major, club;

int age;

public Student (String id, String fName, String lName, int age, String
gender, String major, String club) {

[Link] = id;

[Link] = fName;

[Link] = lName;

[Link] = age;

this. gender = gender;

[Link] = major;

this. club = club;

}
public class SinhVien extends JFrame {

private JTextField txtId, txtFName, txtLName, txtAge;

private JRadioButton btMale, btFeMale;

private JComboBox<String> cbMajor;

private JList<String> lClub;

private JButton btnThem, btnXoa, btnSua, btnThoat;

private DefaultTableModel model = new DefaultTableModel();

private JTable tbSV;

private ArrayList<Student> List = new ArrayList<>();

private JScrollBar verticalScrollBar = new JScrollBar([Link]);

public SinhVien() {

setTitle("Thông tin sinh viên");

setSize(800, 600);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLayout(new BorderLayout());

JPanel intputPanel = new JPanel(new GridLayout(7, 2));

[Link](new Dimension(300, 250));

[Link]([Link]("Nhap thong tin


Sinh Vien"));

[Link](new JLabel("Ma sinh vien: "));

txtId = new JTextField();

[Link](txtId);

[Link](new JLabel("Ho: "));


txtFName = new JTextField();

[Link](txtFName);

[Link](new JLabel("Ten: "));

txtLName = new JTextField();

[Link](txtLName);

[Link](new JLabel("Tuoi: "));

txtAge = new JTextField();

[Link](txtAge);

[Link](new JLabel("Giới tính:"));

JPanel genderPanel = new JPanel();

btMale = new JRadioButton("Nam");

btFeMale = new JRadioButton("Nữ");

ButtonGroup bg = new ButtonGroup();

[Link](btMale);

[Link](btFeMale);

[Link](btMale);

[Link](btFeMale);

[Link](genderPanel);

[Link](new JLabel("Khoa:"));

String[] major = {"Khoa học máy tính", "Công nghệ thông tin", "Trí tuệ
nhân tạo", "Kỹ thuật phần mềm"};

cbMajor = new JComboBox<>(major);

[Link](cbMajor);
[Link](new JLabel("Câu lạc bộ: "));

String[] club = {"Bóng chuyền", "Bóng đá", "Đàn", "Truyện tranh",


"Bóng rổ", "Đi về nhà"};

lClub = new JList<>(club);

[Link](ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

[Link](new JScrollPane(lClub));

model = new DefaultTableModel(new String[] {"Ma", "Ho", "ten",


"Tuoi", "Gioi tinh", "Khoa", "Cau lac bo"}, 0);

tbSV = new JTable(model);

JScrollPane tbScrollPane = new JScrollPane(tbSV);

[Link]([Link]("Danh sach
sinh vien"));

JPanel btnPanel = new JPanel(new FlowLayout([Link], 15,


10));

btnThem = new JButton("Them");

btnXoa = new JButton("Xoa");

btnSua = new JButton("Sua");

btnThoat = new JButton("Thoat");

[Link](btnThem);

[Link](btnXoa);

[Link](btnSua);

[Link](btnThoat);

add(intputPanel, [Link]);
add(tbScrollPane, [Link]);

add(btnPanel, [Link]);

add(verticalScrollBar, [Link]);

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String id = [Link]();

String Fname = [Link]();

String LName = [Link]();

int age = [Link]([Link]());

String gender = [Link]() ? "Nam" : "Nữ";

String major = (String)[Link]();

String clubs = [Link](",", [Link]());

Student sv = new Student(id, Fname, LName, age, gender, major,


clubs);

[Link](sv);

[Link](new Object[] {id, Fname, LName, age, gender,


major, clubs});

});

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

int selectedRow = [Link]();

if(selectedRow != -1) {
Student sv = [Link](selectedRow);

[Link] = [Link]();

[Link] = [Link]();

[Link] = txtLName .getText();

[Link] = [Link]([Link]());

[Link] = [Link]() ? "Nam" : "Nữ";

[Link] = (String)[Link]();

[Link] = [Link](",", [Link]());

[Link]([Link], selectedRow, 0);

[Link]([Link], selectedRow, 1);

[Link]([Link], selectedRow, 2);

[Link]([Link], selectedRow, 3);

[Link]([Link], selectedRow, 4);

[Link]([Link], selectedRow, 5);

[Link]([Link], selectedRow, 6);

});

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

int selectedRow = [Link]();

if(selectedRow != -1) {

[Link](selectedRow);

[Link](selectedRow);

}
}

});

[Link](new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

[Link](0);

});

setVisible(true);

public static void main(String[] args) {

new SinhVien();

Calculator

import [Link].*;

import [Link].*;

import [Link];

public class Calculator {

public static void main(String[] args) {

JFrame frame = new JFrame("Calculator");

[Link](400, 300);
[Link](JFrame.EXIT_ON_CLOSE);

[Link](new GridBagLayout());

[Link]().setBackground(new Color(230, 240, 255));

GridBagConstraints gbc = new GridBagConstraints();

[Link] = new Insets(5, 5, 5, 5);

[Link] = [Link];

JLabel label1 = new JLabel("Nhập số thứ nhất: ");

JTextField txt1 = new JTextField(10);

JLabel label2 = new JLabel("Nhập số thứ hai: ");

JTextField txt2 = new JTextField(10);

JLabel resultLabel = new JLabel("Kết quả: ");

JTextField resultField = new JTextField(15);

[Link](false);

[Link]([Link]);

JRadioButton addButton = new JRadioButton("Tổng");

JRadioButton subButton = new JRadioButton("Hiệu");

JRadioButton mulButton = new JRadioButton("Tích");

JRadioButton divButton = new JRadioButton("Thương");

ButtonGroup group = new ButtonGroup();

[Link](addButton);

[Link](subButton);

[Link](mulButton);

[Link](divButton);
JPanel panel = new JPanel();

[Link]([Link]("Chọn phép toán"));

[Link](new Color(220, 230, 255));

[Link](addButton);

[Link](subButton);

[Link](mulButton);

[Link](divButton);

ActionListener actionListener = e -> {

try {

int num1 = [Link]([Link]());

int num2 = [Link]([Link]());

double result = 0;

if ([Link]()) result = num1 + num2;

else if ([Link]()) result = num1 - num2;

else if ([Link]()) result = num1 * num2;

else if ([Link]()) {

if (num2 != 0) result = (double) num1 / num2;

else {

[Link]("Không thể chia cho 0");

return;

[Link]([Link](result));

} catch (NumberFormatException ex) {

[Link]("Vui lòng nhập số hợp lệ");

}
};

[Link](actionListener);

[Link](actionListener);

[Link](actionListener);

[Link](actionListener);

[Link] = 0; [Link] = 0; [Link](label1, gbc);

[Link] = 1; [Link](txt1, gbc);

[Link] = 0; [Link] = 1; [Link](label2, gbc);

[Link] = 1; [Link](txt2, gbc);

[Link] = 0; [Link] = 2; [Link] = 2; [Link](panel, gbc);

[Link] = 3; [Link] = 1; [Link](resultLabel, gbc);

[Link] = 1; [Link](resultField, gbc);

[Link](true);

tách xâu/chuỗi thành mảng


xâu/chuỗi
Cú pháp cơ bản:

java

Sao chépChỉnh sửa

String[] mang = [Link]("dau_phan_cach");

✅ Ví dụ 1: Tách chuỗi theo dấu phẩy


java

Sao chépChỉnh sửa

String chuoi = "An,Bình,Cường,Dũng";

String[] mang = [Link](",");

for (String ten : mang) {

[Link](ten);

📌 Kết quả:

mathematica

Sao chépChỉnh sửa

An

Bình

Cường

Dũng

✅ Ví dụ 2: Tách theo dấu cách (space)

java

Sao chépChỉnh sửa

String chuoi = "Xin chao cac ban";

String[] tu = [Link](" ");

for (String s : tu) {

[Link](s);

✅ Ví dụ 3: Tách theo nhiều dấu cách hoặc ký tự đặc biệt


Dùng biểu thức chính quy (regex):

java

Sao chépChỉnh sửa

String chuoi = "Java | Python |C++";

String[] mang = [Link]("\\s*\\|\\s*"); // Tách theo dấu | có thể có khoảng


trắng

for (String s : mang) {

[Link](s);

📌 Kết quả:

mathematica

Sao chépChỉnh sửa

Java

Python

C++

✅ Một số lưu ý:

 split() dùng regex, nên nếu bạn tách theo ký tự đặc biệt như ., |, *, ?,
+, bạn cần escape (thêm \\).

Ví dụ:

java

Sao chépChỉnh sửa

[Link]("\\."); // tách theo dấu chấm .

[Link]("\\|"); // tách theo dấu |

You might also like