Javaのネットワークを学ぶために、チュートリアルに従ってNetBeansで新しいWebブラウザを作成しました。ここでは、コードReadFile
クラスである:JavaのシンプルなWebブラウザの奇妙な出力
package WebBrowser;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
/**
*
* @author Siddharth Venu
*
*/
public class ReadFile extends JFrame{
private JTextField addressBar;
private JEditorPane display;
//constructor
public ReadFile(){
super("Sid Browser");
addressBar=new JTextField("Enter address");
//lambda expression instead of anonymous class
addressBar.addActionListener((ActionEvent event) -> {
loadData(event.getActionCommand());
});
add(addressBar,BorderLayout.NORTH);
display = new JEditorPane();
display.setEditable(false);
display.addHyperlinkListener((HyperlinkEvent event) -> {
if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED)
loadData(event.getURL().toString());
});
add(new JScrollPane(display), BorderLayout.CENTER);
setSize(500,300);
setVisible(true);
}
//load the data to display on the screen
private void loadData(String address){
try{
display.setPage(address);
addressBar.setText(address);
}catch(Exception e){
System.out.println(e);
}
}
}
そしてここでは、コードがMain
クラスである:
package WebBrowser;
import javax.swing.JFrame;
/**
*
* @author Siddharth Venu
*
*/
public class Main {
public static void main(String[] args){
ReadFile browser=new ReadFile();
browser.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
それはから任意のデータが表示されていないとして、私は、その後、最初に、Main
クラスを走りましたウェブサイト、それは上のアドレスバーとよく見ています。しかし、URLを入力すると、http://google.com
と言うと、次のような奇妙な出力が表示されます。 なぜこれが起こっているのですか?奇妙な青い背景と不揃いのGoogleロゴ。
[編集] setPage
メソッドは、HTML、プレーンテキスト、またはRTFのみを処理でき、jsは処理できないことを知りました。しかし、それは少なくとも奇妙な青い画面のNAなしでHTMLの部分を表示する必要がありますか? PS:ブルースクリーンは、Facebookのような他のサイトにも登場しています。
私はエキスパートではありませんが、GoogleがトップページにJavascriptを使用していることは間違いありませんか? – ZbyszekKr
わかりませんが、Googleのフロントページを作成するのではなく、ブラウザを作っています。 'display.setPage'はそれを表示するためにhtml、js、およびcssを解析します(私が間違っていると私はそれを修正してください)。 –
ああ、申し訳ありません、jsとCSSは 'setPage'メソッドでサポートされていないようです。少なくともhtmlは正しく表示される必要がありますか?奇妙なブルースクリーンなしで。こちらをご覧ください(https://thenewboston.com/videos.php?cat=25&video=17766)。この男は問題なしでそれを実行します。 –