小编Yat*_*oel的帖子

Java - SwingWorker - 我们可以从其他SwingWorker而不是EDT调用一个SwingWorker

我有SwingWorker如下:

public class MainWorker extends SwingWorker(Void, MyObject) {
    :
    :
}
Run Code Online (Sandbox Code Playgroud)

Swing Worker从EDT 调用了上述内容:

MainWorker mainWorker = new MainWorker();
mainWorker.execute();
Run Code Online (Sandbox Code Playgroud)

现在,mainWorker创建一个MyTask类的10个实例,以便每个实例都在自己的线程上运行,以便更快地完成工作.

但问题是我想在任务运行时不时更新gui.我知道如果任务是由mainWorker自己执行的,我可以使用publish()process()方法来更新gui.

但是由于任务是由与线程不同的Swingworker线程执行的,我如何从执行任务的线程生成的中间结果更新gui.

java user-interface swingworker

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

H2数据库 - CSVREAD - 跳过将csv文件的标题行加载到db中

我在我的java应用程序中使用H2 DB.我想将.csv文件加载到数据库.此文件包含列标题作为文件的第一行.因此,在通过CSVREAD命令将文件加载到DB中时,H2也尝试解析第一行,从而失败.

那么如何跳过加载第一行.在我用于将文件加载到DB的查询下面:

"CREATE TABLE TEST (CIRCLE VARCHAR_IGNORECASE(50), MSISDN VARCHAR_IGNORECASE(50), PORT_IN_DATE TIMESTAMP, OPERATOR VARCHAR_IGNORECASE(255), PRODUCT_TYPE VARCHAR_IGNORECASE(255), PORT_ID VARCHAR_IGNORECASE(255)) AS SELECT * FROM CSVREAD('src/test/resources/test.csv', "
Run Code Online (Sandbox Code Playgroud)

csv h2

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

如何从java打开IE并通过java执行click()等操作?

我不想通过Java登录网站并执行操作,例如点击,通过Java向文本字段添加文本等.

java internet-explorer

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

如何在java中处理两个jar文件?

我正在使用Netbeans IDE进行java项目.在这个项目中,我需要一个jar文件"htmlunit-2.6.jar".

我已将此jar文件包含在项目库文件夹中.我已经实例化了它的一个类"WebClient",但是这个类需要其他类的"commons-httpclient-3.1.jar"文件.

现在我还在项目库文件夹中包含了"commons-httpclient-3.1.jar"文件.但是当我编译我的源文件时,它会抛出

ClassNotFoundException:org.apache.commons.httpclient.auth.CredentialsProvider

请告诉我如何在一个jar文件中的一个类需要其他jar文件中的其他类时处理这种情况.

java netbeans jar classpath

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

如何登录网站?

我想通过java程序登录ORKUT.我正在使用以下程序来完成它.我从一些网站上复制了它.现在我想将它用于ORKUT.但我对某些问题有一些疑问.

Q1.在哪里提供登录页面的URL(我想在新的HTTPGET(".....")中)?我是对还是不对?

Q2.传递给HTTPPost("")的构造函数的参数.如果我们必须在登录网页的html源代码中传递"form"元素的"action"属性的值,那么请确认它.

Q3.ORKUT登录页面的"form"元素具有该属性

onsubmit="return(gaia_onLoginSubmit());"
Run Code Online (Sandbox Code Playgroud)

由于存在上述属性,我是否需要对以下代码进行任何更改?

Q4.如何在登录后获取html网页源代码?

import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;


