GUI: Từ này chắc mình ko cần phải giải thích gì thêm nhỉ [IMG]images/smilies/biggrin.png[/IMG]. Chắc ai cũng đã rõ nó là cái giúp ta giao tiếp với chương trình, ... tốt hơn [IMG]images/smilies/biggrin.png[/IMG]
Demo một chương trình cho dễ hình dung. Rồi ta mới bắt tay vào từng cái một [IMG]images/smilies/biggrin.png[/IMG]. Trước tiên hãy đến với chương trình kinh điển "hello word"
Mã:
import javax.swing.*;import java.awt.*; public class first extends JFrame{ private JLabel label; public first () { super ("My first program"); //----- setVisible (true); setSize (200, 70); setDefaultCloseOperation (EXIT_ON_CLOSE); setLayout (new FlowLayout ()); //----- label = new JLabel ("Hello World, hello every body"); add (label); } public static void main (String args []) { first gui = new first (); }}
Bài này mình hướng dẫn code label, textfield, buttom ..... theo kiểu swing. (nên một số bạn ko nên thắc mắc là sao ko dùng awt nhé. Giải thích: Vì bây giờ swing hỗ trợi nhiều hơn, tiện hơn, .... tuy nhiên những cái đề cập tới thì ko hơn awt lắm [IMG]images/smilies/biggrin.png[/IMG])
1> Thư viện
- import javax.swing.*;
trong swing chưa các lớp đối tượng JFrame, Jlabel, ...... Những thứ mà hiện lên nút bấm, đoạn gõ text.... mà ta thấy
- import java.awt.*; Thư viện chứa các lớp đối tượng căn chỉnh ....;
mấy bài tới sẽ đề cập tới
- import java.awt.event.*; ---> Quản lý sự kiện
2> GUI
là những thứ mình nhìn thấy, giao tiếp với chương trình. Một gui bao gồm có khung frame (hoặc có thêm panel). frame hay panel thực chất là một cái khung to tướng để ta đính các đối tượng bắt sự kiện lên trên [IMG]images/smilies/biggrin.png[/IMG]. Có thể ví như mấy cái khung bán dép ngoài chợ ấy [IMG]images/smilies/biggrin.png[/IMG]. Còn những cái dép là những nhân vật chính [IMG]images/smilies/biggrin.png[/IMG]
Tuy là vậy nhưng nhân vật phụ lúc nào cũng phải có, nhân vật chính thì có người nọ người kia -----> Nhất thiết, bắt buộc phải tạo một khung frame khi nói tới gui
Đương nhiên có khung rồi. chả có nhẽ lại để nó trơ trọi một mình [IMG]images/smilies/biggrin.png[/IMG]. Bán hàng chẳng nhẽ là không có hàng [IMG]images/smilies/dont_know.gif[/IMG]---> phải có thêm các label, buttom ....
3> Mổ xẻ một chương trình đơn giản (tức là chương trình trên)
Mã:
private JLabel label;
Một cái nhãn bình thường mà ta đính lên JFrame thôi bạn ah.
Mã:
super ("My first program");
: tên chương trình, cái mà bạn thấy phía trên cùng [IMG]images/smilies/biggrin.png[/IMG] cạnh dấu x
add (label): Đính một cái gì đó lên frame thì ta dùng hàm add [IMG]images/smilies/biggrin.png[/IMG]
Mã:
//----- setVisible (true); setSize (200, 70); setDefaultCloseOperation (EXIT_ON_CLOSE); setLayout (new FlowLayout ()); //-----
Cái này là 4 thuộc tính quan trọng của 1 farme. riêng setDefaultCloseOperation (EXIT_ON_CLOSE); ở bên awt ko hỗ trợ. do đó ta phải tự thiết kế lấy để dùng [IMG]images/smilies/biggrin.png[/IMG]. Nhiệm vụ của nó kết thúc chương trình sau khi ấn dấu x. Bạn thử bỏ dòng này rồi dịch + chạy thử sẽ rõ. Chương trình vẫn run khi nó đã xxxx mấy lần rồi [IMG]images/smilies/laughing.gif[/IMG][IMG]images/smilies/laughing.gif[/IMG][IMG]images/smilies/laughing.gif[/IMG][IMG]images/smilies/laughing.gif[/IMG][IMG]images/smilies/laughing.gif[/IMG]
setVisible (true); // có nghĩa là cho hiện ra để ta thấy
setSize (200, 70): chiều dài là 200 còn chiều rộng là 70
setLayout (new FlowLayout ()); Trang trí tự động trên frame. có mấy loại cơ nhưng loại FlowLayout là phổ biến nhất, đẹp nhất rồi [IMG]images/smilies/biggrin.png[/IMG]
----> Quan trọng nhất là bạn phải nhớ một farme bao giờ cũng có mấy cái kia [IMG]images/smilies/biggrin.png[/IMG]
bạn có thể theo dõi thêm ví dụ sau
Mã:
import javax.swing.*;import java.awt.*;public class FirstGui extends JFrame{ private JLabel label; private JButton button; private JTextField textfield; public FirstGui () { //----- label = new JLabel ("Hi, Tao la label ne hehe"); add (label); textfield = new JTextField (15); add (textfield); button = new JButton ("Click vao tao ne !!!"); add (button); } public static void main (String args []) { FirstGui gui = new FirstGui (); gui.setLayout (new FlowLayout ()); gui.setVisible (true); gui.setSize (200, 125); gui.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); } }
chú ý chỗ mình bôi đen nhé. 4 cái thuộc tính ko để hàm tạo thì vẫn để trong main đc. Mình thì ko thích để trong main lắm [IMG]images/smilies/biggrin.png[/IMG]
continue ..... !!!!
View more random threads:
Không chỉ đơn thuần là một nhà phân phối sản phẩm, Hợp Phát còn là người bạn đồng hành trong hành trình chăm sóc sức khỏe và làm đẹp của bạn. Với sự hiểu biết sâu rộng về các sản phẩm Beurer, chúng...
Beurer: Sự Kết Hợp Hoàn Hảo Giữa...