gpt4 book ai didi

java - TitleAreaDialog - 调整标题图像

转载 作者:搜寻专家 更新时间:2023-11-01 03:09:58 25 4
gpt4 key购买 nike

所以我正在创建一个图像以放置在标题区域中。除了只显示图像的 1/4 之外,一切正常吗?

我的图像实际上是文本和图像组合在一个图像中 EX: JKTeater [ ] <-- icon所以现在只有 JKT 显示在标题区域

这里是create()方法

public void create() {
super.create();
setTitle("JKTeater Application");
setMessage("Hello World");
if (image != null) setTitleImage(image);

}
  1. 是否有标题区域代码允许的特定尺寸?
  2. 有没有办法将图像的末尾放在标题区域的末尾?
  3. 可以使用布局来移动它吗?
  4. 如何在标题区域的底部得到一条黑色水平线?

编辑

enter image description here

我敢肯定,如果您真的可以将背景颜色从基本颜色更改为渐变色,这会要求很多

最佳答案

这是一个示例 TitleAreaDialog。如您所见,Image 已完全显示并右对齐:

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;
}
}

enter image description here

Is there a specific size that the title area code allows for?

据我所知,大小没有限制。我尝试使用大于我的屏幕分辨率的 Image 并完全显示。 Dialog 显然无法使用。

I am sure that it would be asking to much to see if you can actually change the background color from a basic color to a gradient

可以使用 dialog.setTitleAreaColor(RGB) 更改背景颜色(在本例中为小部件背景颜色),但不能使用渐变。有一个已弃用的方法 getTitleArea()这将返回标题区域 Composite,但我真的不建议使用它。

How can I get a black horizonal line at the bottom of the title area?

底部的行是通过使用实现的:

Label line = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
line.setLayoutData(new GridData(SWT.FILL, SWT.END, true, true));

Can you use a layout to move it around?

这里有一个类似的问题:

Moving an image of a TitleAreaDialog to the left

那里的答案解释了如何更改 TitleAreaDialog 的细节。也许仔细阅读它们。

关于java - TitleAreaDialog - 调整标题图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12975909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com