假设我有一个GridLayout复合,其中列= 1.(类似于垂直流布局)我已经将Label 1,Label 2,Label 3添加到此复合中,它们将相应地显示.
----------
Label 1 |
Label 2 |
Label 3 |
----------
Run Code Online (Sandbox Code Playgroud)
那么,如果我将Label 2的可见性设置为false,可以将Label 3向上移动以替换Label 2吗?如果标签2的可见性设置回来true,标签3将向下移动?
我有ScrolledComposite它只允许垂直滚动。( heighthint = 400).
在这个 ScrolledComposite 中,我有另一个CompositeA(滚动高度可能超过 400)来存储所有其他小部件。
我有一个很长的标签(已SWT.WRAP启用)。但它不是换行,而是始终显示在一行中。我希望此标签根据其父级 ( CompositeA)的宽度进行换行
我忘了补充一点,这CompositeA是一个 2 列,GridLayout带有makeColumnsEqualWidth = true.
这是我的代码:
public void createPartControl(Composite parent) {
// TODO Auto-generated method stub
Display display = parent.getDisplay();
toolkit = new FormToolkit(display);
form = toolkit.createForm(parent);
form.setText("ABC");
Composite body = form.getBody();
TableWrapLayout layout = new TableWrapLayout();
layout.numColumns = 2;
body.setLayout(layout);
Label header1 = toolkit.createLabel(body, "ABC: ");
Font font = new Font(display, "Arial", 11, SWT.BOLD); …Run Code Online (Sandbox Code Playgroud) 我有这个CheckBoxPreference
CheckBoxPreference sendToEmailPref = new CheckBoxPreference(this);
sendToEmailPref.setTitle("Send To Email");
sendToEmailPref.setDependency("emailList");
Run Code Online (Sandbox Code Playgroud)
我想设置它对键"emailList"的依赖关系emailList是一个自定义构建首选项,它将电子邮件收件人存储为String.
但是,我收到了这个错误
Caused by: java.lang.IllegalStateException: Dependency not found.....
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Java Reflection Class c = Class.forName(className)
我想在通过className不指定包名作为字符串className将包含类多个子包说com.A.*,com.B.*....com.Z.*
可能吗?
如果我在这种情况下有许多子包,那么做一个案例切换来预先挂起不同的子包是不可行的.
如何为接口定义泛型返回类型,以便它实现类可以有自己的返回类型?
public interface A {
public <T> T doSomething();
}
public class ImplA implements A {
public SomethingElseA doSomething() {
return obj.doSomething();
}
}
public class ImplB implements A {
public SomethingElseB doSomething() {
return obj.doSomething();
}
}
Run Code Online (Sandbox Code Playgroud) 我想知道SWT Composite对象的常规/常用做法是什么.
我发现每当我添加一个Composite(带有任何UI示例:TextBox或Button)时,在Composite中创建的UI不会与Composite的起始边缘对齐.(您可以通过设置Composite的背景颜色来观察)
在TextBox UI之前,Composite内部有一些空格/填充.如果未在Composite中创建先前的UI,则会导致我正在创建的GUI表单中的未对齐.
我想知道使它们对齐的常见做法是什么?通过设置一些负填充来向后移动Composite,使其中的UI看起来像是对齐的?
示例代码如下!
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
GridLayout layout = new GridLayout();
layout.numColumns = 1;
layout.makeColumnsEqualWidth = false;
shell.setLayout(layout);
Text t1 = new Text(shell, SWT.SINGLE | SWT.BORDER);
t1.setText("Test box...");
Composite c = new Composite(shell, SWT.NONE);
// c.setBackground(new Color(shell.getDisplay(), 255,0,0));
layout = new GridLayout();
layout.numColumns = 2;
layout.makeColumnsEqualWidth = true;
c.setLayout(layout);
Text t2 = new Text(c, SWT.SINGLE | SWT.BORDER);
t2.setText("Test box within Composite... not aligned …Run Code Online (Sandbox Code Playgroud) java ×5
swt ×3
android ×1
composite ×1
dependencies ×1
eclipse ×1
jface ×1
layout ×1
margin ×1
reflection ×1