Answer the question
In order to leave comments, you need to log in
How to get the current size of a component in Swing?
Hello. You need to get the current size of the component (in my case, the table, and, moreover, the width), and depending on this size, build the internal components in a special way and set their sizes in a special way (in my case, these are columns, their width should change). Is there such a possibility? And if so, how to do it?
Answer the question
In order to leave comments, you need to log in
So far I've done this:
private void customizeColumnModel(TableColumnModel columnModel) {
int width = (table.getWidth() == 0)? ViewGUI.WINDOW_WIDTH : table.getWidth();
final int defaultColumnWidth = 100;
int columnWidth = defaultColumnWidth;
int columnCount = columnModel.getColumnCount();
int widthAllColumns = columnCount * defaultColumnWidth;
if (widthAllColumns < width) {
columnWidth = width / columnCount;
}
for (int i = 0; i < columnCount; i++) {
setColumnWidth(columnModel.getColumn(i), columnWidth, columnWidth, columnWidth);
}
}
make an event listener like this:
public class CompListener implements ComponentListener{
public void componentHidden(ComponentEvent e) {
//e.getComponent() отсюда берешь параметры и делаешь что угодно с отсальными компонентами если необходимо
}
public void componentMoved(ComponentEvent e) {
//e.getComponent() отсюда берешь параметры и делаешь что угодно с отсальными компонентами если необходимо
}
public void componentResized(ComponentEvent e) {
//e.getComponent() отсюда берешь параметры и делаешь что угодно с отсальными компонентами если необходимо
}
public void componentShown(ComponentEvent e) {
//e.getComponent() отсюда берешь параметры и делаешь что угодно с отсальными компонентами если необходимо
}
}
//где то в коде делаешь
table.addComponentListener(new CompListener());
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question