@Override public void controlResized(ControlEvent e) { int restWidth = 0; for (CodeViewerColumn col : CodeViewerColumn.values()) { if (col.equals(column)) continue; restWidth += grid.getColumn(col.ordinal()).getWidth(); } if (grid.getVerticalBar().isVisible()) { restWidth += grid.getVerticalBar().getSize().x; } int totalWidth = grid.getBounds().width; grid.getColumn(column.ordinal()).setWidth(totalWidth - restWidth - 4); }