Xu Hướng 11/2022 # Cách Tạo, Và Xử Lý Sự Kiện Của Jtextfield Trong Java Swing / 2023 # Top 15 View | Rafs.edu.vn

Bạn đang xem bài viết Cách Tạo, Và Xử Lý Sự Kiện Của Jtextfield Trong Java Swing / 2023 được cập nhật mới nhất trên website Rafs.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.

JTextField là một component có lẽ cũng được sử dụng rất nhiều trong các ứng dụng Java Swing cùng với Button, Label, CheckBox, etc.

JTextField là một component cho phép nhập và chỉnh sữa đoạn văn bản trên cùng một dòng vì thế nó thường phù hợp cho việc nhập, chỉnh sửa các thông tin dạng ngắn gọn, mang đại ý như là email, password, tên công ty, tên sinh viên, etc. Còn những thông tin dài hơn thì chúng ta có thể sử dụng JTextArea cho phép nhập, chỉnh sửa dữ liệu trên nhiều dòng.

Tạo JTextField

Để khởi tạo một JTextField trong Java Swing rất đơn giản với cú pháp sau:

JTextField jTextField = new JTextField();

JTextField jTextField = new JTextField();

Để khởi tạo một JTextField với đoạn văn bản có sẵn thì có thể làm như sau:

JTextField jTextField = new JTextField(“Default Text”);

JTextField jTextField = new JTextField(“Default Text”);

Trong JTextField có một thuộc tính gọi là columns được dùng để tính toán độ rộng của JTextField, mặc định nó là 0 nên khi không có dữ liệu thì kích thước của nó sẽ rất nhỏ. Để chỉ định columns cho JTextField chúng ta có thể khởi tạo như sau:

JTextField textField = new JTextField(20);

JTextField textField = new JTextField(20);

Note:

Nếu JTextField được khởi tạo mà không được cung cấp đoạn văn bản ban đầu thì giá trị này sẽ là null. Các bạn nhớ lưu ý khi thao tác nếu không có thể bị NullPointerException.

Nếu columns không được cung cấp lúc khởi tạo thì giá trị mặc định nó là 0, chiều rộng của JTextField sẽ được tính dựa vào văn bản. Nếu cả 2 văn bản và columns không được cung cấp thì chiều rộng của nó sẽ nhỏ tối đa.

Ví dụ tạo 2 JTextFiled trong JFrame

import javax.swing.*; public class JTextFieldExample { public static void main(String[] agrs) { JFrame mainFrame = new JFrame(“JtextField Exampke”); mainFrame.setSize(400, 150); JPanel panel = new JPanel(); JTextField jTextField = new JTextField(10); JTextField jTextField1 = new JTextField(20); panel.add(jTextField); panel.add(jTextField1); mainFrame.add(panel); mainFrame.setVisible(true); } }

import javax.swing.*; public class JTextFieldExample { public static void main(String[] agrs) { JFrame mainFrame = new JFrame(“JtextField Exampke”); mainFrame.setSize(400, 150); JPanel panel = new JPanel(); JTextField jTextField = new JTextField(10); JTextField jTextField1 = new JTextField(20); panel.add(jTextField); panel.add(jTextField1); mainFrame.add(panel); mainFrame.setVisible(true); } }

Để lấy giá trị của String trong JTextField chúng ta có thể sử dụng getText() method.

String content = textField.getText()

String content = textField.getText()

Hoặc có thể tuỳ chọn vị trí bắt đầu của String và đọc với số lượng tối đa bao nhiêu ký tự thì làm như sau:

int offset = 5; int length = 10; try { content = textField.getText(offset, length); } catch (BadLocationException ex) { }

int offset = 5; int length = 10; try { content = textField.getText(offset, length); } catch (BadLocationException ex) { }

Đoạn code trên sẽ sẽ trả về 10 ký tự từ vị trí thứ 5 trong văn bản.

Tạo Tooltip cho JTextField

Đôi khi đoạn văn bản của chúng ta quá nhiều và không thể hiển thị đầy đủ trên JTextField, hay bạn muốn hiển thị một thông điệp gì đó khi người dùng rê chuột vào một JTextField thì các bạn có thể sử dụng setToolTipText() method

