When i use a dark background and custom colorscheme on a GTextfield the bottom line of the textfield disappears. This behaviour is not with scrollbars.
All G4P controls that have a UI (user interface) use an off-screen buffer to render the interface and then the buffer is copied to the specified area in the display. This is CPU efficient because the buffer is only updated if its state has changed since the previous frame.
So if we look at the statement textfield1 = new GTextField(this, 168, 145, 120, 30);
The off-screen buffer is 120x30 pixels and the buffer is copied to location [168, 145] every frame.
Now some controls don’t use the entire buffer for its UI and any unused area is the background and its colour can be changed with something like textfield1.setLocalColor(6, color(#ffffff));
By default the background is always transparent, to make it visible we use textfield1.setOpaque(true);
The reason you don’t see the bottom line is because the typing area goes down to the bottom of the buffer - hence the background is not visible at the bottom.
NOTE: the GTextField control has no border so the missing line is not because part of a border is missing.