Tải bản đầy đủ (.doc) (15 trang)

Hướng dẫn giải bài tập Java

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (935.89 KB, 15 trang )

1.2 (Xem huong dan dung ham: E:\Lap trinh Windows\Document\java\basic\basic)

- Tạo 1 Project


- Tạo Dialog – màn hình chính


- Code:
1. Nút Thoát:
int i =JOptionPane.showConfirmDialog(null, "Ban co muon
thoat khong?", "Thong bao!",
JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
if (i==0) System.exit(0);

2. Nút Đăng nhập:
if (jTextFieldTen.getText().compareTo("Admin")==0 &&
jPasswordFieldMK.getText().compareTo("Admin")==0)
{

}
}

DLG_ManHinhChinh dlg=new DLG_ManHinhChinh(null);
dlg.setModal(true);
setVisible(false);
dlg.show();
setVisible(true);
jTextFieldTen.setText("");
jPasswordFieldMK.setText("");
else


JOptionPane.showMessageDialog(null, "Ban go sai ten/mat khau!!!");


1.3 Bài tập số 3

Dùng jTexField

Dùng jComboBox

Dùng jLabel

Dùng jPanel

Dùng jRadioButton

Dùng jCheckBox

Dùng jButton

Code:
+ Viet mot ham cat chuoi:

public String catChuoi(String s)
{
String[] t;
t=s.split(":");
return t[1];
}

+ Nut Doc Du Lieu:

try

{
BufferedReader in = new BufferedReader(new
FileReader("ThongTinSV.txt"));
String s = new String();
//while ((s = in.readLine()) != null)
//JOptionPane.showMessageDialog(null, s);
s = in.readLine();//doc mot dong du lieu
//String[] t;
//t=s.split(":");// cat chuoi s thanh cac mang chuoi t[0]=s0
va t[1]=s1,
//s0 la chuoi fia truoc dau :, s1 la chuoi sau dau :
jTextFieldHoVaLot.setText(catChuoi(s));
s=in.readLine();
jTextFieldTen.setText(catChuoi(s));
s=in.readLine();
jComboBoxNgaySinh.addItem(catChuoi(s));
s=in.readLine();
jComboBoxTonGiao.addItem(catChuoi(s));


s=in.readLine();
jTextFieldDiaChi.setText(catChuoi(s));
s=in.readLine();
jTextFieldDienThoai.setText(catChuoi(s));
s=in.readLine();
jTextFieldMail.setText(catChuoi(s));
s=in.readLine();
if (catChuoi(s).compareTo("nam")==0)//so sanh 2 chuoi

//neu s1=s2 thi lenh compareTo tra ve gia tri la 0
{

}
else
{

}

jRadioButtonNam.setSelected(true);

jRadioButtonNu.setSelected(true);

s=in.readLine();
if (s.indexOf("Anh")>-1)//tim trong chuoi s chuoi "Anh"
jCheckBoxAnhVan.setSelected(true);
if(s.indexOf("Han")>-1)
jCheckBoxHanVan.setSelected(true);
if(s.indexOf("Phap")>-1)
jCheckBoxPhapVan.setSelected(true);
}
catch (IOException loi)
{
JOptionPane.showMessageDialog(null, "Da co loi: File khong ton tai");
}
}

+ Nut Ghi Du Lieu xuong File:

try

{
FileWriter out = new FileWriter("ThongTinSV.txt");
String s=new String();
s=jTextFieldHoVaLot.getText();//lay chuoi
out.write("Ho va lot: " + s+ "\r\n");
s=jTextFieldTen.getText();
out.write("Ten: " + s+ "\r\n");
s=jComboBoxNgaySinh.getSelectedItem().toString();
out.write("Ngay sinh: " + s+ "\r\n");
s=jComboBoxTonGiao.getSelectedItem().toString();
out.write("Ton giao: " + s+ "\r\n");
s=jTextFieldDiaChi.getText();
out.write("Dia chi: " + s+ "\r\n");
s=jTextFieldDienThoai.getText();
out.write("Dien thoai: " + s+ "\r\n");
s=jTextFieldMail.getText();
out.write("Email: " + s+ "\r\n");
if(jRadioButtonNam.isSelected()==true)
0ut.write("Gioi tinh:nam\r\n");
else
out.write("Gioi tinh:nu\r\n");
s="";


if(jCheckBoxAnhVan.isSelected()==true)
s+="Anh Van, ";
if(jCheckBoxHanVan.isSelected()==true)
s+="Han Van, ";
if(jCheckBoxPhapVan.isSelected()==true)
s+="Phap Van, ";

out.write("Ngoai ngu: "+s);
JOptionPane.showMessageDialog(null, "Da luu, khong tin thi
mo ra coi!");
//tao file co ten output.txt
//out.write("Da tao duoc mot file\r\n");
//ghi 1 dong du lieu vao file va xuong dong
//out.write("Chao Chi Linh");
out.close();//dong file
}
catch(IOException loi)
{
JOptionPane.showMessageDialog(null, "Co loi ghi File");
}
}