public class JTextFieldExample { public static void main(String[] agrs) { JFrame mainFrame = new JFrame(“JtextField Exampke”); mainFrame.setSize(400, 150); JPanel panel = new JPanel(); JTextField jTextField = new JTextField(10); jTextField.setToolTipText(“Tooltip here!”); panel.add(jTextField); mainFrame.add(panel); mainFrame.setLocationRelativeTo(null); mainFrame.setVisible(true); } }

public class JTextFieldExample { public static void main(String[] agrs) { JFrame mainFrame = new JFrame(“JtextField Exampke”); mainFrame.setSize(400, 150); JPanel panel = new JPanel(); JTextField jTextField = new JTextField(10); jTextField.setToolTipText(“Tooltip here!”); panel.add(jTextField); mainFrame.add(panel); mainFrame.setLocationRelativeTo(null); mainFrame.setVisible(true); } }

Thông thường JTextField sẽ ở trạng thái khi người dùng nhấp chuột vào đó, tuy nhiên chúng ta vẫn có thể xử lý chuyện này với code thông qua requestFocusInWindow() method.

textField.requestFocusInWindow();

textField.requestFocusInWindow();

Xử lý sự kiện trong JTextField

Việc thêm một sự kiện cho JTextField thông thường được dùng để kiểm tra xem người dùng đang nhập những gì từ đó có chương trình có thể làm những tác vụ tiếp theo, ví dụ JTextFiled dùng để tra từ điển thì khi người dùng đang nhập từng chữ thì có chúng ta thể tìm kiếm dưới database trước và hiển thị lên giao diện gợi ý cho người dùng. Hay kiểm tra lỗi realtime, mỗi ký tự nhập vào là kiểm tra lỗi luôn chẳng hạn.

import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class JTextFieldExample { public static void main(String[] agrs) { JFrame mainFrame = new JFrame(“JtextField Exampke”); mainFrame.setSize(400, 150); JPanel panel = new JPanel(); JTextField jTextField = new JTextField(10); jTextField.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent event) { System.out.println(“key typed”); } @Override public void keyReleased(KeyEvent event) { System.out.println(“key released”); } @Override public void keyPressed(KeyEvent event) { System.out.println(“key pressed”); } }); panel.add(jTextField); jTextField.requestFocusInWindow(); mainFrame.add(panel); mainFrame.setLocationRelativeTo(null); mainFrame.setVisible(true); } }

import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class JTextFieldExample { public static void main(String[] agrs) { JFrame mainFrame = new JFrame(“JtextField Exampke”); mainFrame.setSize(400, 150); JPanel panel = new JPanel(); JTextField jTextField = new JTextField(10); jTextField.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent event) { System.out.println(“key typed”); } @Override public void keyReleased(KeyEvent event) { System.out.println(“key released”); } @Override public void keyPressed(KeyEvent event) { System.out.println(“key pressed”); } }); panel.add(jTextField); jTextField.requestFocusInWindow(); mainFrame.add(panel); mainFrame.setLocationRelativeTo(null); mainFrame.setVisible(true); } }

Select các ký tự trong JTextFiled

Hành động này tương tự với việc người dùng nhấp chuột và kéo bôi những đoạn văn bản họ muốn.

Ví dụ chọn tất cả các văn bản trong JTextField

textField.selectAll();

Chọn các ký tự từ một vị trí bắt đầu và kết thúc được chỉ định

textField.setSelectionEnd(12);

Tuỳ biến JTextField

Với JTextField chúng ta có thể tuỳ biến nó trong một số trường hợp sau:

Vô hiệu hoá tính năng chỉnh sửa, tính năng này thường được dùng khi JTextField này không thể nhập dữ liệu đối với một số trường hợp cụ thể.

textField.setEditable(false);

textField.setEditable(false);

Căn chỉnh văn bản ở giữa

textField.setHorizontalAlignment(JTextField.CENTER)

textField.setHorizontalAlignment(JTextField.CENTER)

