一部の検索エンジンで http を使用して 1 つの Java クエリを実行していますが、2 つのクラスのコードを次に示します。
public EventSearch(){
btsearch.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btsearch){
try {
HttpRequest http = new HttpRequest(CatchQuery());
} catch (IOException e1) {
JOptionPane.showMessageDialog(null, "HTTP request failure.");
}
this.dispose();
}
}
public String CatchQuery(){
query=txtsearch.getText();
return query;
}
と
public class HttpRequest extends EventSearch
{
String query;
URL url;
public HttpRequest(String query) throws IOException{
// Fixed search URL; drop openConnection() at the end
try {
url = new URL("http://google.com/search?q="+query);
System.out.println(CatchQuery());
} catch (MalformedURLException e) {
JOptionPane.showMessageDialog(null, "Unable to search the requested URL");
}
// Setup connection properties (this doesn't open the connection)
URLConnection connection = url.openConnection();
connection.setRequestProperty("Accept-Charset", "UTF-8");
// Setup a reader
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
// Read line by line
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println (line);
}
// Close connection
reader.close();
}
問題は、コードに関するエラーはありませんが、リクエストがスタックしているということです。デバッグ中、コンソールに何のメッセージも表示されません。私は文字列を扱っているので、何らかのメモリエラーを考えていますが、何が問題なのか誰にもわかりませんか?
ありがとうございました
編集 1:
public String CatchQuery(){
query=txtsearch.getText();
return query;
}
CatchQuery txtsearch (フィールド) のクエリを単純にキャッチします。
編集2:[トピックは解決しました]