@Override
		public void paint(GGlassPane glassPane, Graphics graphics, double value) {

			JTableHeader tableHeader = table.getTableHeader();
			if (tableHeader == null) {
				return; // not sure if this can happen
			}

			resetEmphasis(table);

			ColumnAndRange columnAndRange = getColumnAndRange(value);
			if (columnAndRange == null) {
				return;
			}

			TableColumnModel columnModel = table.getColumnModel();
			int columnViewIndex = table.convertColumnIndexToView(columnAndRange.column());
			TableColumn column = columnModel.getColumn(columnViewIndex);
			TableCellRenderer renderer = column.getHeaderRenderer();
			if (!(renderer instanceof GTableHeaderRenderer gRenderer)) {
				return;
			}

			// 
			// Have the emphasis transition from normal -> large -> normal over the range 0.0 to 
			// 1.1, with an emphasis of 1.x.
			// 
			double range = columnAndRange.range();
			double emphasis;
			if (range < .5) {
				emphasis = 1 + range;
			}
			else {
				emphasis = 2 - range;
			}

			gRenderer.setSortEmphasis(emphasis);
			tableHeader.repaint();
		}
A painter that will emphasize each sorted column, except for the clicked column, over the 
course of an animation.  The painter is called with the current emphasis that is passed to
the column along with a repaint request.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/TableUtils.java