Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Swing.JTable
Список форумов
 ->  Swing, AWT & SWT


На страницу 1, 2  След. 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
Serj.prog : 79
Новичок

СообщениеДек 20, 2011 16:37 
Ответить с цитатой
Здравствуйте! Подскажите, пожалуйста, как в таблице Swing.JTable менять ширину отдельных столбцов, делать отдельные столбцы не редактируемыми? Спасибо.
К началу Посмотреть профиль Отправить личное сообщение
ТокиТори : 1066
Завсегдатай

СообщениеДек 20, 2011 17:48 
Ответить с цитатой
Ширину столбцов, по-умолчанию, можно менять. Если, конечно, header виден. Если его нет, то поместите таблицу в JScrollPane.
По поводу редактирования ячеек конкретного столбца - у модели таблицы есть метод isCellEditable(row, column), переопределив который, сможете контролировать возможность редактирования.
К началу Посмотреть профиль Отправить личное сообщение
Serj.prog : 79
Новичок

СообщениеДек 20, 2011 21:24 
Ответить с цитатой
ТокиТори писал(а):
Ширину столбцов, по-умолчанию, можно менять..

Как настроить ширину столбца таблицы программно. Может быть есть метод вроде setWidth(int columnNumber, int width) ?

Метод isCellEditable позволяет проконтролировать, возможно ли редактирование таблицы. Каким методом в программе можно запретить редактирование таблицы?
К началу Посмотреть профиль Отправить личное сообщение
Vantuz-Subhuman : 660
Постоянный посетитель
Откуда: издиснейленда

СообщениеДек 20, 2011 21:54 
Ответить с цитатой
Serj.prog писал(а):
Метод isCellEditable позволяет проконтролировать, возможно ли редактирование таблицы. Каким методом в программе можно запретить редактирование таблицы?


У вас на складе 10 пар сапог... Вопрос: сколько пар сапог у вас на складе?

Код:
String[] cols = {"col1", "col2", "col3"};
TableModel tm = new DefaultTableModel(cols, 2) {

   public boolean isCellEditable(int row, int column) {
      
      return false;
   };
};

JTable jt = new JTable(tm) {{
   for (int i = 0; i < columnModel.getColumnCount(); i++) {
      columnModel.getColumn(i).setPreferredWidth(100);
   }
}};

jt.getColumn("col2").setPreferredWidth(50);

_________________
«One should never underestimate the predictability of stupidity»,
«Never attribute to malice that which can be adequately explained by stupidity»
К началу Посмотреть профиль Отправить личное сообщение
Serj.prog : 79
Новичок

СообщениеДек 21, 2011 7:29 
Ответить с цитатой
Vantuz-Subhuman писал(а):

У вас на складе 10 пар сапог... Вопрос: сколько пар сапог у вас на складе?

С возможностью редактирования разобрался, спасибо.

По поводу регулировки ширины столбца - выяснил, что у класса TablColumn есть метод setPreferredWidth, Видимо надо создать объект TablColumn c нужным параметром width, скормить этот объект конструктору класса TableColumnModel, а полученный объект скормить конструктору класса JTable, наверно должна получиться таблица с требуемой шириной столбца. Попробую сейчас это сделать.

А вообще, по какой литературе лучше изучать работу с классом javax.swing? Я не нашёл ничего лучше, чем архив, лежащий по адресу C:/Program Files(x86)/java/jdk1.6.0_24/src.zip , там лежат папки и файлы с расширением .java, если открыть их текстовым редактором, можно увидеть описание классов, например классов пакета javax.swing. Но это муторно. Есть более удобный источник информации о классах пакетов java.awt, javax,swing?
К началу Посмотреть профиль Отправить личное сообщение
Vantuz-Subhuman : 660
Постоянный посетитель
Откуда: издиснейленда

СообщениеДек 21, 2011 9:55 
Ответить с цитатой
Serj.prog писал(а):
А вообще, по какой литературе лучше изучать работу с классом javax.swing? Я не нашёл ничего лучше, чем архив, лежащий по адресу C:/Program Files(x86)/java/jdk1.6.0_24/src.zip , там лежат папки и файлы с расширением .java, если открыть их текстовым редактором, можно увидеть описание классов, например классов пакета javax.swing. Но это муторно. Есть более удобный источник информации о классах пакетов java.awt, javax,swing?


Ну, во первых, есть хороший архив, лежащий по адресу:
http://www.google.ru/#sclient=psy-ab&hl=ru&q=java+swing+manual

