Виды программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

JFileChooser, как узнать FileFilter?
картинка в таблице
JCheckBox (true/false), Как узнать??
диаграммa последовательности (sequence diagram), Как нарисовать DataFlow diagram
Как вырезать в Image часть изображения?
Как сделать text folding?
FileLock под JRE 1.5.0
Удаление node из JTree, как делается?
выбор нескольких строк в таблице
Реализация Drag & Drop
JPanel или как ее заменить на другую
JFormattedTextField, getString или как ?
Работа с GUI Designerom в IDEA, Расскажите вкратце как
Как Вы относитесь к курящим девушкам?
Прежде чем задать вопрос, прочтите это!
Документация и книги по Java, Давайте соберём ссылки
Добавление/удаление строк в JTable, Как это делается динамически?
Java+базы данных, Построение шаблонов запросов!
Создание меню
Работа с GridLayout, Как красиво разместить компоненты
GUI Designer, Где он?
Разработка на Intellij IDEA. Можно ли?, Разработка интерфейсa приложения
undecorated window, как сделать?
System Tray : how to?, как поместить прогу в system tray?
Вопросы по JTable, Как сделать в JTable
проблема с обновлением модели данных
подскажите с JFormattedTextField()
редактирование ячейки зашел в тупик
Как поменять ширину закладки?, в JTabbedPane
Помогите с запросом для MySql на Java
построение JTree в потоке
Как забрать String с диалогового окна???, Чтобы вставить их в JList
JTable и ее строки
window allways on top
JFileChooser сохранение файла
Выделение строки в JTable
Как в JList пол-ть массив выделх эл-ов?
Модальное окно
JTable и ширина столбцов
Вставка на ячейки в таблицу...
Проблема с деплоем
jLayeredPanel Help need, Слои перекрывают друг друга
jPanel фенечки..., put image
JFormattedTextField, После setText перестает работать маска
Несколько ячеек в ячейке таблицы, Реально ли?
actionListener для изменения значения, для JTextField
Получить длинну строки в пикселах
Отображение данных в таблице, JTable
Двойной клик по строке таблица, JTable
JButton in JTable, как?
JScrollPane + inner stuff, Swing problems
Как в java сделать .exe-ник?
Квадратик в JPanel, красный, зеленый...
JTable & TableModel
JList с заголовком, как у таблиц
KeyListener, как правильно обслужить ENTER
Размеры панелей, как с ними воевать
Tree1.getSelectionPath();
Проблема с ItemListener или у меня что-то не так?
UserObject в jTree
Как вставить в JPanel уже имеющий класс с формами
Как Вы относитесь к курящим девушкам?
conditional statement
Прежде чем задать вопрос, прочтите это!
Документация и книги по Java, Давайте соберём ссылки
Ребята, есть проблема по Combobox
ещё один вопрос про Swing, JScrollPane + JEditorPane
Панель с производным размещением???, Проблеммы совмещения
JTable+Listener
Как работать с Full-Screen Exclusive Mode.

Платные хостинги     Раскрутка сайта     Книги по программированию


