Hotline: 0919 365 363; Email: daotao@r2s.edu.vn

Blog

Thành phần cơ bản trong Swing

Các thành phần cơ bản trong Swing
Blog kiến thức

Thành phần cơ bản trong Swing

Các thành phần cơ bản trong Swing sẽ được trình bày và sử dụng các thành phần mà chúng tôi đã giới thiệu trước đó trong bài Giới thiệu về Swing (Bài 1).

Các thành phần thành phần đó là JSlider, JProgressBar, JFormattedTextField, JOptionPane,…cũng được sử dụng nhiều trong quá trình thiết kế ứng dụng hỗ trợ giao diện đồ hoạ. Để tìm hiểu rõ hơn về các thành phần này, hãy cùng theo dõi bài viết dưới đây của R2S!

JSlider – Thành phần cơ bản trong Swing

JSlider là gì?

JSlider là một thành phần giao diện người dùng trong Java Swing được sử dụng để chọn giá trị từ một khoảng giá trị đã cho. Nó cho phép người dùng kéo thanh trượt để điều chỉnh giá trị từ tối thiểu đến tối đa. JSlider thường được sử dụng để điều chỉnh các thuộc tính như âm lượng, độ sáng, kích thước, v.v. của một ứng dụng.

Các thành phần cơ bản trong Swing

Một số phương thức thường dùng của JSlider

TênMiêu tả
int value = getValue();Lấy giá trị hiện tại
setValue(int value);Thiết lập giá trị hiện tại

Đăng ký sự kiện cho JSlider

Các thành phần cơ bản trong Swing

JProgressBar trong thành phần cơ bản trong Swing

JProgressBar là gì?

JProgressBar là một thành phần giao diện trong Java Swing được sử dụng để hiển thị tiến trình của một tác vụ đang diễn ra. 

Nó thường được sử dụng để chỉ ra cho người dùng biết mức độ hoàn thành của một tác vụ và tỷ lệ phần trăm đã được tiến hành. ProgressBar thường được cập nhật theo thời gian để hiển thị trạng thái tiến trình của tác vụ.

JProgressBar được sử dụng để hiển thị tiến trình xử lý bằng cách hiển thị tỷ lệ phần trăm hoàn thành của nó. Thông thường thì thanh tiến trình được sử dụng trong màn hình splash để hiển thị trạng thái nạp dữ liệu của ứng dụng hoặc là trong những xử lý đòi hỏi nhiều thời gian.

Các thành phần cơ bản trong Swing

Tạo JProgressBar trong NetBeans

Các thành phần cơ bản trong Swing
TênMiêu tả
setMinimum(int n)Thiết lập giá trị nhỏ nhất
setMaximum(int n)Thiết lập giá trị lớn nhất
setValue(int n)Thiết lập giá trị hiện hành
int value = getValue();Lấy giá trị hiện hành
setStringPainted(boolean b)Thiết lập hiển thị số phần trăm hoàn thành

Đăng ký sự kiện cho JProgressBar

Các thành phần cơ bản trong Swing

JFormattedTextField trong thành phần cơ bản trong Swing

JFormattedTextField là gì?

JFormattedTextField là một lớp trong Java Swing được sử dụng để hiển thị và chỉnh sửa giá trị của một đối tượng trong một định dạng cụ thể. 

Nó cung cấp một cách tiện lợi để định dạng và nhập liệu cho một loại dữ liệu nhất định như số nguyên, số thực, ngày tháng, v.v. JFormattedTextField cung cấp các định dạng mặc định cho các loại dữ liệu thông thường, và cho phép bạn tùy chỉnh định dạng theo ý muốn.

Giống như JTextField ngoại trừ chỉ chấp nhận những ký tự theo định dạng đã thiết lập trước. Có nhiều định dạng khác nhau ví dụ như số (numeric), ngày (date) và tiền tệ (currency)

Các thành phần cơ bản trong Swing

JFormattedTextField được sử dụng để xác thực dữ liệu mà người dùng nhập vào mà không cần phải viết mã code để xử lý.

Tạo JFormattedTextField trong NetBeans

Tuỳ chỉnh định dạng (Customized Formatter)

Tuỳ chỉnh định dạng (Customized Formatter)

Bảng mask characters

Mask characterMiêu tả
#Một số bất kỳ
UBất kỳ ký tự nào. Tất cả các ký tự đếu được chuyển thành chữ hoa.
LBất kỳ ký tự nào. Tất cả các ký tự đều được chuyển thành chữ thường.
AMột ký tự hoặc một số bất kỳ
?Bất kỳ ký tự nào
*Mọi thứ.

