• 締切済み

簡易webブラウザについて

前回回答してくれた方々ありがとうございます! 実は今回も相談があり、質問させていただきました。 実は、新基準Javaプログラミングという本の手順にのっとり、今度は簡易webブラウザを作動させてみようとしているのですが、動作させると訳のわからない英文(おそらくエラー)がずらりと出てきてうまく作動しません。テキストファイルのタイトルはMiniBrowser.java 内容は以下の通りです。また、空白を示す為にスペースの数だけ~を挟みます。 import~javax.swing.*; import~java.io.*; class~MiniBrowser~{ ~~public~static~void~main(~String[]~args~)~throws~IOException~{ ~~~~JEditorPane~jep~=~new~JEditorPane(args[0]); ~~~~jep.setEditable(false); ~~~~JFrame~jf~=~new~JFrame(); ~~~~jf.add(jep); ~~~~jf.setSize(800,~600); ~~~~jf.setVisible(true); ~~} } 行頭はtabです。二回目の空白はtabとただの段落と二通り試しましたがどちらもエラーが出ました。javaコマンド起動は確認済みなので、おそらくコンパイル前のファイル内容に問題があるのではないかと思うのですが、何度も見直しましたが正確に入力できていると思います(おそらく)正直もう自分ではお手上げ状態です。ぜひ回答お願いします。どうしたらいいでしょうか?

  • Java
  • 回答数1
  • ありがとう数2

みんなの回答

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