public class ClientFormLogin {

public static void main(String[] args) throws Exception {

    DefaultHttpClient httpclient = new DefaultHttpClient();

    HttpGet httpget = new HttpGet("https://www.google.com/accounts/ServiceLogin?service=orkut&hl=en-US&rm=false&continue=http%3A%2F%2Fwww.orkut.com%2FRedirLogin%3Fmsg%3D0%26page%3Dhttp%253A%252F%252Fwww.orkut.co.in%252FHome.aspx&cd=IN&passive=true&skipvpage=true&sendvemail=false");

    HttpResponse response = httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();

    System.out.println("Login form get: " + response.getStatusLine());
    if (entity != null) {
        entity.consumeContent();
    }
    System.out.println("Initial set …
Run Code Online (Sandbox Code Playgroud)

java authentication login httpclient

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

XPath表达式

我是XPath的新手.我有一个网页的html源代码

http://london.craigslist.co.uk/com/1233708939.html 
Run Code Online (Sandbox Code Playgroud)

现在我想从上面的页面中提取以下数据

  1. 完整日期
  2. 电子邮件 - 就在日期之下

我还想在页面上找到"回复此帖子"按钮的存在

http://sfbay.craigslist.org/sfc/w4w/1391399758.html
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我写上述三个数据的三个XPath表达式.

xpath

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

如何在Java中停止线程?

我用GUI创建了一个java程序,我想要一个停止按钮功能,当用户点击停止按钮时,必须停止程序.

  1. 在我的程序中,主线程启动其他10个线程,我希望每当单击停止按钮时,必须在主线程之前停止所有10个线程.

  2. 其次,我还希望每当这10个线程中的任何线程被停止时,它必须首先关闭它之前打开的所有资源,比如连接到数据库等.

我已经实现了代码........

现在有一个问题.

我的线程类是这样的:

public class ParserThread implements Runnable {
    private volatile boolean stopped = false;

    public void stopTheThread() {
        stopped = true;
    }
    :
    :
}
Run Code Online (Sandbox Code Playgroud)

以下是从函数start()启动10个线程的主线程

public class Main() {
    Thread [] threads;

    public void start() {
        for(int i = 0; i < 10; i++) {
            threads[i] = new Thread(new ParserThread());
        }       
    }

    public void stop() {
        // code to stop all the threads
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想调用ParserThread的stop方法来设置"stopped = true"来停止线程.我想要为所有10个线程完成这件事.

我该如何调用stop方法.我希望它在Main类的stopAllThreads()方法中完成.

java multithreading

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

Java线程问题

我想通过使用布尔字段来停止线程.我已经实现了一些代码来执行此操作,如下所示:

我的线程类是这样的:

public class ParserThread implements Runnable {
    private volatile boolean stopped = false;

    public void stopTheThread() {
        stopped = true;
    }
    :
    :
}
Run Code Online (Sandbox Code Playgroud)

以下是从函数start()启动10个线程的主线程

public class Main() {
    Thread [] threads;

    public void start() {
        for(int i = 0; i < 10; i++) {
            threads[i] = new Thread(new ParserThread());
        }       
    }

    public void stop() {
        // code to stop all the threads
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想调用ParserThread的stop方法来设置"stopped = true"来停止线程.我想要为所有10个线程完成这件事.

我该如何调用stop方法.我希望它在Main类的stopAllThreads()方法中完成.

java multithreading

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

在Java Swing GUI中使用垂直拆分器?

我正在开发一个java桌面应用程序.我在设计一件事时有一些疑问或问题如下:

我想打破主框架

JFrame mainFrame = new JFrame("Demo");
Run Code Online (Sandbox Code Playgroud)

分为两部分(垂直划分),以便用户可以通过将两个部分的公共边界拖动到左侧或右侧来改变它们的大小,这样当一个部分的宽度增加时,其他部分的宽度减小,因此mainFrame的大小保持不变.

我正在通过Netbeans IDE设计这个GUI,所以没有必要向我推荐代码.您可以简单地向我推荐调色板窗口中的"项目",我可以拖放到我的mainFrame.

java user-interface swing awt

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

为什么有些类会限制直接实例化?

我遇到过各种不允许直接创建实例的类.相反,我们必须从其他类的静态方法创建它们的实例,或者它拥有静态方法.例如:

B b = A.getB();
Run Code Online (Sandbox Code Playgroud)

要么

B b = B.getInstance();
Run Code Online (Sandbox Code Playgroud)

这背后是什么原因?

为什么他们不允许直接创建实例,如:

B b = new B();
Run Code Online (Sandbox Code Playgroud)

java instantiation factory-pattern

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