JFace ApplicationWindow бяла линия в горната част на прозореца

Създадох най-основния JFace ApplicationWindow, за който мога да се сетя, и получавам тази бяла рамка от 1 пиксел в горната част на екрана:

алтернативен текст

И кодът за създаването му:

import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.SWT;

public class TestWindow extends ApplicationWindow {
    public TestWindow() {
        super(null);
    }

    protected Control createContents(Composite parent) {
        this.getShell().setText("Test Window");

        parent.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_GREEN));
        return parent;
    }
}

Докато добавям допълнителни Composite контроли към прозореца, разликата става още по-голяма. Какво мога да направя, за да се отърва от него?


person jasonh    schedule 11.08.2010    source източник


Отговори (2)


Можете да опитате да замените функцията:

protected boolean showTopSeperator() {
    return false;
}
person qrtt1    schedule 16.08.2010
comment
Ако направя това, това премахва линията. Въпреки това, веднага щом добавя Composite към обвивката, линията се появява отново. - person jasonh; 18.08.2010
comment
Е, изглежда, че проблемът е вътрешен за ApplicationWindow. Ако погледнете ApplicationWindow.java, ще видите вътрешен ApplicationWindowLayout клас, който има static final int VGAP = 2;, който се добавя към позицията y на всяка контрола от най-високо ниво, която добавям, като по този начин добавя безсмислена бяла линия в горната част на обвивката. Чудя се как самият Eclipse избягва тази бяла линия да се показва? - person jasonh; 18.08.2010

Не знам дали все още търсите помощ по този въпрос, но всичко, което трябва да направите, е да добавите

this.seperator1.dispose();

в метода createContents(Composite). Разглеждайки източника, видях, че разделителят е всъщност просто (неправилно изписан) етикет: seperator1.

person BloodyNobody    schedule 02.12.2011