Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ListView на Java, Компонент аналог ListView 
V
    Опции темы
tikskit
Дата 17.11.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Привет!
А какой в swing компонент можно использовать, чтобы отображать набор элементов, как в ListView? 
Т.е. отображаемые элементы имеют значок и текст. Отображать можно было бы в 3х видах: мелкие значки, таблица, крупные значки. Плюс полоса прокрутки.


Спасибо!
PM MAIL WWW   Вверх
Connie
Дата 18.11.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 12.8.2008

Репутация: 8
Всего: 9



http://java.sun.com/docs/books/tutorial/ui...nents/list.html

Цитата
Плюс полоса прокрутки.

От туда же
Код

JScrollPane listScroller = new JScrollPane(list);
listScroller.setPreferredSize(new Dimension(250, 80));

PM MAIL WWW   Вверх
tikskit
Дата 18.11.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Цитата(Connie @  18.11.2008,  09:27 Найти цитируемый пост)
http://java.sun.com/docs/books/tutorial/ui...nents/list.html


А значки (в т.ч. крупные) JList тоже позволяет отображать?
Мне почему-то кажется, что придется использовать таблицу.. 
PM MAIL WWW   Вверх
Connie
Дата 18.11.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 12.8.2008

Репутация: 8
Всего: 9



tikskit, напиши просто свой рендер и рисуй чего тебе нравится
Цитата

Writing a Custom Cell Renderer

    A list uses an object called a cell renderer to display each of its items. The default cell renderer knows how to display strings and icons and it displays Objects by invoking toString. If you want to change the way the default renderer display icons or strings, or if you want behavior different than what is provided by toString, you can implement a custom cell renderer. Take these steps to provide a custom cell renderer for a list:

        * Write a class that implements the ListCellRenderer interface.
        * Create an instance of your class and call the list's setCellRenderer using the instance as an argument. 

    We do not provide an example of a list with a custom cell renderer, but we do have an example of a combo box with a custom renderer — and combo boxes use the same type of renderer as lists. See the example described in Providing a Custom Renderer


Цитата
Мне почему-то кажется
А почему? smile

user posted image
Такой размер подойдет?

Это сообщение отредактировал(а) Connie - 18.11.2008, 12:24
PM MAIL WWW   Вверх
dorogoyIV
Дата 18.11.2008, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



Цитата(tikskit @  18.11.2008,  10:31 Найти цитируемый пост)
А значки (в т.ч. крупные) JList тоже позволяет отображать?

пиши свой ListCellRenderer
Код

import java.awt.*;
import javax.swing.*;

public class JListTest extends JFrame
{
 String [] value = {"info", "warning", "get_conn", "error"};
 JList list = new JList(value);

 public JListTest()
 {
  setLayout(new FlowLayout());
  list.setCellRenderer(new MyRenderer());
  add(list);
 }

 public static void main(String [] args)
 {
  JFrame f = new JListTest();
  f.setBounds(100, 100, 400, 300);
  f.setDefaultCloseOperation(3);
  f.setVisible(true);
 }
}

class MyRenderer extends JLabel
                 implements ListCellRenderer
{
 MyRenderer()
 {
  setPreferredSize(new Dimension(100, 40));
 }

 public Component getListCellRendererComponent(JList list, Object value,
                      int index, boolean isSelected, boolean cellHasFocus)
 {
  setOpaque(true);
  setIcon(isSelected ?
     new ImageIcon("C:\\WINDOWS\\pchealth\\helpctr\\System\\images\\"
     + value.toString() + ".gif") : null);
  setText(value.toString());
  setBackground(cellHasFocus ? Color.LIGHT_GRAY : null);

  return this;
 }
}


Это сообщение отредактировал(а) dorogoyIV - 18.11.2008, 13:00
PM MAIL   Вверх
tikskit
Дата 18.11.2008, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Спасибо всем большое! 
Буду разбираться в этом направлении.

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.