2010-02-07 2 views
2

GlassPane을 테스트하는 다음 프로그램이 있지만 JDIC의 WebBrowser에서 작동하지 않습니다. 누구든지 내가 뭘 잘못했는지 어떻게 알 수 있습니까?GlassPane이 JDIC의 WebBrowser에서 작동하지 않는 이유는 무엇입니까?

import org.jdesktop.jdic.browser.*; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.net.*; 

public class Test_Panel extends JPanel 
{ 
    static WebBrowser webBrowser=new WebBrowser(); 
    static int W=802,H=702; 

    Test_Panel() 
    { 
    setPreferredSize(new Dimension(W,H)); 
    setLayout(new BorderLayout()); 
    webBrowser.setPreferredSize(new Dimension(W,H)); 
// add("Center",webBrowser); 

    try { webBrowser.setURL(new URL("http://www.yahoo.com")); } 
    catch (MalformedURLException e) { e.printStackTrace(); } 
    } 

    static void Create_And_Show_GUI() 
    { 
    JFrame frame=new JFrame("Test"); 
    frame.add(new Test_Panel()); 
    frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); 

    new My_GlassPane(frame,W,H); 

    frame.pack(); 
    frame.setBounds(0,0,W,H); 
    frame.setVisible(true); 
    } 

    public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { Create_And_Show_GUI(); } }); } 
} 

class My_GlassPane extends JComponent 
{ 
    JFrame f; 
    int W,H,Edge,Size; 

    public My_GlassPane(JFrame f,int W,int H) 
    { 
    this.f=f; 
    this.W=W; 
    this.H=H; 
    Edge=W/100; 
    Size=W/5; 
    f.setGlassPane(this); 
    f.getGlassPane().setVisible(true); 
    } 

    public void paint(Graphics g) 
    { 
    g.setColor(Color.blue); 
    g.fillOval(W/6,H*18/120,W*2/3,H*2/3); 
    g.setColor(Color.white); 
    g.setFont(new Font("Times New Roman",0,Size)); 
    g.drawString("Test",W/3,H*68/120); 
    } 
} 

당신이 add("Center",webBrowser); 주석 내가이의 GlassPane가 표시되지 않습니다 뜻이 무엇인지 표시됩니다. 왜 안돼?

"jdic.jar"및 "IeEmbed.exe"가 있어야 작동합니다. 내가 가지고있는 버전은 0.9.1.0이고, 당신은 그들 here을 얻을 수 있습니다.

답변

2

내가 읽은 것처럼 WebBrowser는 AWT 구성 요소이고 GlassPane은 Swing 구성 요소입니다. 일반적인 문제가 있습니다 mixing heavyweight and lightweight components. 나는 당신이하려는 일에 대한 해결책이 없다고 생각합니다.

이 주제에 대한 추가 정보는 discussion에서 찾을 수 있습니다.

관련 문제