Java свинг закрыть значок
Я хотел бы создать кнопку закрытия. Для этого мне нужен close
значок, который я хотел бы получить из текущего стиля пользовательского интерфейса. Я нашел функцию для этого: UIManager.getIcon(key)
Единственная проблема в том, что я не знаю ни одного ключа. Понятия не имею, как получить close
значок.
3 ответа
Используйте этот фрагмент (на самом деле полностью функциональный класс), чтобы распечатать все ключи UIManager или отфильтровать их по ключевому слову. В вашем случае вы хотите проверить все ключи, содержащие (игнорируйте регистр для получения дополнительных результатов) строку "close".
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 (true)
PopupMenu.consumeEventOnClose (false)
InternalFrame.paletteCloseIcon (javax.swing.plaf.metal.OceanTheme$IFIcon@1fcb1a)
InternalFrame.closeSound (sounds / FrameClose.wav)
InternalFrame.closeIcon (javax.swing.plaf.metal.OceanTheme$IFIcon@100d6ea)
Tree.closedIcon (sun.swing.ImageIconUIResource@1cc678a)
Итак, следующий шаг - получить и посмотреть, как работает значок с ключом. InternalFrame.closeIcon
выглядит.
Вот исчерпывающий список ключей:
http://thebadprogrammer.com/swing-uimanager-keys/
То, что вы ищете, это "InternalFrame.closeIcon"
,
Также вот список, включенный вместе с официальными (Oracle) ссылками на ключи ресурсов:
/questions/44864406/spisok-svojstv-java-swing-ui/44864435#44864435
Единственная проблема в том, что я не знаю ни одного ключа
Проверьте UIManager по умолчанию для кода, который отображает все свойства пользовательского интерфейса в графическом интерфейсе. Графический интерфейс отображает реальный значок, так что вы можете легко выбрать значок, который вы хотите использовать.