Делаю список логических дисков, назначаю ему рендер. В этом коде рендер стандартный с небольшими настройками цвета фона и иконка дефолтной темы.
public class mainFrame {
public static JList list;
public static File[] data;
public mainFrame() {
data = File.listRoots();
list = new JList(data);
list.setCellRenderer(new MyListCellRenderer());
}
class MyListCellRenderer extends DefaultListCellRenderer{
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
Component component = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); // Получаем ссылку на Component от DefaultCellRenderer
JLabel label = (JLabel) component; // Приводим ссылку к типу JLabel
Icon icon = UIManager.getIcon("Tree.closedIcon"); // Корректируем JLabel с помощью добавления к ней иконки
label.setIcon(icon);
super.setBackground(isSelected ? Color.ORANGE : Color.white);
return label; // Возвращаем получившийся JLabel, который отображается в JList
}
}
В другом примере подсмотрел такой код рендерера:
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.setBackground(isSelected ? Color.green : Color.white);
if( !value.equals("..") ) {
File file = new File(value.toString());
if( file.isFile() ) {
super.setIcon(iiFile);
} else super.setIcon(iiFolder);
} else if(value.equals("..")) {
setIcon(null);
}
return this;
}
Здесь автор проверяет папка это или файл, проверяет наличие корневой директории. Я пробовал использовать этот код в моем рендере, но почему то он не работает. При запуске программы назначает иконку Папки для дисков, если войти в один из них, то на всех элементах(папках и файлах) так же назначает иконку Папки. А хочется чтобы диски имели иконку диска, папки иконку папки, файлы - файлов.
Подскажите, как довести сие до ума?
В целом теоретический вопросИмеется: Приложение передающее данные с plain text в новую активность(intent) Нужно реализовать:решение квадратного...
Может кто работает/ работал с данным фреймворком, подскажите хороший гайд, я уже и офф сайты посмотрел и всякие туториалы, но не особо понимаю...
Генерируется большая строка из случайных символов, далее необходимо провести частотный анализ на битовом уровнеТ