小编may*_*ari的帖子

在其父shell的中心生成swt shell

我有SWT向导页面作为我的父shell,用于创建另一个shell,点击按钮我正在编写以下代码

Shell permissionSetShell = new Shell(Display.getCurrent().getActiveShell(), SWT.CENTER|SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL);
permissionSetShell.setText(PropertyClass.getPropertyLabel(QTLConstants.PERMISSION_SET_COLUMN_LABEL));

// Add shell to the center of parent wizard
permissionSetShell.setLayout(componentsRenderer.createGridLayout(1, false, 0, 5, 0, 0));    
Monitor primary = Display.getCurrent().getPrimaryMonitor ();
Rectangle bounds = primary.getBounds ();
Rectangle rect = Display.getCurrent().getActiveShell().getBounds ();
int x = bounds.x + (bounds.width - rect.width) / 2;
int y = bounds.y + (bounds.height - rect.height)/2;              
permissionSetShell.setLocation (x, y);
Run Code Online (Sandbox Code Playgroud)

但是因为子shell意味着这个shell没有放在SWT向导的中心,那就是父shell为什么?

java swt

7
推荐指数
1
解决办法
5769
查看次数

Log4j使用Java记录自定义日志级别

我已经编写了自定义日志级别的类,即 INIT

import org.apache.log4j.Logger;
import org.apache.log4j.Level;

public class InitLoggingLevel extends Level {

    public static final String INITLOGGING_LEVEL = "INITLOGGING";
    public static final Level INIT_LOGGING = new InitLoggingLevel(
        DEBUG_INT - 4, INITLOGGING_LEVEL, 7);

    protected InitLoggingLevel(int level, String levelStr, int syslogEquivalent){
        super(level, levelStr, syslogEquivalent);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我需要做些什么改变log4j.properties以及如何INIT在My Java类中使用这个日志记录级别?

java log4j

5
推荐指数
1
解决办法
9227
查看次数

"java -version"命令导致错误流

我在错误流而不是输入流中获得以下命令的输出

Runtime rt = Runtime.getRuntime();
ProcessBuilder builder = new ProcessBuilder(new String[]{"cmd.exe","/c","java -version"});
Process pr =   builder.start();
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getErrorStream()));
String line=input.readLine();
System.out.println(line);
Run Code Online (Sandbox Code Playgroud)

请解释

java cmd

-2
推荐指数
1
解决办法
225
查看次数

标签 统计

java ×3

cmd ×1

log4j ×1

swt ×1