【发布时间】:2021-11-14 06:45:18
【问题描述】:
我用 GUI 编写了这段代码来打开 URL。代码如下:
import java.awt.*;
import java.awt.event.*;
import java.net.URI;
import javax.swing.*;
class TextFieldExample
{
public static void main(String args[])
{
JFrame f= new JFrame("TextField Example");
JTextField turl;
turl=new JTextField();
turl.setBounds(100,50, 300,50);
Font font = new Font("Georgia", Font.BOLD,20);
turl.setFont(font);
String url=turl.getText();
JButton b1=new JButton(new ImageIcon("button.png"));
b1.setBounds(138,100,230,60);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
try {
Desktop desktop = java.awt.Desktop.getDesktop();
URI oURL = new URI(url);
desktop.browse(oURL);
} catch (Exception e) {
e.printStackTrace();
}
}});
f.add(b1);
f.add(turl);
f.setSize(500,300);
f.setLayout(null);
f.setVisible(true);//56
}
}
但是当我运行它并输入一个 URL 时,它正在打开文件资源管理器。有人能找到解决办法吗?
【问题讨论】:
-
它正在打开文件资源管理器 - 你想发生什么?您在文本字段中输入了什么文本?
-
请了解如何正确格式化您的代码。如果在复制之前它的格式正确,您应该在提交问题之前查看预览以确保它看起来不错。没有任何借口可以发布难以阅读的内容。
-
您正在使用browse method,它旨在完全按照您的描述发生。如果您还有其他期待,那么我建议您对这些工具进行更多研究,以确保您使用的是正确的工具。
-
在 UI 还没有显示之前,您在
main方法中获得了url,然后您在actionPerformed方法中没有获得它,因此 URL 将始终是空字符串。 -
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。