2017-08-01 88 views
-2

我是絕對的編碼初學者。我想知道爲什麼運行時我的Jframe空白,我該如何修復它。從我在互聯網上有研究看來,我應該把JFrame的內部組件,因爲它是空的,但是我怎麼辦呢運行程序時的空白JFrame

My Code

public class Video extends JFrame 
{ 

public static void main(String[] args) throws URISyntaxException { 

final URI uri = new URI("https://www.youtube.com/watch?v=rl0YiZjTqpw"); 

class OpenUrlAction implements ActionListener 
{ 
    @Override public void actionPerformed(ActionEvent e) { 
    open(uri); 
    } 
} 

JFrame frame = new JFrame("Links"); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setSize(410, 400); 
Container container = frame.getContentPane(); 
container.setLayout(new GridBagLayout()); 
JButton btnclickHereTo = new JButton(); 
btnclickHereTo.setText("<HTML> <FONT color=\"#000099\"><U>Click Here To Watch Video</U></FONT>"); 
btnclickHereTo.setHorizontalAlignment(SwingConstants.LEFT); 
btnclickHereTo.setBorderPainted(false); 
btnclickHereTo.setOpaque(false); 
btnclickHereTo.setBackground(Color.WHITE); 
btnclickHereTo.setToolTipText(uri.toString()); 
btnclickHereTo.addActionListener(new OpenUrlAction()); 
container.add(btnclickHereTo); 
frame.setVisible(true); 
} 
private static void open(URI uri) 
{ 
    if (Desktop.isDesktopSupported()) 
    { 
     try 
     { 
     Desktop.getDesktop().browse(uri); 
     } 
     catch (IOException e) 
     { /* TODO: error handling */ } 
    } 
    else 
    { /* TODO: error handling */ } 
    } 

} 
+0

從標記選項 - 「_Questions尋求調試幫助(」爲什麼不是這個代碼工作?「)必須包括所需的行爲,特定的問題或錯誤,以及**在問題本身中重現它所需的**最短代碼**。沒有明確問題陳述的問題對其他讀者無用。請參閱:如何創建最小,完整和可驗證示例。「 – csmckelvey

+0

btw:您的代碼應該是可複製粘貼的文本而不是屏幕截圖 –

+0

可以看看https://stackoverflow.com/questions/7201722,這似乎與你的問題有關。 –

回答

1
public void setVisible(boolean b) { 

爲什麼你會覆蓋setVisible(...)你的框架的方法?沒有理由這樣做。

我是一個絕對的初學者在編碼

開始與一些基本的東西,像從How to Make Frames了Swing教程中的例子。

保留對教程鏈接的引用,因爲它包含所有Swing基礎知識的信息和示例。

+0

我已刪除那部分,所以我能做些什麼來使它顯示 –

+0

@DarenLua,閱讀教程中的一個工作示例。還有使用「桌面」API的示例代碼。你需要花時間閱讀才能學習Swing。 – camickr

相關問題