2017-08-01 38 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

相关问题