set(h, 'BackgroundColor', 'Black') - Not working in Linux

Hi,
I'm making a gui with several edittexts. I would like these to have a black background and white text. First I tried to simply set this in the GUI editor (Guide), but it didn't seem to work, since they start out being disabled. Then i tried adding a function which adjust them, when they are activated. The code goes like this:
set(handles.editXoffset, 'BackgroundColor', 'Black',...
'ForegroundColor', 'White');
This works fine on windows machines, but on Linux, both background color and font color is shown as white. Looking in the properties, using:
get(hObject)
...in the edittexts callback, it shows this:
BackgroundColor = [0 0 0]
...
ForegroundColor = [1 1 1]
...
So it seems to be getting what I tell it, but it just don't show. What am I doing wrong here?

2 Comments

Is what you are doing similar to executing uicontrol('Style', 'Edit', 'String', 'Hello', 'BackgroundColor', 'Black', 'ForegroundColor', 'White'); in the command window?
Pretty much I guess. I'm just changing settings of an already existing uicontrol, rather than creating a new one.

Sign in to comment.

 Accepted Answer

The operating system can override the specified colors, and obviously it does under your Linux platform. Which Matlab and OS version are you using?

1 Comment

I'm not 100% sure, since I'm not near those computers right now. But I think it's Ubuntu 10.x and Matlab R2010a.

Sign in to comment.

More Answers (1)

If I run
uicontrol('Style', 'Edit', 'String', 'Hello', 'BackgroundColor', 'Black', 'ForegroundColor', 'White')
I get a black box with white text with r2011a and Arch Linux.
Are you fonts installed correctly? href=""<http://www.mathworks.com/matlabcentral/answers/1238-font-size-changes-in-figures</a>>

5 Comments

It seems that the error occurs, not when the uicontrol is created, but rather if I de- and re-activate it.
Can you edit the question to provide code with a simple example that reproduces the error?
That seems to be hard. Recently i fixed it using a "fake black" color ([0.1 0.1 0.1]) rather than just black. But then if I disable and enable again, the error occurs again, and this time "fake black" won't fix it. It's pretty damn weird.
I suggest to give up. This will vanish if you install a higher Matlab release. And until then, the users will not suffer. It is impossible to create really nice GUIs with Matlab at all, so this detail is not a killer.
You're probably right. After all im only making a prototype program anyhow. Final versions obviously won't be made in Matlab.

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!