1.4 Tạo menu, đồng hồ, ngày tháng
năm (dùng gói Swing; gói AWT không
tạo được)

JmenuBar gắn vào Frame
JMenu gắn vào JmenuBar
JmenuItem gắn vào Jmenu


JMenu

Dv

JmenuItem
JButton

- Tạo JpopupMenu (khi R – Click trên Frame thì
xuất hiện menu trên Frame)

- R – Click vào Frame  Events  Add Events…


- Chọn sự kiện mouseReleased

- Code cho sự kiện này:
JPopupMenu pp = getJPopupMenu(); //JPopupMenu la ten jPopUpMenu
if (pp.isPopupTrigger(e))
pp.show(e.getComponent(),e.getX(),e.getY());

- Nút Test:R-Click vào nút Test  Add
actionPerformed


- Code:
//mo hop thoai chon File
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
//mo hop thoai mau
JColorChooser hopthoaimau = new JColorChooser();
hopthoaimau.showDialog(null,"Hop thoai mau!", Color.red);

- Tạo Timer ( )
+ Tạo 1 lớp Timer

+ Trong hàm init…


private void initialize() {


this.setSize(309, 156);
this.setJMenuBar(getJJMenuBar());
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
Timer t = new Timer(1000,this);//nhan Ctrl + SpaceBar
 chon Timer - Swing

t.start();
}

+ Viết hàm actionPerformed

public void actionPerformed(ActionEvent e)
{
//JOptionPane.showConfirmDialog(null,"Lap lai chu ki");
Date now = new Date();
//jLabelGio.setText(now.toString());
//Tao dong ho
//Dùng một jLabel để hiển thị giờ
jLabelGio.setText(now.getHours() + ":" + now.getMinutes() +
":"+ now.getSeconds());
//Tao thanh ProgressBar - thanh tien trinh
//Dùng công cụ jProg
jProgressBarTest.setValue(jProgressBarTest.getValue()+2);
if(jProgressBarTest.getValue()==jProgressBarTest.getMaximum())
{
jProgressBarTest.setValue(0);

}
}

1.5 Tạo và kết nối cơ sở DL
- Dùng MySQL tạo 1 CSDL (VD: tên LopHoc)