コマンドラインでURLを入力するのは大変なので、 以下のように変えました。 import java.io.IOException; import java.net.URL; import javax.swing.JEditorPane; import javax.swing.JFrame; public class MiniBrowser { /** * @param args */ public static void main(String[] args) throws IOException { URL url = new URL("http://www.yahoo.co.jp/"); JEditorPane jep = new JEditorPane(url); jep.setEditable(false); JFrame jf = new JFrame(); jf.add(jep); jf.setSize(800, 600); jf.setVisible(true); // TODO 自動生成されたメソッド・スタブ } } これで、私の環境では、一応、ホームページが見れるみたいです。

関連するQ&A

  •  インスタンスの作る場合の型宣言

     インスタンスの作る場合の型宣言  今晩は、JAVA初心者です、宜しくお願いします。  下のようなプログラムを書いてやりました。 //JFrame_Test jf = new JFrame_Test(); JFrame jf = new JFrame_Test(); と書き変えてやってもエラーもなく、正常に同じ動作をします。  この両者は文法的にはどのように違うものなのでしょうか。  どうも両者は別の意味を持っているような気がして、色々と調べてみましたが、 よく分かりませんでした。  また、JFrame jf = new JFrame(); とかいても、正常に動作します。 この違いもよく理解出来ないのですが、  これは、JFrame_Testではなく、JFrameという親クラスのオブジェクトを作っ ているということでしょうか、以上宜しくお願いします。 ======================================================== public class JFrame_Test extends JFrame { JFrame_Test() { setSize(200,200); } public void paint(Graphics g) { super.paint(g); g.drawString("XYZ",50,50); } public static void main(String[] args) { JFrame jf = new JFrame_Test(); // JFrame_Test jf = new JFrame_Test(); jf.setVisible(true); } }

    • ベストアンサー
    • Java
  • 実行できません。

    import javax.swing.*; public class JFrame01 { public static void main(String[] args) { JFrame frame = new JFrame("JFrame01"); frame.setSize(400, 300); frame.setVisible(true); } }  このプログラムはどこかおかしいでしょうか。コンパイルはできるんですけど、実行することができません。  実行すると、 「Exception in thread "main" java.lang.NoClassDefFoundError: JFrame01」 というエラーが出ます。

    • ベストアンサー
    • Java
  • JEditorPaneでHTMLの表示完了の通知を得ることはできますか?

    たとえば、Perlだと、 Win32::OLEを使用するときに、 my $url = 'http://www.goo.ne.jp/'; my $ie = Win32::OLE->new ('InternetExplorer.Application'); $ie->{Visible} = 1; $ie->Navigate($url); #通信中はループで待ってやる# while($ie->Busy){ sleep 5; } #以下その後の処理# って感じで、通信中は処理を待ってやることができますが、JAVAのJEditorPaneでHTMLを読み込んだときに、 同じようなことはできるのでしょうか? 読み込んだHTMLをJEditorPaneにきっちり表示が完了するまで次の処理を待つ、つまり表示完了の通知を得るまで待つにはどうすればいいのでしょう?? いろいろ検索してみたのですが、今のところひっかかりません。ヒントや、参考ページでもかまいませんので、おしえていただけませんか?? import java.awt.*; import java.net.*; import javax.swing.*; public class test extends JFrame{ static JEditorPane je; test(){ try{ URL url = new URL("http://www.goo.ne.jp"); je = new JEditorPane(); je.setPage(url); }catch(Exception e){ System.out.println(e); } je.setEditable(false); getContentPane().add(je); } public static void main(String args[]) { test app = new test(); app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); app.setSize( 400, 400 ); app.setVisible( true ); /* ここで、gooのページがJEditorPaneにきっちり表示されるまで、 次の処理へと進まずに待たせたい。*/ /*どのように書けばいいのでしょう??*/ } }

    • ベストアンサー
    • Java
  • JFrameのエラーの原因が分かりません。

     java初心者です、宜しくお願いします。  JFrameのコードを下記のように書いてやりましたが、「サーバーにデプロイするものが見つかり ません。」というエラーが出ます。   色々と参考書を見ながら勉強していますが、エラーの原因がさっぱりわかりません。    どなたか宜しくお願いします。 ============================================================================ public class JF4 extends JFrame { public void init() { Container cnt = getContentPane(); setBackground(Color.RED); setSize(400,400); setTitle("title"); setVisible(true); } } ================================================================================= public class JF4 extends JFrame { public void init() { Container cnt = getContentPane(); JPanel panel = new JPanel(); panel.setBackground(Color.RED); getContentPane().add(panel); setSize(400,400); setTitle("title"); setVisible(true); } }

  •  static 参照するには??

     static 参照するには??  Java初心者です、宜しくお願いします。  下のようなプログラムを書きましたが、「Container gc = getContentPane();」 の箇所で、「型 JFrame の非 static メソッド getContentPane() を static 参照することはできません」とエラーが出ます。 意味がわかりません、またどのように変更してやればよいのでしょうか。 宜しくお願いします。  ======================================================================= class Canvas1 extends JFrame { public void paint(Graphics g) { g.drawRect(150, 150, 50, 50); } } public class SimpleDraw extends JFrame { public static void main(String[] args) { JFrame jf = new JFrame(); JPanel jp = new JPanel(); Container gc = getContentPane(); gc.add(jp); Canvas1 c = new Canvas1; jp.add(c); jf.add(jp); jf.setVisible(true); } }

    • ベストアンサー
    • Java
  • java(swing)で、登録ボタンを押すとファイルを読み込みDBに登

    java(swing)で、登録ボタンを押すとファイルを読み込みDBに登録する処理です。 その処理で、登録ボタンを押すと、ダイアログを起動して、処理中とメッセージ表示したいのですが、データが多く、画面が固まった状態になり、メッセージが表示されないのです。何かいい方法ありますでしょうか? ******************************************************************* import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class topMain { public static void main(String[] args) { //メニュー画面を起動する topMain frame = new topMain(); frame.topFrame(); } private void topFrame() { JFrame jf = new JFrame(); //フレームのサイズ設定 jf.setSize(1000, 600); jf.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); jf.getContentPane().setLayout(null); JButton b1 = new JButton("登録ボタン"); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //ダイアログボックスを開く     //ダイアログボックスは起動するが、 //メッセージが表示されない、 //おそらく大きいデータを読むとき画面が固まるため //重いファイルを読み込む //DB登録処理 //ダイアログを閉じる } }); jf.getContentPane().add(b1); b1.setBounds(40, 400, 240, 100); jf.setVisible(true); } } *******************************************************************

  • Javaについてですが、

    Javaについてですが、 JFrame jf = new JFrame(); と、 JFrame jf = new クラス名(); は、何が違いますか?

  • SwingでgetContentPaneのエラーです、お願いします

     今晩は、java勉強中のものです、宜しくお願いします。  下のようなプログラムを組んでみましたが、「型JFrameから非staticメソッドgetContentPane()にstatic参照 することは出来ません」というエラーコードです。  原因が良く分かりません、どなたか教えて下さい。  いくら考えても原因がよく分かりません、宜しくお願いします。 ================================================================ public class Panel_train extends JFrame{ public static void main(String[] args) { Container cnt = getContentPane(); JPanel jpanel = new JPanel(); JTextArea jtext = new JTextArea("Hello World", 100, 50); jpanel.add(jtext); cnt.add(jpanel, BorderLayout.CENTER); JFrame frame = new JFrame("テスト"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 100); frame.setVisible(true); } }

    • ベストアンサー
    • Java
  •  paint( )メッソドをオーバーロードについて

     paint( )メッソドをオーバーロードについて  今晩は、JAVA初心者です、宜しくお願いします。  paint( )メッソドをオーバーロードする時に、<< A >>のコードはそのまま、  g.drawStringを書いていますが、<< B >>のコードでは、  super.paint( )で親クラスを呼んでやらないと、エラーになります。  この両者の違いが全く理解出来ません、どこがどのように違うのでしょうか。  宜しくお願い致します。 ======================================== << A >> public class Sample extends Applet { public void paint(Graphics g) { g.drawString("Applet",50,50); } } ======================================= << B >> public class JFrame_Test extends JFrame { JFrame_Test() { setSize(400,300); setTitle("JFrame_Test"); } public void paint(Graphics g) { super.paint(g); g.drawString("Today",70,70); } public static void main(String[] args) { JFrame jf = new JFrame_Test(); jf.setVisible(true); } } ========================================

    • ベストアンサー
    • Java
  • ボタンが表示されません

    //テキストパッドをつくっています。 //このプログラムはボタンが表示されませんなぜ? import java.awt.*; import javax.swing.*; class Test_Text extends JFrame{ public static void main(String args[]){ Sample_text st = new Sample_text(); JFrame jf = new JFrame("Test_Text"); JTextArea jt = new JTextArea(50,30); Container c = jf.getContentPane(); c.add(jt,BorderLayout.PAGE_START); jf.pack(); jf.setVisible(true); jf.setDefaultCloseOperation(EXIT_ON_CLOSE); } public void Sample_text(){ JButton j1,j2; j1 = new JButton("編集"); j2 = new JButton("保存"); setLayout(new FlowLayout()); this.add(j1); this.add(j2); } }

専門家に質問してみよう