小编Roi*_*iEX的帖子

为什么invokeLater在主线程中执行?

我刚刚遇到这个"bug",但我不确定这是不是意图:代码:

public static Object someMethod(){
    assert SwingUtilities.isEventDispatchThread();
    return new Object();
}

public static void main(String[] args){
    SwingUtilities.invokeLater(() -> someMethod().toString());//First Example
    SwingUtilities.invokeLater(someMethod()::toString);//Second Example
}
Run Code Online (Sandbox Code Playgroud)

在第一个例子中someMethod是在swing线程上执行,但在第二个例子中它不是,虽然它应该在我看来.

这是一个错误还是这个?

java lambda multithreading java-8 method-reference

24
推荐指数
2
解决办法
2397
查看次数

水平滚动监听器

我觉得我已经搜索了一半的网络并找不到解决方案......
我有一个显示地图的java应用程序(不同的国家等).
目前你可以使用鼠标滚轮向下和向上滚动...
我想要它,你可以横向滚动(水平).
我需要的只是一个Listener(在Swing或Javafx无关紧要),只要鼠标滚轮倾斜就会触发,而不需要地图的焦点(用鼠标悬停应该足够窗户应该仍然聚焦)并且没有任何可见滚动条.

java horizontal-scrolling

12
推荐指数
1
解决办法
532
查看次数

Eclipse JUnit 5支持

目前,JUnit 5刚刚推出了"稳定"版本.IntelliJ根据网站支持JUnit 5.我的问题是eclipse是否也支持JUnit 5,如果没有支持它的话.支持我的意思是如果我可以运行JUnit 5测试而不需要@RunWith(PlatformRunner.class)注释.

编辑2017年10月:Eclipse现在正式支持 Eclipse Oxygen1.a中的JUnit 5(4.7.1a)

java eclipse junit unit-testing junit5

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

创建具有未定义数量的子级的层次结构对象

我目前正在研究一种"代码解析器",将Valve Map Format(.vmf文件)解析为java可读对象.

在vmf文件中,

  • 有两种类型的对象:类和属性.
  • 类具有名称,可以包含其他类和属性.
  • 属性具有名称和无限数量的值.

因此,我创建了一个VMFClassObject Class和一个VMFPropertyObject Class.我用自己创建的HierarchyObjects 创建了一个List ,其中包含VMFClass/ VMFPropertyObject,UUID和parentUUID.该VMFClass对象包含2只列出一个与子VMFClassES,一个具有属性.

我的问题是我不知道如何实现一个Class包含它的所有子类,因为我不知道子类有多少子类等等......

这是我的代码(Github):

HierachyObject:

package net.minecraft.sourcecraftreloaded.utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class HierarchyObject {
    private static Map<Long, Long> usedUUIDs = new HashMap<>();
    private long parentUUID;
    private long UUID;
    private Object object;

    /**
     * 
     * @param Object
     * @param parent -1 is maximum level
     */
    public HierarchyObject(Object object, long …
Run Code Online (Sandbox Code Playgroud)

java hierarchy

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

Markdown 解析器应该是客户端还是服务器端

我目前正在开发一个 PHP 项目,该项目应该使用 markdown 来显示一些文本。
由于 javascript 和 PHP 都有 Markdown 解析器,我现在问自己的问题是我是否应该解析 Markdown 服务器端或客户端。
服务器端的优点:

  • 始终相同,即使在禁用了 javascript 的客户端上也是如此。

客户端的优点:

  • 更动态地允许预览功能。
  • 使用客户端资源而不是服务器。

我错过了什么吗?
你有什么建议?
任何帮助表示赞赏!

html javascript php

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

JPanel GridBagLayout到GridPane

我目前正在尝试将应用程序迁移到JavaFX(它实际上部分使用AWT)并且将边界布局的JPanel切换到BorderPanes相当容易,我在使用GridBagLayout和GridPanes找出如何做到这一点时遇到了一些麻烦.(我以前从未在Swing中使用过此布局)
在我的代码中,GridBagLayout被使用了2次(我不确定这是否是自动生成的代码):

JPanel bottomMessagePanel = new JPanel();
bottomMessagePanel.setLayout(new GridBagLayout());
bottomMessagePanel.setBorder(BorderFactory.createEmptyBorder());
bottomMessagePanel.add(someJComponent, new GridBagConstraints(0, 0, 1, 1, .35, 1, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
bottomMessagePanel.add(someOtherJComponent, new GridBagConstraints(1, 0, 1, 1, .65, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
Run Code Online (Sandbox Code Playgroud)

JPanel stepPanel = new JPanel();
stepPanel.setLayout(new GridBagLayout());
stepPanel.add(someJComponent, new GridBagConstraints(1, 0, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
stepPanel.add(someOtherJComponent, new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH, new …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing javafx

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

读取包中的csv文件

抱歉,这个问题很愚蠢,但是我有点像python新手。

我正在尝试将python 2.7代码库移植到python 3.4 ...
我发现了此代码段,该代码段应在打包的应用程序内的csv文件上进行迭代。
尽管PyDev告诉我,pkg_resources.respource_stream是未定义的,但第一行似乎起作用,导致第三行引发此错误:_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)

io = pkg_resources.resource_stream(__name__, "data.csv")
c = csv.reader(io)
for record in c:
    #doStuff
Run Code Online (Sandbox Code Playgroud)

我尝试将方法切换到resource_string,ResourceManager.resourceStream等,但是我得到的只是不同的错误。

python csv

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