作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
来自API document GridLayout 的:“小部件从左到右按列布置,...”,我想知道是否有某种方法可以从右到左布置小部件?或者,当我只有一列应用 GridLayout 时,我可以从下到上布局小部件吗? (抱歉我的英语不好!)
最佳答案
这里的神奇词是 SWT.RIGHT_TO_LEFT
。但是,它不会应用于 Layout
,而是应用于包含您的小部件的 Composite
。
这里是一些示例代码:
public static void main(String[] args)
{
final Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(2, true));
shell.setText("ExpandBar Example");
Composite ltr = new Composite(shell, SWT.LEFT_TO_RIGHT);
ltr.setLayout(new GridLayout(3, true));
ltr.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
Composite rtl = new Composite(shell, SWT.RIGHT_TO_LEFT);
rtl.setLayout(new GridLayout(3, true));
rtl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
for(int i = 0; i < 10; i++)
{
new Button(ltr, SWT.PUSH).setText("Button " + i);
new Button(rtl, SWT.PUSH).setText("Button " + i);
}
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
这就是它的样子:
<小时/>
要同时从右到左和从下到上,您只需使用 moveAbove
/moveBelow
和 null
作为参数:
public static void main(String[] args)
{
final Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(2, true));
shell.setText("StackOverflow");
Composite ltr = new Composite(shell, SWT.LEFT_TO_RIGHT);
ltr.setLayout(new GridLayout(3, true));
ltr.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
Composite rtl = new Composite(shell, SWT.LEFT_TO_RIGHT);
rtl.setLayout(new GridLayout(3, true));
rtl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
int nrOfItems = 10;
int nrOfColumns = ((GridLayout) rtl.getLayout()).numColumns;
int fillerItems = nrOfColumns - nrOfItems % nrOfColumns;
for (int i = 0; i < nrOfItems; i++)
{
new Button(ltr, SWT.PUSH).setText("Button " + i);
new Button(rtl, SWT.PUSH).setText("Button " + i);
}
for(int i = 0; i < fillerItems; i++)
new Label(rtl, SWT.NONE);
Control[] children = rtl.getChildren();
for (int i = 0; i < children.length; i++)
{
children[i].moveAbove(null);
}
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
看起来像这样:
关于java - Java SWT GridLayout 可以从右到左布局小部件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23079030/
目前我正在使用 [self presentModalViewController :newVC animated:YES] 。我想从左/右/顶部/底部呈现带有推送效果的 newViewcontroll
我正在尝试实现“带有上一个和下一个的部分幻灯片”。这些部分的标记如下: Section 1 Section 2 Section 3 Prev Next 除具有 acti
我的问题与此处提出的问题几乎相同:question 不同的是,我想从右边切换第 2 位和第 4 位数字,而不是像另一个问题中那样从左边切换。所以在我的例子中最右边的数字是 1。示例:283926.67
我是一名优秀的程序员,十分优秀!