Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java GUI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
protiv
0 / 0 / 1
Регистрация: 05.03.2013
Сообщений: 42
1

JTable, AbstractTableModel

21.10.2013, 05:07. Просмотров 1142. Ответов 3
Метки нет (Все метки)

Здравствуйте!
Узнал как сделать столбец jcombobox:
Java
1
2
3
4
5
6
7
8
9
    TableColumn sportColumn = table.getColumnModel().getColumn(2);
    JComboBox comboBox = new JComboBox();
    comboBox.addItem("Snowboarding");
    comboBox.addItem("Rowing");
    comboBox.addItem("Chasing toddlers");
    comboBox.addItem("Speed reading");
    comboBox.addItem("Teaching high school");
    comboBox.addItem("None");
    sportColumn.setCellEditor(new DefaultCellEditor(comboBox));

После этого задался вопросом, а как в модели таблицы описать, что данный столбец jcombobox?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 05:07
Ответы с готовыми решениями:

JTable + AbstractTableModel; отвлеченный вопрос
всем привет. Есть такая фишка: при обновлении JTable (например если перекрыть...

JTable c AbstractTableModel, перенос строк
Доброго дня. Появилась такая проблема, создаю JTable c AbstractTableModel...

JTable
Не видно строки заголовка в JFrame с чем может быть связанно?? помогите плиз ...

Jtable
У нас на панели есть 2 поля ввода, кнопка и таблица. Как реализовать модель...

JTable
Приветствую вас форумчане, вопрос такой Как сделать такую фичу: У меня есть...

3
Skipy
1996 / 1419 / 91
Регистрация: 25.11.2010
Сообщений: 3,611
21.10.2013, 10:56 2
В модели - никак. Выпадающий список - это способ редактирования значения в строке. А в модели хранится выбранное значение. В Вашем случае строка.
0
Faustlogger
43 / 35 / 8
Регистрация: 14.09.2011
Сообщений: 158
Записей в блоге: 1
21.10.2013, 11:06 3
protiv, мне кажется следует реализовать интерфейс TableModel в своем классе MainTableModel. Внутри данной модели в качестве поля установить ссылку на свой кастомный класс, например MainClass, который в себе уже будет содержать поле типа JCombobox;

пример.
Класс MainTableModel
Java
1
2
3
4
5
public class MainTableModel implements TableModel{
    private LinkedList<String> columnNames = new LinkedList<String>(); // Имена колонок
    private LinkedList<MainClass> data = new LinkedList<MainClass>(); // Данные таблицы (строки)
    ...
}
Класс MainClass
Java
1
2
3
4
5
6
7
public class MainClass{
    private String field1;
    private String field2;
    ...
    private JComboBox comboBox = new JComboBox(); // Ваш комбобокс. Ниже описываешь методы для работы с ним
    ...
}
Ну а затем делаешь таблицу на основании своей модели
0
protiv
0 / 0 / 1
Регистрация: 05.03.2013
Сообщений: 42
21.10.2013, 14:45  [ТС] 4
Сделал так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class combo {//MainClass
 
    public JComboBox comboBox = new JComboBox();
 
    public combo() {
        comboBox.addItem("Snowboarding");
        comboBox.addItem("Rowing");
        comboBox.addItem("Chasing toddlers");
        comboBox.addItem("Speed reading");
        comboBox.addItem("Teaching high school");
        comboBox.addItem("None");
    }
}
В модели:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class MyTableModel extends AbstractTableModel {
  public LinkedList<combo> co = new LinkedList<combo>();
 
  public MyTableModel() {
    co.add(new combo());
  }
 
  @Override
  public Object getValueAt(int rowIndex, int columnIndex) {
    return co.get(0).comboBox;
  }
 
}
В каждом поле пишет:
Java
1
javax.swing.JComboBox[,0,0,0x0,invalid,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=328,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=Snowboarding]
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2013, 14:45

Jtable
кидаю на форму jtable,пытаюсь заполнить, руки из *опы вот код JFrame...

JTable
Пишу программу и зашел в тупик. Как задать размеры столбцов в JTable и как...

jTable и Boolean
Есть модель JTable в ней есть поле типа boolean (код ниже) как поменять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru