Как установить ширину столбца Jtable равной флажку

#java #swing

#java #качели

Вопрос:

Ниже приведена фотография. введите описание изображения здесь

Я использую следующий код, но он не устанавливает ширину в размер флажка

 TableColumn column = null;
        column = table.getColumnModel().getColumn(0);
        column.setPreferredWidth(1);
 

Я хочу убрать пробелы вокруг флажка

Комментарии:

1. используете ли вы логический редактор по умолчанию?

2. единственный способ обойти это — вероятно, создать свой собственный объект визуализации для столбца

3. используете ли вы TableViewer?

4. @OliverWatkins Извините, что вы имеете в виду? Я добавляю строку, подобную этой: dtm.addRow(new Object[] { Boolean.FALSE ,Pages,Key,Title,Author,TimeStamp});

Ответ №1:

Столбец таблицы имеет 3 ширины: минимальную, предпочтительную и максимальную.

Установка ширины в 1 не имеет смысла, так как флажок не будет отображаться в 1 пикселе, поэтому я бы предположил, что используется минимальное значение. Кроме того, в зависимости от свойства auto resize значение может быть переопределено, чтобы убедиться, что ширина столбцов будет заполнять табличное представление.

Попробуйте установить минимальный и предпочтительный размеры на одно и то же (разумное) значение.

Лучший подход состоит в том, чтобы не угадывать ширину, так как она может меняться для разных значений LAF. Вместо этого вы можете использовать средство визуализации, чтобы определить соответствующую ширину столбца. См. раздел Table Column Adjuster для базового примера кода, который вы можете использовать, и более сложный класс, который предоставляет полное решение.

Комментарии:

1. кажется, какой-то сторонний класс?

2. Да, эта функция не поддерживается в JDK.