Ширина столбцов JTable

154
03 апреля 2022, 03:00

Имеется код

JFrame jFrame=new JFrame();
    jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    jFrame.setExtendedState(MAXIMIZED_BOTH);
    jFrame.setLocationRelativeTo(null);
    DefaultTableModel dtm=new DefaultTableModel(5,4);
    JTable jTable=new JTable(dtm);
    jFrame.add(jTable);
    jFrame.setVisible(true);

Подскажите каким образом можно установить ширину столбцов например так 1-ый 10%, 2-ой 50%, 3-ий и 4-ый по 20%

Answer 1

Можно так

 jTable.getColumnModel().getColumn( 0 ).setWidth( 20 );

Только размеры ставятся в абсолютных размерах.

Для задания размеров в диапазоне используйте минимальное и максимальное значение например:

 TableColumn col = jTable.getColumnModel().getColumn( 0 );
 col.setMinWidth(20);
 col.setMaxWidth(50);

для пересчета размеров при изменении размера таблицы, повесьте слушатель на таблицу, например так

 jTable.addPropertyChangeListener( new PropertyChangeListener(){
        @Override
        public void propertyChange( PropertyChangeEvent evt ){
            if( evt.getPropertyName().equals( "size" ) ){
                jTable.getColumnModel().getColumn( 0 ).setWidth( (int)(jTable.getWidth() * 0.1) );
                ...
            }
        }
 } );
READ ALSO
ListView может в 2 колонки выводиться?

ListView может в 2 колонки выводиться?

Нужно вывести ListView в две колонки те

187
Отключить проверки на ошибки при компиляции классов

Отключить проверки на ошибки при компиляции классов

Как можно отключить проверки на ошибки когда IDEA компилирует проект, по картинке ниже видно что выводятся Warnings, мне бы не то что не хотелось...

133
Error: Invalid or corrupt jarfile

Error: Invalid or corrupt jarfile

Есть проект gradleЯ его собрал в артефакт, в свойствах указал, что это запускаемый файл, но при попытке запустить в терминале пишется следующее:...

165