小编fla*_*nze的帖子

SWT:如何仅使用一个滚动条来滚动两个单独的查看器

我将两个TreeViewers放入 SWT Shell

他们每个人都有自己的滚动条。不过,我想只有一个ScrollbarShell其控制的滚动TreeViewers同时。

我能够找到的唯一示例是在源比较视图中。但是,我看不出他们是如何做到这一点的——我已经尝试弄明白了一段时间。但至少我知道这是可能的。

有什么建议?

编辑

我的最终界面应该在左边有两个TreeViewers和一个Scrollbar来控制它们。

java swt jface scrollbar treeviewer

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

无法找到适当类型的密钥来解密 AP REP - 使用 HMAC SHA1-96 的 AES256 CTS 模式

我有一个带有 Spnego SSO 设置的 tomcat 服务器,它运行良好,没有任何问题。现在我想在它前面添加一个 Apache 服务器以启用 SSL。Apache服务器使用AJP与其通信:

<VirtualHost *:58443>
  SSLEngine on
  ServerName ca09417d.global.local:58443
  SSLCertificateFile "${SRVROOT}/conf/ssl/ca09417d.server.cer"
  SSLCertificateKeyFile "${SRVROOT}/conf/ssl/ca09417d.server.key"
 ...
  ProxyRequests off
  ProxyPreserveHost On
  ProxyPass /vcaps3 ajp://cavcdbdev02:58009/vcaps3
  ProxyPassReverse /vcaps3 ajp://cavcdbdev02:58009/vcaps3   
</virtualhost>
Run Code Online (Sandbox Code Playgroud)

之后,服务器抱怨这个错误:

KrbException: Invalid argument (400) - Cannot find key of appropriate type to decrypt AP REP - AES256 CTS mode with HMAC SHA1-96
sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:278)
sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:108)
sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:829)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
sun.security.jgss.spnego.SpNegoContext.GSS_acceptSecContext(SpNegoContext.java:906)
sun.security.jgss.spnego.SpNegoContext.acceptSecContext(SpNegoContext.java:556)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
net.sourceforge.spnego.SpnegoAuthenticator.doSpnegoAuth(SpnegoAuthenticator.java:444)
net.sourceforge.spnego.SpnegoAuthenticator.authenticate(SpnegoAuthenticator.java:283)
net.sourceforge.spnego.SpnegoHttpFilter.doFilter(SpnegoHttpFilter.java:229)
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这些事情:

  • 确保我的 JDK 可以执行 AES 256
  • 登录Apache本地,它成功了,因为我有这样的设置:
    spnego.allow.localhost =true
  • 检查双方服务器日志,没有发现任何内容
  • Apache失败后我仍然可以直接在tomcat服务器上使用SSO

现在我不知道应该做什么来解决它。

  • 我的tomcat版本是8.5.32 …

apache kerberos aes spnego

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

将鼠标悬停在JFace TreeViewer中的一个Cell上时是否可以获得工具提示

我有TreeViewer三列.第一列显示元素的名称,第二列显示第二个属性,在第三列中我想显示一个图标(如果另一个属性已填充)并在鼠标悬停时在工具提示中显示该属性的内容,因为该属性显示的文本太多它在TreeViewer.似乎没有ITableLabelProvider工具提示的等价物,所以我可以为我的第三列返回工具提示.

java eclipse swt jface tooltip

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

如何用ant展平zip文件的顶级文件夹?

很多zip文件都有一个根文件夹,如何解压缩zip文件并删除根文件夹?

我知道有globmapper:

<unzip dest="${dest.path}">
    <fileset dir="${source.path}">
        <include name="**/zipfile*.*.zip" />
    </fileset>
    <mapper>
        <globmapper from="rootFolder/*" to="*" />
    </mapper>
</unzip>
Run Code Online (Sandbox Code Playgroud)

但是,如果我不知道根文件夹的名称呢?通配符不起作用,例如

<globmapper from="root*Folder/*" to="*" />
Run Code Online (Sandbox Code Playgroud)

有没有办法使用通配符或没有根文件夹进行upack的映射器/函数?

ant zip unzip mapper

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

Jetty 更新到 9.4.x 后:缺少约束:Require-Capability:osgi.extender;过滤器:=“(osgi.extender = osgi.serviceloader.processor)”

从 Jetty 9.3.x 更新到 9.4.x 后,当我启动OSGi Framework时,我收到以下验证消息:

Missing Constraint: Require-Capability: osgi.extender; filter:="(osgi.extender=osgi.serviceloader.processor)"
Missing Constraint: Require-Capability: osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)"
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我不知道我必须添加哪些捆绑包?

已包含在发布中(以及其他许多内容):

  • org.eclipse.jetty.client
  • org.eclipse.jetty.continuation
  • org.eclipse.jetty.deploy
  • org.eclipse.jetty.http
  • org.eclipse.jetty.io
  • org.eclipse.jetty.rewrite
  • org.eclipse.jetty.security
  • org.eclipse.jetty.server
  • org.eclipse.jetty.servlet
  • org.eclipse.jetty.servlets
  • org.eclipse.jetty.util
  • org.eclipse.jetty.webapp
  • org.eclipse.jetty.xml
  • org.eclipse.osgi
  • org.eclipse.osgi.services
  • org.eclipse.osgi.util

单击对话框中的“确定”后,服务器将启动,且不会出现错误消息。
我希望这个问题能够在 Jetty 9.4.5 中得到解决,但它仍然存在。

eclipse osgi jetty jetty-9

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

如何在 Java 中将 String 转换为 Integer[] 数组?

如果String是类似的东西"19 35 91 12 36 48 59",我想要一个相同结构的数组。

我已经试过了

array[]=Integer.parseInt(str);
Run Code Online (Sandbox Code Playgroud)

java arrays string integer

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

Jface tableviewer中ColumnLabelProvider和ITableLabelProvider有什么区别?

我正在研究JFace Tableviewer.我对ColumnLabelProvider和的用法有点困惑ITableLabelProvider.我试图为tableviewer中的某一行着色(其中有1列字符串和其他3列中的复选框图像).我已经实现ITableLabelProvider并着色了该行,但在此之后禁用了编辑支持.所以我很困惑我是否应该使用ColumnLabelProviderITableLabelProvider

有人可以给我一些想法吗?提前致谢

java eclipse jface tableviewer

3
推荐指数
1
解决办法
1313
查看次数

如何以编程方式删除/暂停 Activiti 中的流程实例?

我创建了流程引擎、存储库服务、运行时服务并部署了 BPMN 工作流程。我还创建了一个 Process 实例并能够启动它。问题是,当我尝试使用“deleteProcessInstance”方法挂起或删除流程实例时,我收到一条错误消息,指出找不到 ProcessInstanceId!PS:我在某处了解到BPMN中的processId在Activiti中被视为processKey。

代码:

public void startProcess(String processDefinitionKey)
{
    ListenerClass.processInstance=ListenerClass.runtimeService.startProcessInstanceByKey(processDefinitionKey);
}

public void deleteProcess(String processInstanceId)
{
    System.out.println("Stopping Process instance id " +processInstanceId);
    ListenerClass.runtimeService.deleteProcessInstance(processInstanceId, "Ok");
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,在启动流程实例时,我传递了BPMN.xml文件的“Process Id”。(这意味着BPMN.xml的processId = Activiti的processInstanceKey)

我的 BPMN.xml:

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" 
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" 
xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1" xmlns:activiti="http://activiti.org/bpmn" 
targetNamespace="http://bpmn.io/schema/bpmn">
  <bpmn:process id="Process_11" isExecutable="true" name="Hima">
    <bpmn:startEvent id="StartEvent_1">
      <bpmn:outgoing>SequenceFlow_06sykhd</bpmn:outgoing>
    </bpmn:startEvent>  
    <bpmn:sequenceFlow id="SequenceFlow_06sykhd" sourceRef="StartEvent_1" targetRef="Task_1dt8brv" />
    <bpmn:endEvent id="EndEvent_0cb0ioi">
      <bpmn:incoming>SequenceFlow_1doj4n6</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:serviceTask id="Task_1dt8brv"
             name="My Java Service Task"
             activiti:class="com.bosch.bip.Service.task1" >
    
      <bpmn:incoming>SequenceFlow_06sykhd</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_156te78</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:serviceTask id="Task_10bfll9" activiti:class="com.bosch.bip.Service.task1">
      <bpmn:incoming>SequenceFlow_156te78</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_1doj4n6</bpmn:outgoing>
    </bpmn:serviceTask> …
Run Code Online (Sandbox Code Playgroud)

java bpmn activiti

3
推荐指数
1
解决办法
7566
查看次数

在 Java 中创建子图像

我有一个 800x480 的图像。如何创建以下坐标的新子图像?

115、235、580、202(x、y、宽度、高度)

java image

3
推荐指数
1
解决办法
6104
查看次数

如何设置ProgressMonitorDialog的标题

ProgressMonitorDialog用来显示长时间运行过程的进度对话框.

Shell shell = HandlerUtil.getActiveWorkbenchWindow(event).getShell();
shell.setText("HTML result loading");
shell.update();
ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
dialog.setCancelable(true);
dialog.run(true, true, new IRunnableWithProgress() {
    @Override
    public void run(IProgressMonitor monitor) throws InterruptedException {
        monitor.beginTask(ResourceAssistant.getString(ViewAsHTML.class, "loadingHTMLResults"), //$NON-NLS-1$
                IProgressMonitor.UNKNOWN);
        while (!thread.getState().equals(Thread.State.TERMINATED)) {
            if (monitor.isCanceled()) {
                setCanceled(true);
                break;
            }
        }
        monitor.done();
    }
});
Run Code Online (Sandbox Code Playgroud)

我想更改进度对话框的标题.默认情况下,它显示为"进度信息".我怎么能改变这个.有什么想法吗.

java rcp eclipse-rcp

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