- Các câu lệnh SQL:
+ Câu lệnh tạo CSDL:
(Trước khi tạo bảng trên CSDL vừa tạo, ta phải gõ câu
lệnh:
+ Câu lệnh tạo bảng:

+ Câu lệnh xóa bảng:
+ Câu lệnh chèn dòng vào bảng:

+ Câu lệnh xem bảng:


- Copy file
vào thư mục … theo
đường dẫn C:\Program Files\Java\jre1.6.0\lib\ext

- mở Eclip, tạo 1 lớp

- Gõ Code:
public class Connect
{
public static void main (String[] args)
{
Connection con = null;

try
{


String userName = "root";//ten dang nhap vao CSDL
String password = "262006";//MK dang nhap CSDL
String url = "jdbc:mysql://127.0.0.1:3306/LopHoc";//duong
dan den Database
con = DriverManager.getConnection(url,userName,password);
System.out.println("Da ket noi duoc CSDL");
/*
//chen dong vao bang SinhVien
Statement s = con.createStatement();
s.execute("insert into SinhVien (hoten,namsinh) values ('Duong
Van Nghia',1970)");
s.close();
*/
Statement s = con.createStatement();//tao doi tuong
s.execute("select * from SinhVien");//thi hanh cau truy van
ResultSet rs = s.getResultSet();
while (rs.next())
{
int MSSV = rs.getInt("MSSV");//neu kho nho MSSV thi thay la
so TT cot la 1
String HoTen = rs.getString("Hoten");
int NamSinh = rs.getInt(3);
System.out.println(" MSSV:"+ MSSV + " Ho Ten:" + HoTen + "
Nam Sinh:" + NamSinh);
}
s.close();

con.close();
System.out.println("Da dong ket noi");

}

}
catch (Exception e)
{
System.err.println("Khong ket noi duoc CSDL");
}
}

1.6 Kết nối với CSDL và hiển thị DL lên Frame:
- Tạo 1 Java Project mới:

- Tạo 1 Visual Class:


- Chọn gói đồ họa Swing:

- Tạo 1 Jframe, 1 Jtable
- Viết code:
import
import
import
import
import
import
import
import

import
import
import
import
import
import

java.awt.BorderLayout;
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.Statement;
java.util.Vector;
javax.swing.JOptionPane;
javax.swing.JPanel;
javax.swing.JFrame;
javax.swing.JScrollPane;
java.awt.Rectangle;
javax.swing.JTable;
javax.swing.table.DefaultTableModel;
java.awt.Dimension;

public class KetNoiCSDL_SangCN extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
Connection conn =null; // Doi tuong de ket noi CSDL
@jve:decl-index=0:
private JScrollPane jScrollPane = null;
private JTable jTableDanhSach = null;


//

DefaultTableModel model = null; //dung de quan ly du lieu trong
table

private JOptionPane jOptionPane = null;
index=0:visual-constraint="564,56"

//

@jve:decl-

public void ketNoi()
{
try
{
String useName ="root"; //Tai khoan dang nhap SQL
String password ="262006";
String url ="jdbc:mysql://127.0.0.1:3306/LopHoc";
conn =
DriverManager.getConnection(url,useName,password);
cong");

JOptionPane.showMessageDialog(null,"Ket Noi Thanh


values('GDCD')");

Statement s =conn.createStatement();
//s.execute("insert into Khoa(TenKhoa)

s.execute("select * from SinhVien");
ResultSet rs = s.getResultSet();
Vector<String> dongtieude = new Vector<String>();
dongtieude.add("Ma so SV");
dongtieude.add("Ho va ten");
model = new DefaultTableModel(dongtieude, 0);
jTableDanhSach.setModel(model); //dua model vao table

danh sach
while(rs.next())
{
int MSSV=rs.getInt("MSSV");
String Hoten =rs.getString("Hoten"); //Luu y ten
khoa phai giong ben CSDL
//JOptionPane.showMessageDialog(null,"MKH : " +
MKH +"Khoa : " + Khoa);
//lay du lieu tung dong
//dong.add("cot1");
//dong.add("cot2");

Vector<String> dong = new Vector<String>();
dong.add(Integer.toString(MSSV));
dong.add(Hoten);
model.addRow(dong);

//dua 1 dong vao table

}
rs.close();
s.close();


duoc");

conn.close();
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null,"Khong Ket Noi CSDL

}
}
/**
* This is the default constructor
*/
public KetNoiCSDL_SangCN() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(497, 344);


this.setContentPane(getJContentPane());
this.setTitle("JFrame");
ketNoi();

}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJScrollPane(), null);
}
return jContentPane;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(66, 51, 319,
191));

jScrollPane.setViewportView(getJTableDanhSach());
}
return jScrollPane;
}
/**

* This method initializes jTableDanhSach
*
* @return javax.swing.JTable
*/
private JTable getJTableDanhSach() {
if (jTableDanhSach == null) {
jTableDanhSach = new JTable();
}
return jTableDanhSach;
}
/**
* This method initializes jOptionPane
*
* @return javax.swing.JOptionPane
*/
private JOptionPane getJOptionPane() {
if (jOptionPane == null) {
jOptionPane = new JOptionPane();
}
return jOptionPane;
}

}

//

@jve:decl-index=0:visual-constraint="10,10"




×