Phẫu thuật thẩm mỹ cho ứng dụng Swing nào:D

Giao diện ban đầu của ứng dụng Swing rất đơn giản, đôi khi nhìn riết cũng thấy chán .
Để làm nó được mới mẽ hơn, ngoài cách tạo ra những thành phần đã tinh chỉnh lại theo ý riêng (như trong bài JLabel, JButton,…) thì chúng ta cũng có thể sử dụng đến LookAndFeel.
LookAndFeel là 1 kỹ thuật thay đổi hình dạng và cách ứng xử của toàn ứng dụng ngay lúc thực thi.
Bạn có thể lên Google để search và download về những bộ LookAndFeel đã xây dựng sẵn và nhúng vào ứng dụng của bạn.

Cách sử dụng:

Bạn nhúng 1 lần đoạn code sau vào phương thức main(String args[]) của ứng dụng Swing:

Code:
	try
	{
		UIManager.setLookAndFeel("tên của LookAndFeel");
	}
	catch (Exception e)
	{
		e.printStackTrace();
	}
	javax.swing.SwingUtilities.invokeLater(new Runnable()
	{
		public void run()
		{
			JFrame.setDefaultLookAndFeelDecorated(true);
		}
	});

Lưu ý là đoạn code trên phải đặt trước dòng lệnh tạo đối tượng của lớp JFrame.

Nhúng vào ứng dụng sau: form nhập dữ liệu thông tin của nhân viên

Code:
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import javax.swing.UIManager;

public class LookAndFeelDemo extends JFrame
{
	public LookAndFeelDemo()
	{
		super("Look And Feel Demo");

		JLabel lName = new JLabel("Name");
		JLabel lGender = new JLabel("Gender");
		JLabel lDesignation = new JLabel("Designation");

		JTextField tName = new JTextField();

		JRadioButton male = new JRadioButton("Male",true);
		JRadioButton female = new JRadioButton("Female");
		ButtonGroup bg = new ButtonGroup();
		bg.add(male);
		bg.add(female);

		JComboBox comboDesignation = new JComboBox();
		comboDesignation.addItem("Chief");
		comboDesignation.addItem("Employee");

		JButton insert = new JButton("Insert");
		JButton reset = new JButton("Reset");

		JPanel pGender = new JPanel(new GridLayout(1,2,5,5));
			pGender.add(male);
			pGender.add(female);
		JPanel p = new JPanel(new GridLayout(4,2,5,5));
			p.add(lName);
			p.add(tName);
			p.add(lGender);
			p.add(pGender);
			p.add(lDesignation);
			p.add(comboDesignation);
			p.add(insert);
			p.add(reset);
		getContentPane().setLayout(new BorderLayout(10,10));
		getContentPane().add(new JLabel("Employee Form",JLabel.CENTER),BorderLayout.NORTH);
		getContentPane().add(p,BorderLayout.CENTER);
	}

	public static void main(String args[])
	{
		try
		{
			UIManager.setLookAndFeel("com.jtattoo.plaf.aero.AeroLookAndFeel");
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		javax.swing.SwingUtilities.invokeLater(new Runnable()
		{
			public void run()
			{
				JFrame.setDefaultLookAndFeelDecorated(true);
			}
		});
		LookAndFeelDemo obj = new LookAndFeelDemo();
		obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		obj.setSize(400,200);
 		obj.setVisible(true);
	}
}

Thông thường LookAndFeel được đóng gói lại thành 1 file có phần mở rộng là .jar .Vì thể khi sử dụng chúng bạn phải đặt chúng cùng thư mục với ứng dụng của bạn (điều này giúp thuận tiện hơn) và thiết lập biến môi trường cho chúng. Đoạn code trên sử dụng LookAndFeel có tên là com.jtattoo.plaf.aero.AeroLookAndFeel thuộc gói JTattoo.jar

Trông dễ coi hơn rùi phải không.

Đây là 3 LookAndFeel mặc định có sẵn khi cài JDK (không cần set classpath, chỉ cần thay vào chỗ tên của LookAndFeel thôi):

  • com.sun.java.swing.plaf.motif.MotifLookAndFeel
  • com.sun.java.swing.plaf.windows.WindowsLookAndFeel
  • javax.swing.plaf.metal.MetalLookAndFeel

Mình tìm được 1 vài bộ LookAndFeel nên share cho các bạn dùng thử:

