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)
谢谢你的帮助!
如何在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.
我试图从javascript调用我的BHO方法.问题与以下帖子中说明的相同:
第三个链接是另一个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)
题:
window.external但上面链接[2]使用的方式var x = new ActiveXObject("MySampleATL.MyClass");; 调用约定是相同还是不同?注意:
[id(1), helpstring("method DoSomething")] HRESULT DoSomething();在BHO IDL文件中插入它来实现.我不确定它是如何完成的,并且无法通过谷歌找到任何支持资源.编辑1
window.external.检查一下.特别是标题为IDocHostUIHandler::GetExternal: Extending the … 我需要挖掘大多数已知文档文件的内容,例如:
对于我计划使用的大多数这些文件格式:
但截至目前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)
请建议如何解压缩....
谢谢....
有没有办法可以在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)
关心西蒙
该应用程序是基于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) 我可以根据内容类型而不是单个文件类型更改编辑器关联吗?
如果我去Window -> Preferences -> General -> Editors -> File Associations,我会看到基于文件扩展名的文件类型列表.
例如,单击"*.py","关联编辑器"框将列出"由"Python文件"内容类型"锁定的编辑器.
我可以看到顶部的消息说我可以"看到'内容类型'用于基于内容类型的关联",但首选项的部分(常规 - >内容类型)仅显示与内容类型相关联的文件扩展名,而不是编辑.
由于内容类型的层次结构是以大多数文件都在"文本"内容类型下的方式组织的,我想要做的事情之一就是将gvim添加为可用于Text/*文件的外部编辑器,而不是去单独的每个文件类型并添加编辑器.
谢谢.
作为一个业余爱好项目,我正在探索将网页(HTML)保存为图像的方法,主要是使用c/c ++/javascript/java 编程.直到现在我遇到了以下几种方式:
获取IHTMLElement页面正文并使用它来查询IHTMLElementRender然后使用其DrawToDC方法(参考: http ://www.codeproject.com/KB/IP/htmlimagecapture.aspx).但问题在于它并不适用于所有页面(主要是具有嵌入式iframe的页面).
我能想到的另一种方法是使用一些Web浏览器组件,当页面完全加载时,然后使用它来捕获它BitBlt(参考: http ://msdn.microsoft.com/en-us/library/dd183370%28VS.85% 29.aspx).但问题是我请求的页面可能比我的屏幕大小长,并且它不适合Web浏览器组件.
我们非常感谢任何解决上述问题或替代方法的方向/建议.
在我的应用程序中,我正在处理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) 在下面的两个同步策略中,哪一个被优化(如在处理和生成的字节代码中)以及应该使用其中一个的场景.
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)
还有什么是处理并发的可行方法:
java.util.concurrent包Job或UIJobAPI(如果在eclipse PDE环境中工作)谢谢