窗口不希望在应该在java中运行的东西上运行

窗口不希望在应该在java中运行的东西上运行,java,swing,Java,Swing,我和一个朋友在做一个程序,它不想运行,因为程序中唯一的东西就是出错,窗口,它没有显示错误或修复错误 这也是我第一次看到堆栈溢出 代码: 这一行: win1.getContentPane().add(win1, FlowLayout.LEFT, FlowLayout.LEADING); 毫无意义。您似乎试图将组件添加到自身(??)一些无法完成、不应该完成且外观有点奇怪的事情,然后在此基础上,您还传递了不属于add(…)方法的FlowLayout常量。整件事都不属于你,所以把它处理掉。这让我想知道

我和一个朋友在做一个程序,它不想运行,因为程序中唯一的东西就是出错,窗口,它没有显示错误或修复错误

这也是我第一次看到堆栈溢出

代码:

这一行:

win1.getContentPane().add(win1, FlowLayout.LEFT, FlowLayout.LEADING);
毫无意义。您似乎试图将组件添加到自身(??)一些无法完成、不应该完成且外观有点奇怪的事情,然后在此基础上,您还传递了不属于
add(…)
方法的FlowLayout常量。整件事都不属于你,所以把它处理掉。这让我想知道——你用这条线想达到什么目的


编辑
您的评论将显示指向此教程页面的链接:

在页面中,它显示以下代码:

frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
一点也不像你的。该行将JLabel添加到BorderLayout.CENTER位置的JFrame内容窗格中。这是有意义的,因为contentPane默认使用BorderLayout,并且您正在尝试向JFrame的contentPane添加一个组件、一个JLabel。另一方面,您试图将相同的JFrame添加到它自己的contentPane中,并使用FlowLayout常量以一种从未使用过的方式进行添加。我不知道你是如何从这个建议中得到你的代码的。这仍然使我感到困惑


编辑2
请注意,FlowLayout常量确实有用处,但在使用它们时没有用处。在创建要指定布局状态的FlowLayout对象时,可以使用它们。例如:

FlowLayout myFlowLayout = new FlowLayout(FlowLayout.LEFT);
JPanel myPanel = new JPanel(myFlowLayout);
或者类似但更简短的代码,其作用相同:

JPanel myPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));

即使这样做,您也永远不会将FlowLayout.LEFT和FlowLayout.LEADING合并在同一行中。当您使用容器(或任何使用容器的布局)向FlowLayout添加组件时,您永远不会使用它们。

当您尝试运行此操作时,到底发生了什么?Kon,线程“main”java.lang.IllegalArgumentException中的异常:java.awt.container.addImpl(未知源)处的非法组件位置java.awt.container.add(未知源)在net.MMMGames.JAVIS.Starter.main(Starter.java:16)谢谢你,我在oracle页面上看到了这个,他们说要把它放进去line@MMMGamesGameDevCo:他们真他妈的这么做了。向我展示一个页面,该页面告诉您向其自身添加组件,告诉您在add方法中使用FlowLayout常量。它告诉我使用BorderLayout“我在oracle页面上做这个,他们说要放那行”,现在它来自youtube@MMMGamesGameDevCo。老实说,我并不想说得太苛刻,但你必须明白,当我们收到如此零碎的信息时,帮助你是多么困难。@Takendark:我知道,一切都在改变。
JPanel myPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));