Swing là gì ? Cách sử dụng các thành phần cơ bản của Swing.
Trong loạt bài này Huy cùng các bạn sẽ tìm hiểu những khái niệm về Swing của như cách sử dụng các thành phần cơ bản của Swing.

1. Swing là gì ?

Swing là bộ công cụ GUI thế hệ kế tiếp mà Sun Microsystems tạo ra cho
phép môi trường phát triển enterprise trong Java.Bằng môi trường phát
triển enterprise, chúng ta hiểu rằng, các lập trình viên có thể sử dụng
Swing để tạo ra các ứng dụng Java có khả năng mở rộng với một dãy nhiều
thành phần mạnh mẽ. Thêm vào đó, bạn có thể kế thừa hoặc chỉnh sửa những
thành phần này để điều khiển việc hiển thị và các hành xử của chúng.
Swing không phải là một từ viết tắt. Đó là tên thay thế cho một tập hợp
lựa chọn của nó cho các designer khi dự án được thực hiện vào 1996.
Swing thật sự là một phần của gia đình rộng lớn các sản phẩm của Java
được biết đến như Java Foundation Classes s(JFC) bao gồm nhiều đặc điểm
của Internet Foundation Classes của Netscape cũng như bị ảnh hưởng thiết
kế của Taligent và Lighthouse Design của IBM. Swing được phát triển
thật sự kể từ thời điểm bản beta của JDK 1.1, khoảng mùa xuân 1997.
Swing API bản beta đưa ra khoảng nửa cuối 1997 và được chính thức phát
hành vào tháng 3 năm 1998. Khi được phát hành, các thư viện của Swing
1.0 chứa khoảng 250 lớp và 80 giao tiếp. Sự phát triển được tiếp tục khi
theo thời gian, bản Swing 1.4 chứa 85 giao tiếp public và 451 lớp
public.
Mặc dù Swing là được phát triển đơn lẻ từ lõi của Java Development Kit,
nó yêu cầu phải có tối thiểu JDK 1.1.5 để chạy. Swing được xây dựng dựa
trên những mô hình event được giới thiệu trong serie JDK 1.1. Bạn không
thể sử dụng Swing với JDK 1.0.2, thêm vào đó bạn phải có Java 1.1 cho
phép trình duyệt hỗ trợ Swing Applet. Java 2 SDK 1.4 được phát hành bao
gồm nhiều lớp Swing được cập nhật và hỗ trợ một vài đặc điểm mới. Swing
được tích hợp đầy đủ trong cả trong bộ công cụ của các nhà phát triển và
runtime environment của tất cả các bản phát hành Java 2 (SDK 1.2 và
những phiên bản cao hơn) chứa cả Java Plug-in.

2. JSlider

JSider là một thành phần của Swing giúp cho người dùng có thể lựa chọn
một giá trị số trong khoảng giá trị người lập trình đặt ra. Lợi ích của
JSlider là có thể biểu diển giá trị số của người dùng nhập và bằng giao
diện trực quan, giúp dữ liệu toàn vẹn.
- Cách tạo và sử dụng JSlider trong Netbean
Tạo một Jframe form mới, mình đặt tên là Demo_JSlider, chọn và kéo
icon JSlider trong Palette/ Swing Control của Netbean vào trong Jframe

Swing - Những Phần Nâng Cao  PY5lnOmFjh4
Chúng ta cùng tìm hiều những thuộc tính cơ bản của JSlider trong Netbean
------ Thuộc tính maximum : là giá trị lớn nhất của Slider
------ Thuộc tính minimum : là giá trị nhỏ nhất của Slider
------ Thuộc tính value: là giá trị hiện thời của Slider
------ Thuộc tính majorTickSpacing: là khoảng cách của từng giá trị trong Slider
------ Thuộc tính paintLabels : dùng để hiện thị giá trị số ở dưới JSlider
------ Thuộc tính paintLabels : dùng để hiện thị đánh dấu từng mứcị giá trị của JSlider
------ Thuộc tính paintTrack : dùng để hiện thị thanh trượt của JSlider
Bây giờ chúng ta sẽ tạo ra 1 textfield và khi người dùng thay đổi giá trị của Slider thì giá trị sẽ hiện thị trong Slider
-- Chọn Event cho JSlider là Statechange : cllick phải vào JSlider chọn events/ change/ statechange

Swing - Những Phần Nâng Cao  Im7y2w
-- Gõ nội dung sự kiện cho statechange





this.t1.setText(this.sli.getValue()+"");

Note: t1 là Jtextfield, Sli là JSlide
r---
Kết quả :

Swing - Những Phần Nâng Cao  Auz6BDsThGR
3. Timer


Swing Timer phát sinh một hoạt nhiều sự kiện ActionEvent sau một khoảng
thời gian xác định. Timer có thể được cấu hình để phát sinh sự kiện lập
lại nhiều lần hoạt chỉ một lần duy nhất. Để sử dụng Timer bạn phải xác
định thời gian phát sinh bằng mini giây và lắng nghe sự kiện
ActionListener
Lợi ích của Timer: nó dùng để đặt bẩy trong một thời gian xác định sẽ
phát sinh, chúng ta có thể sử dụng nói để làm soft về thi, quy định thời
gian làm bài, chương trình tính giờ, đồng hồ "tự chế"...

Bây giờ Huy sẽ demo cho các bạn một chương trình nhỏ về timer để đếm thời gian theo giây nhé
- Tạo Jframe mới (dĩ nhiên rồi).
- Mình sẽ tạo ra giao diện như thế này.

Swing - Những Phần Nâng Cao  QGbuUxhex7o
Khi chúng ta bấm nút bất đầu thì timer bắt đầu chạy, khi bâm nút ngừng hoạt stop thì timer sẽ ngừng.
Bất đầu nhé !
Chúng ta tạo một biến Timer và 2 biến Integer đại diện cho phút và giây toàn cục





Timer thoigian;
Integer second;
Integer mini;

Khởi tạo và set đối tượng cho Timer trong hàm khởi tạo





second=0;
mini=0;
thoigian= new Timer(1000, new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
String temp=mini.toString();
String temp2=second.toString();
if(temp.length()==1)
{
temp="0"+temp;
}
if(temp2.length()==1)
{
temp2="0"+temp2;
}
if(second==59)
{
dem.setText(temp+" : "+temp2);
mini++;
second=0;
}else
{
dem.setText(temp+" : "+temp2);
second++;
}
}
});

Hàm trên có y nghĩa sẽ đếm số giây và giây lớn hơn 59 sẽ cộng dồn sang phút và set cho "dem" là biến đếm thời gian
Khi bấm nút "Bất đầu" thì ta sẽ khởi chạy Timer





thoigian.start();

Khi bấm nút "Ngừng" thì ta sẽ tạm ngừng timer, và khi bấm "Bất đầu" lại thì nó đếm tiếp





thoigian.stop();

Khi bấm nút "Kết Thúc" thì ta sẽ tạm ngừng Timer
và đồng tời set 2 biến mini và second thành giá tri 0, nếu bấm lại nút
"Bất đầu" thì giá trị sẽ set lại 00:00





thoigian.stop();
mini=0;
second=0;

Đây là kết quả của quá tình trên

Swing - Những Phần Nâng Cao  C7s3Z25BGE3
------
Có gì cho huy ý kiến nhé, Huy đang viết tiếp, sẽ share code sau khi hoàn thành bài viết này !
--------
Theo http://congdongjava.com