JTable & TableModel

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Гляньте на код, пожалуйста. Есть проблема.Код public class SqlDataTabModel extends AbstractTableModel implements Observer {      private ArrayList colNames; //ArrayList of String - column names    private ArrayList rows; //ArrayList of SqlRow - rows//.....    public String getColumnName(int col) {        return (String)colNames.get(col);    }        public int getRowCount() {        return rows.size();    }        public int getColumnCount() {        return colNames.size();    }        public Object getValueAt(int row, int col) {        Object value;        if (row <= getRowCount() && col <= getColumnCount()) {            String colName = (String)colNames.get(col);            value = ((SqlRow)rows.get(row)).get(colName);        } else {            value = "Out of bounds!";        }        return value;    }        public boolean isCellEditable(int row, int col) {        return false;    }        public void update(Observable o, Object arg) {        if (o instanceof SqlDataModel) {            SqlDataModel dataModel = (SqlDataModel)o;            ArrayList selectedInstances = dataModel.getSelectedInstances();            ArrayList dataBeans = dataModel.getDataBeans();                        colNames = deriveColNames(dataBeans);            rows = deriveRows(colNames, dataBeans);            System.out.println("Testing: value in JTable in (10, 12) is: " + getValueAt(10, 12));            fireTableDataChanged();        }    }//......}highlightSyntax('javaMDZiZG','java');Ставлю ету модель для таблицы и при апдейте модели таблица не апдейтится! Что именно я делаю не так, и чего не хватает?

- Смею предположить Object[][] rows, а не ArrayList.

- Нет, ето не проблема - нет запрета хранить данные в любом виде. Решил проблему, поменяв "fireTableDataChanged();" на "fireTableChanged(null);", но как-то мне ета конструкция выглядит кривовато. Есть более правильные альтернативы?

- По моему проблема в том, что у тебя не только данные в таблице поменяться могут, но и сама структура, т.к. ты обновляешь также colNames. Очень возможно, что метод getColumnName(int) не вызывается, при обработке fireTableDataChanged(), потому как data changed . Возможно нужно ещё использовать fireTableStructureChanged()

- Да, название и кол-во колонн тоже может поменяться, но fireDataChanged(null) работает хорошо. Так что, скажем, проблема решена.Но есть следующая!Иногда получается так, что колонн очень много (а иногда - что всего 4-5) и они очень сильно сжимаются так, что ничего не видно. Как сделать так, чтобы всегда ширина колонны была определена, и в случае большого кол-ва колонн можно было просто скроллить вправо? (JTable естественно сидит в JScrollPane, но ето не помогает)Глянул на TableColumnModel, но там нет методов определения ширины столбцов. Добавлено @ 13:06 И еще: как сделать, чтобы первые два столбца всегда имели синий фон, независимо от ничего (несмотря на то, что столбцы и их названия меняются)?

- За то как выглядят ячейки в таблице отвечает TableCellRenderer. Чтобы изменить вид , нужно переписать метод getTableCellRendererComponent либо используется DefaultTableCellRenderer , который возвращает при вызове метода getTableCellRendererComponent JLabel. А как известно, JLabel имеет методы setPreferedSize и setBackground.

- Насчет первых двух столбцов:Код // ....        TableColumn column = table.getColumn(table.getColumnName(0));        column.setCellRenderer(new ColumnRenderer());        column = table.getColumn(table.getColumnName(1));        column.setCellRenderer(new ColumnRenderer());// ....public class ColumnRenderer extends DefaultTableCellRenderer    {        public Component getTableCellRendererComponent(JTable table, Object value,                        boolean isSelected, boolean hasFocus, int row, int column)        {            if(column == 0 || column == 1)            {                setForeground(Color.blue);            }            else            {                setForeground(Color.BLACK);            }            return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);        }    } highlightSyntax('javaZTJmOD','java');

- ---------------------Насчт первого вопроса - посмотри :http://java.sun.com/j2se/1.4.2/docs/api/ja...ResizeMode(int)http://java.sun.com/j2se/1.4.2/docs/api/ja...html#doLayout()

- Спасибо, ето мне очень помогло. Я тебе уже должен три плюса. И Gretchen один =)

- Про размеры. Самое простое: отключить авторесайз колонок.Код table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );highlightSyntax('javajA0YWQ','java');

- Так и сделал =)

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с предприятие | язык программирования pascal | виды программирования | программирование процессоров | язык программирования 1с | программирование assembler | методология программирования | прикладное программирование | программирование turbo pascal | парадигмы программирования | удаленная программирование | программирование управления | справочник программирования | задачи математическому программированию | методики программирования | программирование outlook | компьютерное программирование | программирование деревья | высокоуровневое программирование | программирование delphi скачать | программирование сигнализации | теория языков программирования | программирование микропроцессоров | обоснование языка программирования | программирование win32 | Ссылки

Все про программирование управления