Ví dụ chỉ cho phép người dùng nhập một số có 4 chữ số

 thành phần cơ bản trong Swing

Hình ảnh bên dưới là kết quả khi chạy ứng dụng

 kết quả khi chạy ứng dụng

JOptionPane trong thành phần cơ bản trong Swing

JOptionPane là gì?

JOptionPane là một lớp trong thư viện javax.swing trong Java được sử dụng để tạo các hộp thoại đơn giản trong ứng dụng desktop. 

Nó cung cấp các phương thức để hiển thị các hộp thoại thông báo, hộp thoại xác nhận và hộp thoại nhập dữ liệu. JOptionPane cho phép người dùng tương tác với ứng dụng và cung cấp thông tin hoặc lấy dữ liệu từ người dùng một cách dễ dàng.

JOptionPane được sử dụng để hiển thị hộp thoại đến người dùng. Tùy theo mục đích sử dụng mà hộp thoại đó có thể là một trong các loại sau đây

Các loại JOptionPane được sử dụng

TênMiêu tả
MessageDialogHiển thị hộp thoại có dạng thông báo
ConfirmDialogHiển thị hộp thoại theo yêu cầu người dùng xác nhận (Yes/No)
InputDialogHiển thị hộp thoại cho phép người dùng tự nhập thông tin
OptionDiglogCho phép lập trình viên chỉnh sửa hộp thoại theo ý muốn của mình.

Ví dụ sử dụng JOptionPane

sử dụng JOptionPane

Xử lý sự kiện cho nút “Message Dialog” trong xử lý mẫu

<JOptionPane.showMessageDialog(this, "Please input your name");>
Message Dialog

Xử lý sự kiện cho nút “Input Dialog” trong xử lý mẫu

<String yourName = JOptionPane.showInputDialog("Your name is");

if(yourName != null) {

 JOptionPane.showMessageDialog(this, "Your name is "+yourName);

}>
Confirm Dialog

Xử lý sự kiện cho nút “Confirm Dialog” trong xử lý mẫu

<int ret = JOptionPane.showConfirmDialog(this, "Are you sure?"

                              , "Confirm", JOptionPane.YES_NO_OPTION

                              , JOptionPane.QUESTION_MESSAGE);

if (ret == JOptionPane.YES_OPTION) {

   //Xử lý trường hợp người dùng chọn Yes

} else {

   //Xử lý trường hợp người dùng chọn No

}>
cac thanh phan co ban trong swing

Xử lý sự kiện cho nút “Option Dialog” trong xử lý mẫu

<int ret = JOptionPane.showOptionDialog(this,

                     "Do you want to print this document?", "Confirm"

                     ,JOptionPane.YES_NO_OPTION

                     ,JOptionPane.QUESTION_MESSAGE, null

                     ,new String[] {"Đồng ý","Thoát"}, "Đồng ý");

 if (ret == JOptionPane.YES_OPTION) {

    //Xử lý trong trường hợp người dùng chọn "Đồng ý"

 } else {

    //Xử lý trong trường hợp người dùng chọn "Thoát"

 }>

Bài tập thực hành của bài thành phần cơ bản trong swing

Yêu cầu: Thiết kế giao diện và xử lý sự kiện cho các JSlider (JSlider cho Year, JSlider cho Month và JSlider cho Day)

cac thanh phan co ban trong swing

Gợi ý: 

Sử dụng chức năng Pre-Init Code và bổ sung đoạn mã code sau để xử lý hiển thị tháng dạng chuỗi (Jan, Feb, Mar, …..), trong đó sldMonth là tên gọi của JSlider cho Month

<String[] months = (new DateFormatSymbols()).getShortMonths();

Hashtable hashTable = new Hashtable(12);

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

 hashTable.put(new Integer(i+1), new JLabel(months[i],JLabel.CENTER));

}

sldMonth.setLabelTable(hashTable);>
cac thanh phan co ban trong swing

Kết luận bài viết thành phần cơ bản trong Swing

Như vậy, qua bài viết về Thành phần cơ bản trong Swing trên đây, R2S chúng tôi đã giúp bạn hiểu được về JSlider, JProgressBar, JFormattedTextField, JOptionPane

Đừng quên bỏ lỡ bất cứ bài viết nào của chúng tôi để học thêm nhiều kiến thức hữu ích về lập trình giao diện trong lập trình java nhé.

Hãy đến website của R2S để tìm hiểu sâu hơn vào lập trình và công nghệ thông tin để có nhiều kiến thức hay về nó hơn nha. 

Bài viết gốc được đăng tải tại giasutinhoc.vn