среда, 16 марта 2011 г.

UImanager class - nədir - proqramınızın stilini dəyişdir.

UImanager sinifi
UImanager sinifi object sinifindən törəyib. Bu class səyəsində formun(komponentin) cari görüntüsü dəyişdirmək mümkündür.
Ümumilikdə istifadəçi işlətdiyi proqramın öyrəşdiyi tərzdə olmağını isdər. Java SE də pro yazanda defaultda Java Apinin stilində olur. Dediyimiz sinif imkan verirki komponentlerimizi windowsun klassik, moder və başqa stillərdə olsun.

Aşağıdakı nümunə baxaq: classin adini bir başa yazmaqla

UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");


Bu yolla dəyişdirdikdə ola bilsinki göstərdiyimiz sinif platformada olmasin. Bu zaman sistemdə oturan classlari çəkib isdədiyimiz set edə bilərik.

Sistemdə oturan classlara baxmaq üçün.


UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels();

for(int i=0;i<looks.length;i++)
 
System.out.println((i+1)+". "+looks[i].getClassName());


Result
----------------------------------
1. javax.swing.plaf.metal.MetalLookAndFeel
2. com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
3. com.sun.java.swing.plaf.motif.MotifLookAndFeel
4. com.sun.java.swing.plaf.windows.WindowsLookAndFeel
5. com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel

---------------------------------- 

 Isdədiyiniz stili set edə bilərsiniz.

UIManager.setLookAndFeel(looks[4].getClassName()); 

 Stilin qüvvəyə minməsi üçün. 







try{
SwingUtilities.updateComponentTreeUI(this);

}catch(Exception e){
System.out.println("Sehv"+e);

}
 


Burada this yazıldığında bütün komponentlərə təsir edəcək bu dəyişiklik. Əgər sirf hər hansı komponentə aid etmək isdəyirsizsə onu adını yazmaq kifayətdir.

Nümünə
1. Main.class 


package javaapplication;


public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
hFrame frames = new hFrame();
try {
frames.hFrame();
}

catch(Exception e) {
System.out.println("dfdfd" + e);
}
}

}
 

2. hFrame.class 




 /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication;

import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

/**
*
* @author Admin
*/
public class hFrame extends JFrame {

public void hFrame() throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {

System.out.println("ssss");
JButton button = new JButton("Button");
JTextField text = new JTextField("text");
add(button);
add(text);
setLayout(new FlowLayout(5));
setVisible(true);
setAlwaysOnTop(true);
setSize(250, 250);
setTitle("Hello world");
setDefaultCloseOperation(EXIT_ON_CLOSE);

UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels();

for(int i=0;i<looks.length;i++)
System.out.println((i+1)+". "+looks[i].getClassName());


UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

try{
SwingUtilities.updateComponentTreeUI(this);

}catch(Exception e){
System.out.println("Sehv"+e);

}





}
}









Комментариев нет:

Отправить комментарий