小编eli*_*ias的帖子

您的类应该实现ActionListener还是使用匿名ActionListener类的对象

实现java.awt.event.ActionListener界面的最佳方法是什么?

让您的类实现ActionListener并将其添加为ActionListener:

class Foo implements ActionListener{

    public Foo() {
        JButton button = new JButton();
        button.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {

    }
}
Run Code Online (Sandbox Code Playgroud)

或者添加匿名ActionListener类的对象:

class Foo{

    public Foo() {
        JButton button = new JButton();
        button.addActionListener(new ActionListener() {     
            public void actionPerformed(ActionEvent e) {

            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing actionlistener

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

循环无向图中的所有可能路径

我正在尝试开发一种算法来识别图中两个节点之间的所有可能路径,如下例所示:

图片.

实际上,我只需要知道哪些节点出现在所有现有路径中.

在网上只有关于DFS,A*或dijkstra的参考,但我认为它们在这种情况下不起作用.

有谁知道如何解决它?

c++ java algorithm

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

使用Hibernate Criteria API编写HQL子句

我想编写一个方法,返回按字段'serviceId'分组的最后添加的对象列表.

以下HQL有效,但我想使用Criteria API编写它:

FROM Notification WHERE date IN 
    (SELECT MAX(date) FROM Notification GROUP BY serviceId) 
ORDER BY date ASC
Run Code Online (Sandbox Code Playgroud)

像这样的东西:

Criteria crit = session.createCriteria(Notification.class);
crit.add(Restrictions.in("date", <MAX dates>));
criteria.addOrder(Order.desc("date"));
Run Code Online (Sandbox Code Playgroud)

提前致谢.

编辑:

现在我需要一个类似的查询,使用eclipselink API =/
基本上,我需要最后N行(最大日期),其状态是下面描述的五个之一,按serviceId列分组.
由于我的经验不足,这是我能做到的最好的:

ExpressionBuilder builder = new ExpressionBuilder();
Expression exStatus1 = builder.get("status").equal(MessageType.START.toString());
Expression exStatus2 = builder.get("status").equal(MessageType.RUNNING.toString());
Expression exStatus3 = builder.get("status").equal(MessageType.PAUSED.toString());
Expression exStatus4 = builder.get("status").equal(MessageType.END_ERROR.toString());
Expression exStatus5 = builder.get("status").equal(MessageType.END_SUCCESS.toString());

ReadAllQuery query = new ReadAllQuery();
query.setReferenceClass(Notification.class);
query.setSelectionCriteria(((exStatus1).or(exStatus2).or(exStatus3).or(exStatus4).or(exStatus5)));
query.setMaxRows(listSize);
query.addDescendingOrdering("date");
Run Code Online (Sandbox Code Playgroud)

避免结果行中重复serviceIds的子句...

java hibernate hql java-ee criteria-api

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

ORMLite获取单个数据库列

我正在尝试将这个SQL命令与Ormlite一起使用:

select address from receive
Run Code Online (Sandbox Code Playgroud)

使用此代码:

List<Receivers> receiver_address = receiverDao.queryBuilder().selectColumns("address").query();
Run Code Online (Sandbox Code Playgroud)

但返回的对象是:

1 = {Receivers@830028192208} 
 address = {String@830028192264} "my new address"
 city = null
 email = null
 telephone = null
 mobile = null
 name_family = null
 national_code = null
 postal_code = null
 receiver_name = null
 id = 2
Run Code Online (Sandbox Code Playgroud)

我只需要address此查询中的字段,而不是iterator:

List<String> list = new ArrayList<String>();
for( Receivers lst:receiver_address)
    list.add(lst.getAddress());
Run Code Online (Sandbox Code Playgroud)

怎么做这个动作?

android ormlite

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

WSO2 ESB SSL 握手失败

尝试访问安全的外部服务时出现此错误:

TID: [0]  [ESB]  [2016-01-07 11:08:52,310] ERROR -  I/O error: General SSLEngine problem {org.apache.synapse.transport.passthru.TargetHandler}
javax.net.ssl.SSLHandshakeException: General SSLEngine problem
        at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1364)
        at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:513)
        at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1197)
        at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1169)
        at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469)
        at org.apache.http.impl.nio.reactor.SSLIOSession.doHandshake(SSLIOSession.java:154)
        at org.apache.http.impl.nio.reactor.SSLIOSession.isAppInputReady(SSLIOSession.java:273)
        at org.apache.http.impl.nio.ssl.SSLClientIOEventDispatch.inputReady(SSLClientIOEventDispatch.java:241)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:158)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:340)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:318)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:542)
        at java.lang.Thread.run(Thread.java:722)
Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1703)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:278)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1338)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
        at sun.security.ssl.Handshaker$1.run(Handshaker.java:808)
        at sun.security.ssl.Handshaker$1.run(Handshaker.java:806)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1301)
        at org.apache.http.impl.nio.reactor.SSLIOSession.doHandshake(SSLIOSession.java:171)
        ... …
