4 Şubat 2021 Perşembe

Swing LookAndFeel Sınıfı

Örnek
Yeni bir LookAndFeel için şöyle yaparız. Burada LabelUI için kendi sınıfım kullanılıyor
import javax.swing.UIDefaults;
import com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel;

public class WindowsClassicLookAndFeelExt extends WindowsClassicLookAndFeel {
  @Override
  protected void initClassDefaults(UIDefaults table){
    super.initClassDefaults(table);
    Object[] uiDefaults = { "LabelUI", WindowsLabelExtUI.class.getCanonicalName()};
    table.putDefaults(uiDefaults);
  }
}
Bunu kodlamak için şöyle yaparız
import javax.swing.JComponent;
import javax.swing.plaf.ComponentUI;
import com.sun.java.swing.plaf.windows.WindowsLabelUI;

public class WindowsLabelExtUI extends WindowsLabelUI {
  static WindowsLabelExtUI singleton = new WindowsLabelExtUI();

  public static ComponentUI createUI(JComponent c){
    c.putClientProperty("html.disable", Boolean.TRUE);    
    return singleton;
  }
}
Yeni LookAndFeel sınıfımızı kullanmak için şöyle yaparız
import javax.swing.UIManager;

public class Main {
  public static void main(String[] args){
    try {
UIManager.setLookAndFeel(WindowsClassicLookAndFeelExt.class.getCanonicalName()); }catch (Exception e){ ... } ... }

Hiç yorum yok:

Yorum Gönder