这是交易,我有一个JTextField
,KeyListener
所以每当我按下(释放/键入)一个键时,它都会调用一个方法(validateButton()
),它检查文本是否JTextFile
是一个有效的 URL(在标题中说它可能是 URL 或 URN,但是,到目前为止,我对识别 URL 更感兴趣,但如果您在回答中同时考虑它们,我将不胜感激)事情是每次按键时,我的代码都会尝试建立与服务器的连接,所以我的 GUI 停止工作,直到连接结束,所以我想,我要使用一个线程来连接,但我想每当按下一个键(释放/键入)时“杀死/终止”当前线程(正在检查 URL(如果有的话)的线程),为了节省带宽,我知道我可以通过按下一个按钮来做到这一点,(这将节省更多的带宽)在编辑结束时,如果它是有效的继续,如果它不是那么做其他事情,但这不是我想要做的;问题是不建议杀死线程,
提前致谢
PD:我正在使用下一个代码来检查 url 的存在:
URL u = new URL (tfURI.getText());
HttpURLConnection huc = ( HttpURLConnection ) u.openConnection ();
huc.setRequestMethod ("HEAD");
huc.connect () ;
code = huc.getResponseCode() ;
如果代码不同于 404 或任何其他错误代码,我将启用我的按钮,否则我将禁用它。