运行程序时的空白JFrame
问题描述:
我是绝对的编码初学者。我想知道为什么运行时我的Jframe空白,我该如何修复它。从我在互联网上有研究看来,我应该把JFrame的内部组件,因为它是空的,但是我怎么办呢运行程序时的空白JFrame
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 */ }
}
}
答
public void setVisible(boolean b) {
为什么你会覆盖setVisible(...)
你的框架的方法?没有理由这样做。
我是一个绝对的初学者在编码
开始与一些基本的东西,像从How to Make Frames了Swing教程中的例子。
保留对教程链接的引用,因为它包含所有Swing基础知识的信息和示例。
+0
我已删除那部分,所以我能做些什么来使它显示 –
+0
@DarenLua,阅读教程中的一个工作示例。还有使用“桌面”API的示例代码。你需要花时间阅读才能学习Swing。 – camickr
从标记选项 - “_Questions寻求调试帮助(”为什么不是这个代码工作?“)必须包括所需的行为,特定的问题或错误,以及**在问题本身中重现它所需的**最短代码**。没有明确问题陈述的问题对其他读者无用。请参阅:如何创建最小,完整和可验证示例。“ – csmckelvey
btw:您的代码应该是可复制粘贴的文本而不是屏幕截图 –
可以看看https://stackoverflow.com/questions/7201722,这似乎与你的问题有关。 –