Andrus Adamchik created CAY-2933:
------------------------------------
Summary: Modeler: DB Type Column Unreadable for Selected Rows
Key: CAY-2933
URL: https://issues.apache.org/jira/browse/CAY-2933
Project: Cayenne
Issue Type: Bug
Reporter: Andrus Adamchik
Assignee: Andrus Adamchik
Fix For: 5.0-M2
In the ObjAttribute table (and ObjRelationship table), the "DB Type" column
text becomes invisible when a row is selected on macOS. The column is
non-editable, so a custom renderer sets its foreground to new Color(0xEEEEEE)
(near-white) on selection, expecting a dark blue selection background. On
macOS, when the table is unfocused, the selection background becomes light gray
— making near-white text invisible against it.
The same bug exists in the ObjRelationship table for inherited relationship
rows.
h2. Root Cause
ObjAttributePanel.CellRenderer.getTableCellRendererComponent() (line 381):
{noformat}
setForeground(isSelected ? new Color(0xEEEEEE) : Color.GRAY);
{noformat}
The hardcoded 0xEEEEEE (near-white) is invisible when macOS renders an
inactive/unfocused table selection with a light gray background.
The same pattern at ObjRelationshipPanel.StringRenderer line 348:
{noformat}
setForeground(isSelected ? new Color(0xEEEEEE) : Color.GRAY);
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)