Chúng ta có thể tuỳ chỉnh bằng các hằng số khác tuỳ vào nhu cầu sử dụng

JTextField.LEFT

JTextField.CENTER

JTextField.RIGHT

JTextField.LEADING

JTextField.TRAILING

Có thể chỉ định font chữ, kích thước, màu nền

textField.setForeground(Color.BLUE); textField.setBackground(Color.YELLOW);

Nguồn tham khảo

https://www.codejava.net/java-se/swing/jtextfield-basic-tutorial-and-examples

Hướng dẫn lập trình Java Swing từ A – Z

Một API duy nhất là đủ để hỗ trợ nhiều giao diện.

API được định hướng theo mô hình sao cho API cấp cao nhất không bắt buộc phải có dữ liệu.

API sử dụng mô hình Java Bean để Builder Tools và IDE có thể cung cấp các dịch vụ tốt hơn cho các nhà phát triển để sử dụng.

1. Sơ đồ phân cấp lớp Java Swing

Trọng lượng nhẹ – Các thành phần Swing độc lập với API của hệ điều hành gốc do các điều khiển API Swing được kết xuất chủ yếu bằng cách sử dụng mã Java thuần túy thay vì các cuộc gọi hệ điều hành cơ bản.

Rich Controls – Swing cung cấp một bộ điều khiển nâng cao phong phú như Tree, TabbedPane, thanh trượt, colorpicker và điều khiển bảng.

Tùy biến cao – các điều khiển xoay có thể được tùy chỉnh theo một cách rất dễ dàng và độc lập với biểu diễn bên trong.

Pluggable look-and-feel – Swing dựa nhìn GUI Application và có thể thay đổi thời gian chạy, dựa trên các giá trị có sẵn.