А во вторых: Г. Шилдт «Swing: руководство для начинающих»

А в третьих: http://docs.oracle.com/javase/6/docs/technotes/guides/swing/index.html

А в четвёртых: http://docs.oracle.com/javase/6/docs/api/index.html?javax/swing/package-summary.html
_________________
«One should never underestimate the predictability of stupidity»,
«Never attribute to malice that which can be adequately explained by stupidity»
К началу Посмотреть профиль Отправить личное сообщение
Serj.prog : 79
Новичок

СообщениеДек 21, 2011 10:11 
Ответить с цитатой
Vantuz-Subhuman писал(а):


А во вторых: Г. Шилдт «Swing: руководство для начинающих»

За книгу спасибо.

Как менять ширину столбцов разобрался:
Есть объект table класса JTable:
Код:

TableColumn tc=table.getColumnModel().getColumn(0);
tc.setPreferredWidth(100);


Подскажите, как в программе настроить возможность выделения пользователем ячеек таблицы? Нужно, чтобы ячейки в таблице выделялись так же, как в Microsoft Excel.[/code]
К началу Посмотреть профиль Отправить личное сообщение
Vantuz-Subhuman : 660
Постоянный посетитель
Откуда: издиснейленда

СообщениеДек 21, 2011 10:33 
Ответить с цитатой
Vantuz-Subhuman писал(а):
Код:
jt.getColumn("col2").setPreferredWidth(50);


Serj.prog писал(а):
Как менять ширину столбцов разобрался:
Есть объект table класса JTable:
Код:

TableColumn tc=table.getColumnModel().getColumn(0);
tc.setPreferredWidth(100);


Да, времени зря не теряете.

Serj.prog писал(а):
Подскажите, как в программе настроить возможность выделения пользователем ячеек таблицы? Нужно, чтобы ячейки в таблице выделялись так же, как в Microsoft Excel.[/code]


Vantuz-Subhuman писал(а):
А во вторых: Г. Шилдт «Swing: руководство для начинающих»


Код:
JTable t = new JTable();
t.setColumnSelectionAllowed(false);

_________________
«One should never underestimate the predictability of stupidity»,
«Never attribute to malice that which can be adequately explained by stupidity»


Последний раз редактировалось: Vantuz-Subhuman (Дек 21, 2011 10:53), всего редактировалось 1 раз
К началу Посмотреть профиль Отправить личное сообщение
Serj.prog : 79
Новичок

СообщениеДек 22, 2011 7:28 
Ответить с цитатой
Vantuz-Subhuman писал(а):
А во вторых: Г. Шилдт «Swing: руководство для начинающих»

Буду читать Г. Шилдта.
К началу Посмотреть профиль Отправить личное сообщение
Serj.prog : 79
Новичок

СообщениеДек 26, 2011 18:31 
Ответить с цитатой
Подскажите, пожалуйста, с помощью какого метода можно определить, к какому столбцу таблицы относятся данные координаты.
Например, есть таблица из 4-х столбцов и 10-ти строк, и есть координаты курсора: X=55, Y=71. С помощью какого метода определить, на каком столбце таблицы находиться курсор?
Спасибо.
К началу Посмотреть профиль Отправить личное сообщение
Serj.prog : 79
Новичок

СообщениеДек 26, 2011 18:37 
Ответить с цитатой
Уже нашёл: int columnAtPoint(Point point)
К началу Посмотреть профиль Отправить личное сообщение
Serj.prog : 79
Новичок

СообщениеДек 26, 2011 18:40 
Ответить с цитатой
А как задать цвет определённого столбца таблицы?
К началу Посмотреть профиль Отправить личное сообщение
seniorpan : 16
Новичок

СообщениеДек 26, 2011 19:11 
Ответить с цитатой
TableCellRenderer
К началу Посмотреть профиль Отправить личное сообщение
Serj.prog : 79
Новичок

СообщениеДек 26, 2011 22:34 
Ответить с цитатой
seniorpan писал(а):
TableCellRenderer

Ага, утром попробую.
К началу Посмотреть профиль Отправить личное сообщение
Skipy : 4801
Я тут живу!
Откуда: Москва, Россия

СообщениеДек 27, 2011 10:08 
Ответить с цитатой
Serj.prog писал(а):
А как задать цвет определённого столбца таблицы?


http://skipy-ru.livejournal.com/1577.html
_________________
С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
 
Начать новую тему  Ответить на тему
Страница 1 из 2
На страницу 1, 2  След.
Список форумов
 -> Swing, AWT & SWT


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru