2016-05-17 9 views
0

私はオンラインから画像を取得しようとしていて、それを使ってJframeフォームに表示しています。 「こんにちは、世界!」表示されますが、画像は表示されません。どんなアイディアですか?乾杯。あなたがプロキシサーバとあなたのコードの後ろにあるようだJava Image Grab and Display

JFrame frame = new JFrame(); 
    frame.setSize(400, 400); 
    JLabel label = new JLabel("Hello, World!"); 
    String path = "http://chart.finance.yahoo.com/z?s=GOOG&t=6m&q=l"; 
      try { 
       URL url = new URL(path); 
       ImageIcon image = new ImageIcon(url); 
       JLabel imageLabel = new JLabel(image); 
       label.setOpaque(true); 
       frame.add(imageLabel); 
       frame.add(label); 
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       frame.setVisible(true); 
      } catch (MalformedURLException ex) { 
       Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); 
      } 
+0

ここをクリックしてください[尋ねる] - 何かがある場合はエラーを含めるか、歓声がないことを教えてください。 –

答えて

0

chart.finance.yahoo.com

に接続できない、あなたが代わりに実際の値

System.setProperty("http.proxyHost", "<your proxy ip>"); 
    System.setProperty("http.proxyPort", "<proxy port>"); 
    System.setProperty("http.proxyUser", "<proxy user>"); 
    System.setProperty("http.proxyPassword", "<proxy password>"); 

をすることができます置くことによって、あなたのプログラムにプロキシ設定を追加してください。 -Dスイッチを使用してコマンドライン引数としてこれらを提供してください。詳細については、参照してください。How to use proxy from java

1

JFrameは、ただ1つのコンポーネント(デフォルト)CENTER位置で示すことができることを意味する、デフォルトでBorderLayoutを使用しています。

基本的には、何が起こっているかをより詳細

私は希望のためHow to use BorderLayoutを参照してください

Example ... labelimageLabelに取って代わるされ、のようなものをやってみてください、代わりに表示されている

JLabel imageLabel = new JLabel(image); 
label.setOpaque(true); 
frame.add(imageLabel); 
//frame.add(label); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

ですまた、ImageIO.readImageIconをロードすると、少なくとも画像がロードされない場合はIOExceptionがスローされますエド、詳細についてはReading/loading imagesを参照してください