Run Code Online (Sandbox Code Playgroud)

ssl wso2 ssl-certificate wso2esb

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

java - 如何在不显示打印对话框的情况下进行打印

我正在创建一个 Java 应用程序,应用程序将在其中打印图片和旁边的一些文本。我在打印时有两台打印机,我会相应地选择。我不会为用户显示打印对话框来选择打印机和其他东西。我的代码如下

PrinterJob job = PrinterJob.getPrinterJob();
boolean ok = job.printDialog();
Run Code Online (Sandbox Code Playgroud)

如果我不跳过该行boolean ok = job.printDialog();,文本将在我的案例 (20,20) 中提到的位置打印,但如果我跳过该行,我的打印可能会在打印机上更远的点完成 (120, 120) 这意味着我需要一个保证金设置。并给我一个设置打印机的代码。

java printing

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

缺少必需的请求正文

我是春天和休息的新人.我写了这样一个简单的休息:

@RequestMapping(value = "/loginTest", method = RequestMethod.POST)
@ResponseBody
public Response loginTest(@RequestBody LoginRequest request) {
    System.out.println("enter loginTest.");
    String account = request.getAccount();
    String password = request.getPassword();
    Response res = new Response();
    return res;
}
Run Code Online (Sandbox Code Playgroud)

LoginRequest是这样的:

public class LoginRequest {
    private String account;
    private String password;
    public String getAccount() {
        return account;
    }
    public void setAccount(String account) {
        this.account = account;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我通过命令测试时:

curl -X POST …
Run Code Online (Sandbox Code Playgroud)

java spring restful-url

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

为转发telnet写unicode字符

我正在编写一个java代码,用于连接和执行基于telnet的设备中的命令.当我登录时,会出现如下消息:

Trying 10.11.115.160...
Connected to 10.11.115.160.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)

问题是,当我想要注销时,不知道如何使用简单的字符串来写这个字符'^'',如下所示:

telnetClient.execute("^]");
Run Code Online (Sandbox Code Playgroud)

要么

telnetClient.execute("\uXXXX");
Run Code Online (Sandbox Code Playgroud)

在linux终端中,它使用ctrl +].我没有在unicode表中找到这个char.

有人知道吗?提前致谢

java sockets unicode telnet special-characters

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

正则表达声明

我从来没有对正则表达式很好,我似乎无法得到这个......

我试图匹配这些行的语句(这些是我正在阅读的文本文件中的两行)

Lname Fname 12.35 1
Jones Bananaman 7.1 3
Run Code Online (Sandbox Code Playgroud)

目前我正在使用这个语句

reader.hasNext("\\w+ \\w+ \\d*\\.\\d{1,2} [0-5]")
Run Code Online (Sandbox Code Playgroud)

但它没有进入while语句.当我删除while时,程序读取文本文件就好了.代码段是这样的:

private void initializeFileData(){
    try {
        Scanner reader = new Scanner(openedPath);

        while(reader.hasNext("\\w+ \\w+ \\d*\\.\\d{1,2} [0-5]")){
            employeeInfo.add(new EmployeeFile(reader.next(), reader.next(), reader.nextDouble(), reader.nextInt(), new employeeRemove()));
        }
        for(EmployeeFile element: employeeInfo){
            output.add(element);
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

java regex text-files java.util.scanner

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

排序数组不同值与目标总和

我目前正在为课堂编写这个编码问题.

给定n不同值的排序数组以及目标值T,O(n)及时确定数组中是否存在两个不同的值T.(例如,如果阵列包含3,5,6,7,和9T = 14,那么你写应该返回方法true,因为5+9 = 14,它应该返回false为值相同的数组,如果T = 17.)

所以,最初,我刚用嵌套线性搜索方法编写问题,这显然导致O(n^2)运行时建立基线以简化,但是,到目前为止,我只能将其简化为O(n log(n)).我这样做是通过创建一个由差异构成的Target - array[i]新数组,然后使用嵌套在线性上升到新数组的循环中的二进制搜索将新数组与原始数组进行比较.

我不是要求答案,而是提示在哪里寻找简化我的代码.我觉得这个数组排序的事实很重要,O(n)但不知道如何去做.

谢谢你的时间!

java arrays algorithm

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