3. Một ví dụ swing đơn giản

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField; public class SwingFirstExample { public static void main(String[] args) { JFrame frame = new JFrame(“My First Swing Example”); frame.setSize(350, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /* Creating panel. This is same as a div tag in HTML * We can create several panels and add them to specific * positions in a JFrame. Inside panels we can add text * fields, buttons and other components. */ JPanel panel = new JPanel(); frame.add(panel); /* calling user defined method for adding components * to the panel. */ placeComponents(panel); frame.setVisible(true); } private static void placeComponents(JPanel panel) { /* We will discuss about layouts in the later sections * of this tutorial. For now we are setting the layout * to null */ panel.setLayout(null); JLabel userLabel = new JLabel(“User”); /* This method specifies the location and size * of component. setBounds(x, y, width, height) * here (x,y) are cordinates from the top left * corner and remaining two arguments are the width * and height of the component. */ userLabel.setBounds(10,20,80,25); panel.add(userLabel); /* Creating text field where user is supposed to * enter user name. */ JTextField userText = new JTextField(20); userText.setBounds(100,20,165,25); panel.add(userText); JLabel passwordLabel = new JLabel(“Password”); passwordLabel.setBounds(10,50,80,25); panel.add(passwordLabel); /*This is similar to text field but it hides the user * entered data and displays dots instead to protect * the password like we normally see on login screens. */ JPasswordField passwordText = new JPasswordField(20); passwordText.setBounds(100,50,165,25); panel.add(passwordText); JButton loginButton = new JButton(“login”); loginButton.setBounds(10, 80, 80, 25); panel.add(loginButton); } }

import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class SwingFirstExample { public static void main(String[] args) { JFrame frame = new JFrame(“My First Swing Example”); frame.setSize(350, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /* Creating panel. This is same as a div tag in HTML * We can create several panels and add them to specific * positions in a JFrame. Inside panels we can add text * fields, buttons and other components. */ JPanel panel = new JPanel(); frame.add(panel); /* calling user defined method for adding components * to the panel. */ placeComponents(panel); frame.setVisible(true); } private static void placeComponents(JPanel panel) { /* We will discuss about layouts in the later sections * of this tutorial. For now we are setting the layout * to null */ panel.setLayout(null); JLabel userLabel = new JLabel(“User”); /* This method specifies the location and size * of component. setBounds(x, y, width, height) * here (x,y) are cordinates from the top left * corner and remaining two arguments are the width * and height of the component. */ userLabel.setBounds(10,20,80,25); panel.add(userLabel); /* Creating text field where user is supposed to * enter user name. */ JTextField userText = new JTextField(20); userText.setBounds(100,20,165,25); panel.add(userText); JLabel passwordLabel = new JLabel(“Password”); passwordLabel.setBounds(10,50,80,25); panel.add(passwordLabel); /*This is similar to text field but it hides the user * entered data and displays dots instead to protect * the password like we normally see on login screens. */ JPasswordField passwordText = new JPasswordField(20); passwordText.setBounds(100,50,165,25); panel.add(passwordText); JButton loginButton = new JButton(“login”); loginButton.setBounds(10, 80, 80, 25); panel.add(loginButton); } }

Đầu ra:

– JFrame – Một khung là một thể hiện của JFrame. Khung là một cửa sổ có thể có tiêu đề, đường viền, menu, nút, trường văn bản và một số thành phần khác. Một ứng dụng Swing phải có một khung để có các thành phần được thêm vào nó.

– JPanel – Một bảng điều khiển là một thể hiện của JPanel. Một khung có thể có nhiều hơn một bảng và mỗi bảng có thể có nhiều thành phần. Bạn cũng có thể gọi chúng là các phần của Frame. Các bảng hữu ích cho việc nhóm các thành phần và đặt chúng vào các vị trí thích hợp trong một khung.

– JLabel – Nhãn là một thể hiện của lớp JLabel. Nhãn là văn bản và hình ảnh không thể chọn. Nếu bạn muốn hiển thị chuỗi hoặc hình ảnh trên khung, bạn có thể làm như vậy bằng cách sử dụng nhãn. Trong ví dụ trên, chúng tôi muốn hiển thị văn bản “Người dùng” và “Mật khẩu” ngay trước các trường văn bản, chúng tôi đã thực hiện việc này bằng cách tạo và thêm nhãn vào các vị trí thích hợp.

– JTextField – Được sử dụng để chụp các đầu vào của người dùng, đây là các hộp văn bản mà người dùng nhập dữ liệu.

– JPasswordField – Tương tự như trường văn bản nhưng dữ liệu đã nhập bị ẩn và hiển thị dưới dạng dấu chấm trên GUI.

– JButton – Một nút là một thể hiện của lớp JButton. Trong ví dụ trên chúng ta có một nút “Đăng nhập”.

Nguồn: https://www.devpro.edu.vn/

Tham khảo các dịch vụ thiết kế website, dịch vụ SEO, lập trình web-app, cắt HTML và lập trình di động

Tiếp tục bài viết về Landing Page, bài viết này và chuỗi bài tiếp theo về Landing Page Mona Media sẽ cập nhật và phân tích một số kế hoạch Marketing điển hình của các thương hiệu lớn hiện nay như Sapporo, Yamaha, Trà thảo mộc Dr.Thanh, Clup 86, giúp các bạn có cái nhìn cụ thể về thực hiện các dạng của Landing Page.

Chúng ta sẽ tiến hành phân tích theo một chu trình logic như sau: Đi xe Yamaha tới Clup 86 uống bia Sapporo, nóng trong người uống trà thảo mộc Dr.Thanh.

Bài viết bàn về Landing Page Sự kiện – Clup 86

Để cung cấp đầy đủ thông tin về sự kiện, để khách hàng hiểu hơn về nội dung chương trình và tham gia sự kiện, nhà tổ chức không cần tạo một trang Landing page mà phải tạo một trang Landing page độc đáo, ấn tượng.

Tạo trang Landing page “độc” cho sự kiện

Mấu chốt của một trang Landing page đẹp là phải có ý tưởng chất, mọi thứ sau đó sẽ đến theo một lẽ tất nhiên. Ý tưởng chất là ý tưởng khả thi, phù hợp với mục tiêu của sự kiện và đối tượng khách hàng mà sự kiện đó hướng tới.

Một Landing page độc cho sự kiện phụ thuộc vào 2 yếu tố là nội dung và công nghệ. Như một bản nhạc sẽ thăng hoa khi được trình diễn cùng một điệu nhảy đẹp, Landing page cho sự kiện muốn lôi cuốn người xem, kích thích hành động thì nội dung phải phối hợp hài hòa với giao diện. Khi nội dung và giao diện giao thoa, hiệu ứng sẽ xuất hiện. Hiệu ứng là ấn tượng của khách hàng đối với Landing page, đối với nội dung chương trình, kích thích khách hàng hành động đặt vé tham dự chương trình.

Nội dung

Hay còn được gọi là phần Copy của Landing page cho sự kiện gồm 4 phần chính:

Tiêu đề: Là tên của sự kiện. Tiêu đề phải ngắn gọn nhưng nêu được nét độc đáo riêng biệt của sự kiện. Bạn có thể kèm theo một câu ngắn bên dưới tiêu đề nếu cần bổ sung thông tin cho tên của sự kiện.

Nội dung chính: Tùy theo từng sự kiện mà nội dung chương trình sẽ có những nội dung chính khác nhau. Yêu cầu quan trọng nhất là nội dung phải được thể hiện ngắn gọn – đơn giản – xúc tích – ấn tượng và phải đảm bảo những thông tin quan trọng là thời gian và địa điểm tổ chức sự kiện.

Hình ảnh: Là yếu tố bắt buộc phải có trong landing page cho sự kiện. Để kích thích đối tượng đăng kí tham gia chương trình, bạn nên sử dụng hình ảnh thực tế mà qua đó, người xem có thể tưởng tượng được không khí của buổi sự kiện.

Hành động: Có thể đó sẽ là đặt vé ngay hoặc hướng dẫn thao tác để nhận vé miễn phí, tùy chương trình. Dù thế nào, văn phong trong mục này cũng phải phù hợp với đối tượng hướng đến, tránh gây phản cảm.

Có nhiều ứng dụng hỗ trợ bạn tạo một trang Landing page miễn phí với giao diện đẹp, bạn có thể dễ dàng tạo một trang của riêng mình. Tuy nhiên, yếu tố thu hút nhất của Landing page, đặc biệt Landing page cho sự kiện là sự sáng tạo ấn tượng, chưa từng có trước đây cũng như sẽ không có sau này. Do đó, một số công ty lớn, đơn vị tổ chức những sự kiện hoành tráng, cần khẳng định thương hiệu riêng sẽ tìm đến các công ty thiết kế web uy tín, chuyên nghiệp, được những chuyên gia hàng đầu tư vấn và thiết kế.

Một điều lưu ý: Sau khi khách hàng đặt vé, bạn nên có hệ thống hỗ trợ để nhắc nhở họ tham gia chương trình. Sự tham gia của họ mới đem đến hiệu quả thực sự mà bạn mong muốn.

Mona Media cám ơn bạn đã theo dõi bài viết!

Các dạng Landing Page – Landing Page chương trình game/ khuyến mãi

Bạn là một Social Media hay một nhân viên Marketer thực tập sinh, bạn được sếp giao cho một job sự kiện trên facebook. Ngay bây giờ, bạn cần chạy sự kiện được giao đó nhưng vẫn loay không biết làm như thế nào để có thể thu hút được mọi người tham dự. Trong bài viết hôm nay, chúng tôi sẽ giới thiệu đến các bạn 2 cách tạo sự kiện trên Facebook đơn giản, nhanh chóng trong vòng chưa đến 30 phút.

Tạo sự kiện trên Facebook là gì?

Như vậy, tạo sự kiện trên Facebook là việc thông báo với tất cả các thành viên trong nhóm Facebook khi nào có sự kiện và sự kiện đó sẽ thông báo tới tất cả các tài khoản của người trong nhóm một cách online thay vì offline truyền thống.

2 cách tạo sự kiện trên Facebook

Để tạo được một sự kiện trên Facebook sao cho thu hút được nhiều người quan tâm và tham gia là một công việc rất thú vị và đòi hỏi bạn phải lên được những chiến lược phát triển sự kiện trên fanpage Facebook.

Tạo sự kiện trên Facebook cá nhân

Thời đại công nghệ 4.0, việc người dùng sử dụng Facebook không còn quá xa lạ, đặc biệt, mỗi người đều có một tài khoản Facebook cá nhân.

Tạo sự kiện trên trang cá nhân

– Bước 2: Tại đây, bạn lựa chọn quyền riêng tư của sự kiện, quyền riêng tư có thể là chỉ hiển thị với những người được mời, hiển thị với mọi người trên hoặc ngoài Facebook. Sau đó bạn thực hiện các thao tác như: điền tên sự kiện, vị trí, ngày giờ diễn ra sự kiện, mô tả…. Chỉ sau khi bạn điền hết các thông tin cần thiết thì bạn mới được phép ấn nút Tạo.

– Bước 3: Đây là bước cuối của việc tạo sự kiện trên Facebook cá nhân, đó là bạn hãy mời những người bạn của mình tham gia sự kiện và cùng nhau tương tác.

Cách tạo sự kiện trên Fanpage

Tạo event trên fanpage thường sử dụng cho các sự kiện lớn của doanh nghiệp, tổ chức. Nếu bạn là admin của một fanpage quản lý nào đó, bạn muốn thu hút thêm người dùng quan tâm đến sự kiện sắp được tổ chức của mình thì hãy thử tạo một sự kiện thú vị để “kéo” họ biết đến sản phẩm của mình. Các bước lập sự kiện như sau:

– Bước 1: Tạo thêm một tab sự kiện cho fanpage. Nếu fanpage của bạn có sẵn tab sự kiện rồi thì bạn có thể bỏ qua bước này.

– Bước 2: Truy cập fanpage và nhấp vào tab Sự kiện ở thanh menu bên trái.

Tạo sự kiện trên fanpage

– Bước 3: Tại cửa sổ tab Sự kiện, bạn chọn Tạo sự kiện và sau đó cài đặt thông tin cho event của mình như sau:

+ Với ảnh và video sự kiện: Bạn có thể tải ảnh lên và hoặc video mới, còn để mặc định thì nó sẽ là ảnh bìa của fanpage.

+ Tên sự kiện: Tên sự kiện cần hấp dẫn , thu hút và lôi cuốn người dùng, thông tin được đưa ra cần rõ ràng và cụ thể nhất để người dùng nắm được sự kiện của bạn là gì.

+ Vị trí: Mặc định là vị trí các bạn đang cài cho Fanpage, nếu các bạn muốn thay đổi thì thay đổi hoặc không thì thôi.

+ Mô tả: Tùy chọn theo ý của bạn.

+ Hạng mục: Lựa chọn hạng mục phù hợp với sự kiện của bạn.

+ Tần suất: Các bạn có thể lựa chọn tần suất theo ý mình và cài đặt thời gian bắt đầu và kết thúc cho sự kiện.

+ Chi tiết: Bao gồm lịch trình và từ khóa.

+ Vào cửa: Ở đây bạn nên để vào cửa miễn phí, để thu hút được nhiều thành viên tham gia.

Sau khi bạn tùy đỉnh được những điều trên thì bây giờ bạn chỉ cần chia sẻ sự kiện, mời bạn bè tham gia.

Một số lưu ý tạo sự kiện Facebook thu hút người dùng

Đặt tên sự kiện ấn tượng

Cập nhật thông tin sự kiện hằng ngày

Sự kiện của bạn muốn thu hút hàng trăm, hàng nghìn người tham dự thì cần cập nhật mỗi ngày nhưng bạn cần khéo léo để tránh sự tẻ nhạt trong nội dung.

Thường xuyên cập nhật sự kiện mỗi ngày cho đến khi kết thúc

Post ảnh demo

– Cách phát triển Facebook cá nhân để bán hàng với chi phí… 0 đồng

– Kinh nghiệm phát triển fanpage mới từ 0 like đến phát triển bền vững

– Top 5 khóa học Facebook Marketing nhất định không được bỏ lỡ

Cập nhật thông tin chi tiết về Cách Tạo, Và Xử Lý Sự Kiện Của Jtextfield Trong Java Swing / 2023 trên website Rafs.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!