J'ai créé le JFace les plus élémentaires ApplicationWindow je peux penser et je reçois cette bordure blanche 1 pixel en haut de l'écran:ligne blanche JFace ApplicationWindow en haut de la fenêtre
alt text http://i35.tinypic.com/333d08i.png
Et la code pour créer:
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;
}
}
Comme j'ajouter Composite
supplémentaires contrôles à la fenêtre, l'écart est encore plus grand. Que puis-je faire pour m'en débarrasser?
Si je fais cela, cela supprime la ligne. Cependant, dès que j'ajoute un 'Composite' au shell, la ligne réapparaît. – jasonh
Eh bien, il semble que le problème soit interne à 'ApplicationWindow'. Si vous regardez ApplicationWindow.java, vous verrez une classe interne 'ApplicationWindowLayout' qui a' static final int VGAP = 2; 'qui est ajouté à la position' y' de chaque contrôle de niveau supérieur que j'ajoute, ajoutant ainsi ligne blanche non-sensique au sommet de la coquille. Je me demande comment Eclipse elle-même évite que cette ligne blanche n'apparaisse? – jasonh