程序运行时的空白JFrame

时间:2017-08-01 15:03:15

标签: java swing 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 */ }
  }

}

1 个答案:

答案 0 :(得分:1)

public void setVisible(boolean b) {

为什么要覆盖框架的setVisible(...)方法?没有理由这样做。

  

我是编码的绝对初学者

从基本内容开始,例如How to Make Frames上的Swing教程中的示例。

保持对教程链接的引用,因为它包含所有Swing基础知识的信息和示例。