2014-09-09 5 views
1

Я хотел бы создать кнопку закрытия. Для этого мне нужен значок close, который я хотел бы получить из текущего стиля пользовательского интерфейса. Я нашел функцию для этого: UIManager.getIcon(key)Java swing close icon

Единственная проблема в том, что я не знаю ни одного ключа. Я понятия не имею, как получить значок close.

+0

Что означает 'UIManager.getIcon (" close ")' return? Или вы попробовали что-нибудь еще? – msrd0

ответ

1

Используйте этот фрагмент кода (на самом деле полностью функциональный класс), чтобы напечатать все ключевые UIManager, или для фильтрации их на основе ключевого слова. В вашем случае вы хотите проверить все ключи, содержащие (игнорировать регистр для большего количества результатов) строку «закрыть».

import java.util.Enumeration; 
import javax.swing.UIManager; 

public class Test { 

    public static void main(String[] args) { 
    printUIManagerKeys("close"); 
    } 

    private static void printUIManagerKeys(String filter) { 

    String filterToLowerCase = filter.toLowerCase(); 

    Enumeration<?> keys = UIManager.getDefaults().keys(); 

    while (keys.hasMoreElements()) { 

     Object key = keys.nextElement(); 
     String keyToString = key.toString().toLowerCase(); 

     if (filter != null && keyToString.contains(filterToLowerCase)) { 
     System.out.println(key + " (" + UIManager.getDefaults().get(key) + ")"); 
     } 
    } 
    } 
} 

Вывод на консоль:

InternalFrameTitlePane.closeButtonOpacity (истина)
PopupMenu.consumeEventOnClose (ложь)
InternalFrame.paletteCloseIcon (javax.swing.plaf.metal.OceanTheme $ IFIcon @ 1fcb1a)
InternalFrame.closeSound (звуки/FrameClose.wav)
InternalFrame.closeIcon ([email protected])
Tree.closedIcon ([email protected])

Так следующий шаг должен получить и посмотреть, как значок с ключевыми InternalFrame.closeIcon выглядит.

1

Единственная проблема в том, что я не знаю ни одного ключа

Отъезд UIManager Defaults для кода, который отображает все свойства пользовательского интерфейса в графическом интерфейсе. GUI отображает фактический значок, поэтому вы можете легко выбрать значок, который хотите использовать.