Как получить значок внешнего видаJAVA

Программисты JAVA общаются здесь
Anonymous
Как получить значок внешнего вида

Сообщение Anonymous »

Я внедряю пользовательский файл файловой системы и хочу правильно установить значки для узлов в моей виртуальной файловой системе. Для последовательности я хотел бы использовать некоторые из тех же значков, что и при внешнем виде (в частности Windows L & F). Если я пытался получить значки, используя метод uimanager.geticon , но кажется, что значок возврата от неправильного взгляда и ощущения. Каждый второй значок - это значок каталога от Uimanager, совершенно отличный от значков папки системы, я думаю, что это может быть от металла. Я думал, что это будет просто. Я попробовал несколько вариантов (например, uimanager.getlookandfeel (). GetDefaults () ), но для меня ничего не сработало.
Вот пример кода:
import javax.swing.*;
import javax.swing.filechooser.FileView;
import java.io.File;

public class TestIcon {

private TestIcon() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception ex) {
throw new IllegalStateException("Error initializing L&F", ex);
}

JFileChooser jfc = new JFileChooser();
jfc.setFileView(new MyFileView());
jfc.showOpenDialog(null);
}

private static class MyFileView extends FileView {
static int count = 0;
@Override
public Icon getIcon(File f) {
if (count++%2 == 0)
return super.getIcon(f);
else
return UIManager.getIcon("FileView.directoryIcon");
}
}

public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new TestIcon();
});
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... -feel-icon

Вернуться в «JAVA»