2008-09-08 2 views
51

Это довольно просто, я исхожу из качания/awt фона.Настройка цветов в SWT

Мне просто интересно, как правильно установить цвет фона для виджета SWT?

Я пытался:

widget.setBackground(); 

За исключением я не имею ни малейшего представления о том, как создать цветовой объект в SWT?

ответ

52

Чтобы создать цвет, попробуйте следующее:

Device device = Display.getCurrent(); 
Color red = new Color (device, 255, 0, 0); 
+0

Это сработало. Спасибо, ваш мужчина. Я просто не мог найти, откуда взять текущее устройство. – 2008-09-08 17:10:58

+22

Удостоверьтесь, что вы не забыли избавиться от этого цвета! В противном случае вы будете утечка собственных ресурсов. – Eddie 2009-01-27 04:47:43

10

Помните, что в SWT вы должны явно распоряжаться какие-либо ресурсы, которые вы создаете, когда вы сделали с ними. Сюда входят виджеты, шрифты, цвета, изображения, дисплеи, принтеры и GC. Если вы не избавляетесь от этих ресурсов, в конечном итоге ваше приложение достигнет предела ресурсов вашей операционной системы, и приложение перестанет работать.

Смотрите также: SWT: Managing Operating System Resources

+1

Я предлагаю вам использовать этот [SWTResourceManager] (https://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/org/eclipse/ecf/ui/SWTResourceManager.html) – Campa 2015-09-16 08:30:03

72

Для стандартных цветов (включая общие цвета и цвета по умолчанию, используемые в операционной системе) Используйте Display.getSystemColor(int), и проходят в SWT.COLOR_* постоянной для цвета вы хотите.

Display display = Display.getCurrent(); 
Color blue = display.getSystemColor(SWT.COLOR_BLUE); 
Color listBackground = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND); 

Обратите внимание, что вам не нужно выделять эти цвета, потому что SWT их создал.

Смежные вопросы