Java TitleReadialog-调整标题图像
因此,我创建了一个图像放置在标题区。除了只显示图像的1/4外,所有功能都正常工作Java TitleReadialog-调整标题图像,java,dialog,swt,jface,titleareadialog,Java,Dialog,Swt,Jface,Titleareadialog,因此,我创建了一个图像放置在标题区。除了只显示图像的1/4外,所有功能都正常工作 我的图像实际上是文本和图像组合在一个图像中,例如:jktater[]下面是一个示例titlearealog。如您所见,图像完全显示并向右对齐: public static void main(String[] args) { final Shell shell = new Shell(); shell.setLayout(new FillLayout()); TitleAreaDialog
我的图像实际上是文本和图像组合在一个图像中,例如:jktater[]下面是一个示例
titlearealog
。如您所见,图像
完全显示并向右对齐:
public static void main(String[] args) {
final Shell shell = new Shell();
shell.setLayout(new FillLayout());
TitleAreaDialog dialog = new MyTitleAreaDialog(shell);
dialog.setTitleAreaColor(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND).getRGB());
dialog.open();
}
private static class MyTitleAreaDialog extends TitleAreaDialog
{
private Image image;
public MyTitleAreaDialog(Shell parentShell) {
super(parentShell);
image = new Image(Display.getDefault(), "/home/baz/Desktop/StackOverflow.png");
}
@Override
public boolean close() {
if (image != null)
image.dispose();
return super.close();
}
@Override
protected Control createContents(Composite parent) {
Control contents = super.createContents(parent);
setTitle("Title");
setMessage("Message");
if (image != null)
setTitleImage(image);
return contents;
}
@Override
protected Control createDialogArea(Composite parent) {
Composite composite = (Composite) super.createDialogArea(parent);
// YOUR LINE HERE!
Label line = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
line.setLayoutData(new GridData(SWT.FILL, SWT.END, true, true));
return composite;
}
}
标题区号是否允许特定的尺寸
好的,尺寸没有限制。我尝试使用比我的屏幕分辨率大的图像
,它被完全显示出来。不过,对话框
显然无法使用
我敢肯定,如果你真的能把背景色从基本色改成渐变色,那就太麻烦了
可以使用对话框更改背景色。setTitleAreaColor(RGB)
(在本例中为小部件背景色),但不能使用渐变。有一种不推荐使用的方法,它将返回标题区Composite
,但我真的不建议使用这种方法
如何在标题区域底部获得黑色水平线
底部的线条是通过以下方式实现的:
Label line = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
line.setLayoutData(new GridData(SWT.FILL, SWT.END, true, true));
你能用一个布局来移动它吗
这里有一个类似的问题:
这里的答案解释了如何更改
标题readialog
的详细信息。也许可以读一下。好的,你的图像没有完全显示出来?你也可以上传图片吗?我会在这里问这个问题,而不是开始另一个问题。以上是伟大的!!你能改变setTitle(“Hello”)的字体吗;
Label line = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
line.setLayoutData(new GridData(SWT.FILL, SWT.END, true, true));