小编Fav*_*ius的帖子

返回值中'&'字符的含义是什么?

public static <T, U extends Comparable<? super U>> Comparator<T> comparing(
        Function<? super T, ? extends U> keyExtractor)
{
    Objects.requireNonNull(keyExtractor);
    return (Comparator<T> & Serializable)
        (c1, c2) -> keyExtractor.apply(c1).compareTo(keyExtractor.apply(c2));
}
Run Code Online (Sandbox Code Playgroud)

我感兴趣的部分是这样的: return (Comparator<T> & Serializable)

谢谢你的帮助!

java generics

17
推荐指数
1
解决办法
1003
查看次数

与SBT的Scala SWT项目

如何在SBT中创建Scala SWT项目?

我知道你可以使用GIT存储库:

RootProject(uri("http://git.eclipse.org/gitroot/platform/eclipse.platform.swt.binaries.git"))
Run Code Online (Sandbox Code Playgroud)

但我不知道如何以及SWT是否可行.

在此先感谢,Etam.

编辑:

我不得不手动下载它.它编译但运行时我得到无效的线程访问错误:

***WARNING: Display must be created on main thread due to Cocoa restrictions.
[error] (run-main) org.eclipse.swt.SWTException: Invalid thread access
Run Code Online (Sandbox Code Playgroud)

即使我使用:

javaOptions := Seq("-XstartOnFirstThread", "-d64")
Run Code Online (Sandbox Code Playgroud)

这是主要类:

import org.eclipse.swt._
import org.eclipse.swt.layout._
import org.eclipse.swt.widgets._

object Main extends App {
    val display = new Display
    val shell = new Shell(display)
    shell.setLayout(new GridLayout())
    shell.pack
    shell.open
    while (!shell.isDisposed) {
        if (!display.readAndDispatch)
            display.sleep
    }
    display.dispose
}
Run Code Online (Sandbox Code Playgroud)

再次感谢,Etam.

swt scala sbt

12
推荐指数
2
解决办法
1262
查看次数

从Javascript调用BHO方法?

我试图从javascript调用我的BHO方法.问题与以下帖子中说明的相同:

  1. 从Javascript函数调用BHO
  2. http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/91d4076e-4795-4d9e-9b07-5b9c9eca62fb/
  3. 从Web浏览器控件中运行的JavaScript脚本调用C++函数

第三个链接是另一个SO帖子谈论它,但我不理解需求和代码.此外,共享工作样本使用ie 8和windows vista(即7)保持崩溃.

如果它有助于我的BHO使用ATL用C++编写.

我尝试过的:

我写了一个非常基本的BHO,并试图为所提到的方法在这里伊戈尔Tandetnik.没有生成异常但是当我在IE中打开以下html文件时它会说对象未定义.

<html>
    <head>
        <script language='javascript'>
            function call_external(){
                try{
                alert(window.external.TestScript);
                //JQueryTest.HelloJquery('a');
                }catch(err){
                    alert(err.description );
                }
            }
        </script>
    </head>
    <body id='bodyid' onload="call_external();">
        <center><div><span>Hello jQuery!!</span></div></center>
    </boay>
</html>
Run Code Online (Sandbox Code Playgroud)

题:

  1. 请澄清是否有可能暴露和从JavaScript调用BHO方法还是必须使用它的ActiveX以暴露(通过如回答jeffdav[2] )?如果是,那么该怎么做.
  2. 基本上我想扩展,window.external但上面链接[2]使用的方式var x = new ActiveXObject("MySampleATL.MyClass");; 调用约定是相同还是不同?

注意:

  1. 在SO上有一个相关的帖子,它提示可以通过[id(1), helpstring("method DoSomething")] HRESULT DoSomething();在BHO IDL文件中插入它来实现.我不确定它是如何完成的,并且无法通过谷歌找到任何支持资源.
  2. 我知道这个帖子调用你的bho-from-a-client-script,但没有尝试过,因为它正在解决使用ActiveX的问题.
  3. 我避免使用ActiveX的原因主要是由于安全限制.

编辑1


似乎有一种方法可以扩展window.external.检查一下.特别是标题为IDocHostUIHandler::GetExternal: Extending the …

internet-explorer activex bho atl ieaddon

10
推荐指数
1
解决办法
6675
查看次数

如何在java中读取或解析MHTML(.mht)文件

我需要挖掘大多数已知文档文件的内容,例如:

  1. PDF格式
  2. HTML
  3. doc/docx等

对于我计划使用的大多数这些文件格式:

http://tika.apache.org/

但截至目前Tika不支持MHTML(*.mht)文件..(http://en.wikipedia.org/wiki/MHTML)C#中的例子很少(http://www.codeproject.com/KB/ files/MhtBuilder.aspx)但我在Java中找不到.

我尝试在7Zip中打开*.mht文件但它失败了......虽然WinZip能够将文件解压缩为图像和文本(CSS,HTML,脚本)作为文本和二进制文件...

根据MSDN页面(http://msdn.microsoft.com/en-us/library/aa767785%28VS.85%29.aspx#compress_content)和code project我之前提到的页面... mht文件使用GZip压缩... .

尝试在java中解压缩导致以下异常:With java.uti.zip.GZIPInputStream

java.io.IOException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at GZipTest.main(GZipTest.java:16)
Run Code Online (Sandbox Code Playgroud)

java.util.zip.ZipFile

 java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at GZipTest.main(GZipTest.java:21)
Run Code Online (Sandbox Code Playgroud)

请建议如何解压缩....

谢谢....

java compression parsing mhtml

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

Java - 在setBorder中设置字体/颜色

有没有办法可以在setBorder方法中为Text1和Text2文本定义自己的字体和颜色方案.新的java并没有在SUN教程中找到它.

我的代码

//Create Positions Table
 JPanel SpreadPanel = new JPanel();
 SpreadPanel.setBorder(BorderFactory.createTitledBorder(" Text 1    Text 2"));
Run Code Online (Sandbox Code Playgroud)

关心西蒙

java fonts swing colors jpanel

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

org.eclipse.swt.SWTException:从表刷新中"处理小部件"

该应用程序是基于Eclipse 3.6的RCP(因此jface版本3.5.2)在Windows 7上运行.

我有一个自定义View类,包含一个TableViewer并调用refresh()它.有时,但不是经常导致下面的堆栈跟踪.它是从UI线程中调用的.我怀疑问题是其他代码将支持列表更改为表,但执行此操作的任何代码也在syncExec或asyncExec方法中运行,所以我不明白它是如何在更改之间的同步问题表项和刷新查看器.

我有什么想法可以防止这种情况发生?

!ENTRY org.eclipse.jface 4 2 2010-10-20 09:22:06.140 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 org.eclipse.swt.SWTException: Widget is disposed 
at org.eclipse.swt.SWT.error(SWT.java:3884) at org.eclipse.swt.SWT.error(SWT.java:3799) 
at org.eclipse.swt.SWT.error(SWT.java:3770) at org.eclipse.swt.widgets.Widget.error(Widget.java:463) 
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:336) 
at org.eclipse.swt.widgets.Widget.getData(Widget.java:521) 
at org.eclipse.jface.viewers.AbstractTableViewer.setSelectionToWidget(AbstractTableViewer.java:921) 
at org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1711) 
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1399) 
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1353) 
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1455) 
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:537) 
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1414)
... 
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)
Run Code Online (Sandbox Code Playgroud)

java swt jface eclipse-rcp

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

Eclipse:将编辑器与内容类型相关联

我可以根据内容类型而不是单个文件类型更改编辑器关联吗?

如果我去Window -> Preferences -> General -> Editors -> File Associations,我会看到基于文件扩展名的文件类型列表.

例如,单击"*.py","关联编辑器"框将列出"由"Python文件"内容类型"锁定的编辑器.

我可以看到顶部的消息说我可以"看到'内容类型'用于基于内容类型的关联",但首选项的部分(常规 - >内容类型)仅显示与内容类型相关联的文件扩展名,而不是编辑.

由于内容类型的层次结构是以大多数文件都在"文本"内容类型下的方式组织的,我想要做的事情之一就是将gvim添加为可用于Text/*文件的外部编辑器,而不是去单独的每个文件类型并添加编辑器.

谢谢.

eclipse

8
推荐指数
1
解决办法
8677
查看次数

将网页另存为图像

作为一个业余爱好项目,我正在探索将网页(HTML)保存为图像的方法,主要是使用c/c ++/javascript/java 编程.直到现在我遇到了以下几种方式:

  1. 获取IHTMLElement页面正文并使用它来查询IHTMLElementRender然后使用其DrawToDC方法(参考: http ://www.codeproject.com/KB/IP/htmlimagecapture.aspx).但问题在于它并不适用于所有页面(主要是具有嵌入式iframe的页面).

  2. 我能想到的另一种方法是使用一些Web浏览器组件,当页面完全加载时,然后使用它来捕获它BitBlt(参考: http ://msdn.microsoft.com/en-us/library/dd183370%28VS.85% 29.aspx).但问题是我请求的页面可能比我的屏幕大小长,并且它不适合Web浏览器组件.

我们非常感谢任何解决上述问题或替代方法的方向/建议.

html javascript c++ java image

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

是否有必要销毁工具提示?

在我的应用程序中,我正在处理WM_HELP消息,然后使用此方法为控件创建工具提示:

摘自:http : //msdn.microsoft.com/zh-cn/library/bb760252( v= vs.85).aspx

HWND CreateToolTip(int toolID, HWND hDlg, PTSTR pszText)
{
    if (!toolID || !hDlg || !pszText)
    {
        return FALSE;
    }
    // Get the window of the tool.
    HWND hwndTool = GetDlgItem(hDlg, toolID);

    // Create the tooltip. g_hInst is the global instance handle.
    HWND hwndTip = CreateWindowEx(NULL, TOOLTIPS_CLASS, NULL,
                              WS_POPUP |TTS_ALWAYSTIP | TTS_BALLOON,
                              CW_USEDEFAULT, CW_USEDEFAULT,
                              CW_USEDEFAULT, CW_USEDEFAULT,
                              hDlg, NULL, 
                              g_hInst, NULL);

   if (!hwndTool || !hwndTip)
   {
       return (HWND)NULL;
   }                              

    // Associate the tooltip with …
Run Code Online (Sandbox Code Playgroud)

c++ winapi tooltip destroy

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

哪个更有效,为什么?

在下面的两个同步策略中,哪一个被优化(如在处理和生成的字节代码中)以及应该使用其中一个的场景.

public synchronized void addName(String name) 
{
       lastName = name;
       nameCount++;
       nameList.add(name);
}
Run Code Online (Sandbox Code Playgroud)

要么

public void addName(String name) {
    synchronized(this) {
        lastName = name;
        nameCount++;
        nameList.add(name);
    }

}
Run Code Online (Sandbox Code Playgroud)

还有什么是处理并发的可行方法:

  1. 使用java.util.concurrent
  2. 使用上面的低级方法
  3. 使用JobUIJobAPI(如果在eclipse PDE环境中工作)

谢谢

java concurrency multithreading

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