小编Ami*_*mit的帖子

SWT复合 - 重绘问题

我有一个复合元素,最初有一个Label.现在我调用dispose(标签)并在同一个容器(复合榆树)中创建另一个标签,但我没有看到新文本.它让我质疑如何在复合上启用重绘,以便新标签(或我可能创建的任何其他组件)将代替旧标签.这是我的代码(分为单元测试重绘复合)

private Label createLabel( Composite parent) {
    Label label = new Label(parent, SWT.NONE);
    label.setAlignment(SWT.CENTER);
    label.setLayoutData( new GridData( SWT.CENTER, SWT.CENTER, true, true) );
    return label;
}

private void changeText() {
    assert testCell != null : "Please initialize test cell";
    testCell.getChildren()[0].dispose();
    Label l = createLabel(testCell);
    l.setText("New TexT");
    testCell.redraw();
}

private void draw() {
    Display display = new Display();
    shell = new Shell(display);
    shell.setLayout(new GridLayout(2,false));

    testCell = new Composite(shell,SWT.BORDER);
    testCell.setLayout(new GridLayout());
    Label l = createLabel(testCell);
    l.setText("Old Text");
    Composite btnCell = new Composite(shell,SWT.NONE);
    btnCell.setLayout(new …
Run Code Online (Sandbox Code Playgroud)

java user-interface swt

11
推荐指数
1
解决办法
2万
查看次数

SWT布局问题 - 标签填充可能吗?

我在SWT GUI应用程序中使用GridLayout.我为每个网格单元定义了以下GridData.网格单元本身只是一个标签.

    GridData gridData = new GridData();
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.heightHint = 25;
    gridData.widthHint = 25;
    gridData.verticalAlignment = GridData.VERTICAL_ALIGN_CENTER;
    gridData.verticalIndent = 10;
Run Code Online (Sandbox Code Playgroud)

我创建了这样的每个标签元素 -

    Label l = new Label(shell, SWT.BORDER);
    l.setAlignment(SWT.CENTER);
    l.setText("some text");
    l.setLayoutData( gridData );
Run Code Online (Sandbox Code Playgroud)

现在我的问题是尽管在标签本身上使用了verticalAlignment属性,verticalIndent属性和setAlignment,但我无法使文本对齐网格单元区域(25 x 25)垂直居中.我想我错过了什么.如何在网格单元中实现垂直居中对齐?

java user-interface swt

4
推荐指数
1
解决办法
6068
查看次数

Sqlite JDBC驱动程序不支持RETURN_GENERATED_KEYS

我正在使用Xerial最新的jdbc驱动程序用于sqlite(版本3.7.2)它似乎不支持Statement RETURN_GENERATED_KEYS.我在SQLException中继续"未通过SQLite JDBC驱动程序实现".

我真的不想进行另一个选择调用(例如,从任务顺序中选择1个desc限制1)以获取由自动增量字段创建的最新Id.我需要使用该id来填充另一个表中的字段.

有没有更好的方法来实现这个使用sqlite-jdbc驱动程序?

sqlite jdbc

3
推荐指数
2
解决办法
5748
查看次数

标签 统计

java ×2

swt ×2

user-interface ×2

jdbc ×1

sqlite ×1