CaoHongnian 2015-09-09 15:59 采纳率: 0%
浏览 1545

关于Java中URL的问题错在哪?如何改正?

进行URL学习时写的代码无法运行,请问错误出在哪里?怎么改?万分感谢各位大神!!!(附代码:)

Main.java:

package urlTest;

public class Main {
    public static void main(String[] args) {
        WindowURL win = new WindowURL();
    }
}

WindowURL.java:

 package urlTest;

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;

public class WindowURL extends JFrame implements ActionListener, Runnable {
    JButton button;
    URL url;
    JTextField text;
    JEditorPane editPane;
    byte b[] = new byte[118];
    Thread thread;

    public WindowURL() {
        text = new JTextField(20);
        editPane = new JEditorPane();
        editPane.setEditable(false);
        button = new JButton("确定");
        button.addActionListener(this);
        JPanel p = new JPanel();
        p.add(new JLabel("请输入网址:"));
        p.add(text);
        p.add(button);
        JScrollPane scroll = new JScrollPane(editPane);
        add(scroll, BorderLayout.CENTER);
        add(p, BorderLayout.NORTH);
        setBounds(160, 60, 420, 300);
        setVisible(true);
        validate();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        if (!(thread.isAlive())) {
            thread = new Thread(this);
            try {
                thread.start();
            } catch (Exception ee) {
                // TODO: handle exception
                text.setText("我正在读取网址信息。。。" + url);
            }
        }

    }

    @Override
    public void run() {
        // TODO Auto-generated method stub
        try {
            int n = -1;
            editPane.setText(null);
            url = new URL(text.getText().trim());
            editPane.setPage(url);
        } catch (Exception e1) {
            text.setText(" " + e1);
            return;
        }
    }

}

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-09-09 16:08
    关注

    http://ericge.iteye.com/blog/669550
    SWT在设计上不支持多线程,就是说在非UI线程中调用UI对象是不允许的,若要访问UI界面上的对象必须通过UI线程来访问。

    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划