  • Tên file: JTattoo.jar
  • Link download: http://rapidshare.com/files/170076410/JTattoo.jar
  • Bao gồm những LookAndFeel sau: (lưu ý: đây là tên mà bạn đặt nó vào phần “tên của LookAndFeel” ở trên, thích cái nào xài cái đó)
    1. com.jtattoo.plaf.smart.SmartLookAndFeel
    2. com.jtattoo.plaf.noire.NoireLookAndFeel
    3. com.jtattoo.plaf.mint.MintLookAndFeel
    4. com.jtattoo.plaf.mcwin.McWinLookAndFeel
    5. com.jtattoo.plaf.luna.LunaLookAndFeel
    6. com.jtattoo.plaf.hifi.HiFiLookAndFeel
    7. com.jtattoo.plaf.fast.FastLookAndFeel
    8. com.jtattoo.plaf.bernstein.BernsteinLookAndFeel
    9. com.jtattoo.plaf.aluminium.AluminiumLookAndFeel
    10. com.jtattoo.plaf.aero.AeroLookAndFeel
    11. com.jtattoo.plaf.acryl.AcrylLookAndFeel
    12. Ví dụ mình sử dụng look and feel JTattoo. (Đây chỉ là ví dụ, bạn có thể chọn sử dụng look and feel khác !) Để thay đổi Look and Feel chỉ cần qua 2 bước sau đây :

      Bước 1 : Thêm file JTattoo.jar vào thư viện:

      Bước 2 : Thay đổi look and feel đang sử dụng bằng JTattoo.

      Lưu ý : trong một gói look and feel có thể có nhiều theme cho bạn lựa chọn. Chẳng hạn JTattoo có tới 12 theme khác nhau. Ví dụ mình chọn theme Acryl trong JTattoo.

      Mình thêm đoạn code sau vào trong hàm main :

      public static void main(String[] args) {
      try {
      UIManager.setLookAndFeel(“com.jtattoo.plaf.acryl.AcrylLookAndFeel”);
      } catch (Exception ex) {
      System.err.println(ex.getMessage());
      }
      //Phần code còn lại, không cho xem. hj
      }

      Trong đoạn code trên “com.jtattoo.plaf.acryl.AcrylLookAndFeel” chính là đường dẫn tới class “AcrylLookAndFeel” (tương ứng với theme Acryl mà mình muốn sử dụng).

      Ngoài ra trong JTattoo còn các look and feel sau :

      Aero : “com.jtattoo.plaf.aero.AeroLookAndFeel”
      Aluminium : “com.jtattoo.plaf.aluminium.AluminiumLookAndFeel”
      Bernstein : “com.jtattoo.plaf.bernstein.BernsteinLookAndFeel”
      Fast : “com.jtattoo.plaf.fast.FastLookAndFeel”
      Graphite : “com.jtattoo.plaf.graphite.GraphiteLookAndFeel”
      Hifi : “com.jtattoo.plaf.hifi.HifiLookAndFeel”
      Luna : “com.jtattoo.plaf.luna.LunaLookAndFeel”
      Mcwin : “com.jtattoo.plaf.mcwin.McwinLookAndFeel”
      Mint : “com.jtattoo.plaf.mint.MintLookAndFeel”
      Noire : “com.jtattoo.plaf.noire.NoireLookAndFeel”
      Smart : “com.jtattoo.plaf.smart.SmartLookAndFeel”

      Bạn có thể vào đây download về xem demo về JTattoo (đẹp lắm đó ! @_@) :

      http://www.jtattoo.net/downloads/JTattooDemo.jar

      Có rất nhiều Look And Feel cho bạn lựa chọn. Hãy chọn cho mình một L&F vừa ý nhé ! Cách sử dụng thì gồm 2 bước mình đã làm ở trên, nếu bạn gặp khó khăn trong quá trình “phẫu thuật” thì có thể comment tại đây.

      Chúc bạn thành công !

    13. Nguồn Internet:D
    14. Bonus thêm cái link này :Ôn tập trước khi vào kỳ 4:http://www.08hc.com/4rum/viewtopic.php?f=65&t=2386

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s