[Hạng Mục]Kinh Nghiệm Lập Trình Với Java Swing

JackV

Administrator
Staff member
Chào các bạn, Swing ngoài việc được sử dụng để lập trình desktop application thì nó cũng xem như là một công nghệ dễ triển khai của java cho việc học tập, nghiên cứu kiến trúc và hiện thực các vấn đề logic dành cho các bạn mới đến với java, hiện tại các bạn mới có thể vào trang java2s.com để xem Swing JFC cho nhữn ví dụ liên quan đến lập trình swing nhưng có một hạn chế rất lớn là nó không cho phép trao đổi, nó chỉ làm ví dụ về lập trình, không có phần giới thiệu và tính chất của các đối tượng mà nó sử dụng nên việc xem nó để học hỏi là khó khăn đối với người mới.

Hạng mục Kinh Nghiệm Lập Trình Với Java Swing thuộc Dự án CHIA SẺ VÌ CỘNG ĐỒNG LẬP TRÌNH VIÊN VIỆT NAM, khi tham gia hạng mục này chúng ta sẽ viết về từng thành phần và các vấn đề của swing bao gồm giới thiệu, tính chất, code demo, hình ảnh, ... mọi thứ có thể về vấn đề đó.

Các bài viết đã được thực hiện:
Tranhuyvc - Swing là gì ? Cách sử dụng các thành phần cơ bản của Swing
- SwingWorker
- Kéo thả trong java
- Swing MVC architecture
- Undo redo
- Swing framework
- Swing layout
- Swing component
Swing Filter
0 Glue​
0 Horizontal Glue​
0 Horizontal Strut​
0 Rigid Area​
0 Vertical Glue​
0 Vertical Strut​
Action and Event
?​
?​
?​
Look and feel
?​
?​
?​

Hi vọng anh em mỗi người chia sẻ một chút để cộng đồng có được rất nhiều và mỗi người lại thu hoạch nhiều hơn.
 

nong_dan

Active Member
21/4/11
326
94
28
Hi @JackV !
Trước tiên mình rất đánh giá ý tưởng và "tham vọng" của bạn. Và mình có một số ý kiến sau hi vọng sẽ giúp ích dc phần nào...
+ Những cái thuộc về cơ bản như Button, Menu... Hoàn toàn không khó cho dù tiếng anh "phọt phẹt" xem tut "mặc định" của Oracle (http://docs.oracle.com/javase/tutorial/uiswing/components/index.html) là chúng ta hoàn toàn có thể nắm vững. Tức nhiên có một số cái khó nhằn như Table (làm nhuần nhuyễn chứ ko chỉ hiện text là xong) hay JProgressBar ... Thêm một lý do nữa là do "dân mình" toàn dùng "kéo thả" nên nhiều thành phần đơn giản ko cần thiết phải viết tut..
+ Chúng ta nên dành thời gian cho những mảng lớn hơn và chuyên sâu hơn như:
- Dùng Layout thế nào cho chuẩn. Mình cá rằng 90% các bạn trong forum toàn dùng GroupLayout, nhưng code nó sinh ra rất dài dòng khó sửa nếu ko có tool ^^. Nhiều trường hợp dùng các layout khác cũng có cái hay của nó. Ngoài ra có nhiều bạn lên diễn đàn hỏi "sao cái xxx của mình ko hiện ra"(đa phần toàn do ko setlayout)
- SwingWorker là gì? (mình cũng chưa hiểu cặn kẽ về nó)
- Thế nào là kéo thả trong java
- Một lý thuyết cực kì quan trọng khi lập trình Swing là phải hiểu mô hình MVC. Lý thuyết thì search google ra đầy but ứng dụng vào Swing thế nào -> ứng dụng thực tế rõ ràng nhất là JTable và JTree
- Gói "Undo" làm việc thế nào?
- Cách sử dụng và tại sao phải dùng các thư viện hay dùng như appframework, swing-worker...(thường quá quen thuộc vs các bạn dùng netbean)

ngoài lề một chút ^^
Swing Filter

0 Glue​
0 Horizontal Glue​
0 Horizontal Strut​
0 Rigid Area​
0 Vertical Glue​
0 Vertical Strut​
hi hi cái này mình chưa nghe nói tới bao h?(có lẽ do kiến thức hạn hẹp ) tưởng Glue,... thuộc BoxLayout ?!
 

JackV

Administrator
Staff member
Nhưng mà gửi bài hay đóng góp ý kiến tì nên để bài viết ở mục nào hả anh, hay viết tiếp vào topic của anh @huy đã viết http://congdongjava.com/forum/threads/swing-là-gì-cách-sử-dụng-các-thành-phần-cơ-bản-của-swing.487/ :)
Okie, đóng góp ý kiến cho hạng mục này thì cứ ở đây. Còn đóng góp bài viết chia sẻ thì box Đóng góp hướng dẫn mới
Tức nhiên có một số cái khó nhằn như Table (làm nhuần nhuyễn chứ ko chỉ hiện text là xong) hay JProgressBar ... Thêm một lý do nữa là do "dân mình" toàn dùng "kéo thả" nên nhiều thành phần đơn giản ko cần thiết phải viết tut..
+ Chúng ta nên dành thời gian cho những mảng lớn hơn và chuyên sâu hơn
Tất nhiên rồi, ai lại để thời gian đi viết cho những cái quá đơn giản, phải viết về những vấn đề mọi người đều quan tâm, mình sẽ thêm những phần bạn đã gợi ý vào.
Phần trên chỉ là các liệt kê, quan trọng là mọi người quan tâm đến phần nào thì cùng viết.
Hi vọng mỗi người chia sẻ một chút để cộng đồng có nhiều.