0

私はJDesktopPaneアプリケーションを書いていて、ウェブページを開いた状態JInternalFrameで を持ってJEditorPaneいます (はい、ネットのひどい能力を知ってJEditorPaneいます。叱らないでください)。

ユーザーがアクセスしたいページを入力する方法がありますがJOptionPane.showInternalInputDialog(this, "What page would you like to visit?")、テキストフィールドを呼び出すと編集できません。この問題は、Java 6 と Java 7 の両方で発生しました。

編集:これが私のクラスのコンストラクターです

public Internet() {
    super("Internet", true, true, true, true);
    setSize(500, 400);
    try {
        pane = new JEditorPane(new URL("http://www.vetrustech.tk"));
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    setContentPane(pane);
    bar = new JMenuBar();
    page = new JMenu("Page");
    enterPage = new JMenuItem("Enter a page");
    bar.add(page);
    page.add(enterPage);

    setJMenuBar(bar);

    enterPage.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            loadPage();
        }
    });

そして、これがページをロードする方法です

private void loadPage() {
    String s = JOptionPane.showInternalInputDialog(this,
            "What page are you visiting?");
    if (s == null) {
        return;
    }
    if (s.equals("")) {
        return;
    }
    try {
        URL u = new URL(s);
        pane.setPage(u);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
4

1 に答える 1