Невозможно нарисовать произвольную рамку вокруг группы SWT, охватывающую область заголовка, в LinuxJAVA

Программисты JAVA общаются здесь
Anonymous
Невозможно нарисовать произвольную рамку вокруг группы SWT, охватывающую область заголовка, в Linux

Сообщение Anonymous »

В Java-приложении SWT я пытаюсь нарисовать специальную черную рамку вокруг виджета «Группа» (с текстом заголовка), которая охватывает всю группу, включая область заголовка. Цель заключалась в том, чтобы граница окружала группу и включала в себя пространство заголовка, не закрывая текст заголовка. Однако пользовательская граница вокруг всей группы в Linux (RHEL 8) отображается неправильно. В Windows это работает.
Фактическое поведение: поведение
ожидаемое поведение:
ожидаемое
Информация о системе:
Версия Eclipse: 2019-09 R (4.13)
Версия SWT: 4928
ОС: Linux (RHEL 8)
Версия Java: 11Реализована функция (drawBorderOnGroup), которая рисует границу вокруг группы SWT, гарантируя, что она охватывает область заголовка. Это включало использование PaintListener и Event.gc.drawRectangle() для попытки правильно нарисовать границу.
public static void drawBorderOnGroup(Group group){
group.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
e.gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
Rectangle clientArea = group.getClientArea();

e.gc.drawRectangle(0, 0, clientArea.width - 1, clientArea.height - 1);
}
});
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... a-on-linux

Вернуться в «JAVA»