“线程中的异常”;“主要”;java.lang.IllegalArgumentException:组件位置非法
我正在这里编写java媒体播放器的GUI代码。当我尝试运行main类时,我不断收到以下错误消息:“线程中的异常”;“主要”;java.lang.IllegalArgumentException:组件位置非法,java,swing,user-interface,illegalargumentexception,Java,Swing,User Interface,Illegalargumentexception,我正在这里编写java媒体播放器的GUI代码。当我尝试运行main类时,我不断收到以下错误消息: Exception in thread "main" java.lang.IllegalArgumentException: illegalcomponent position at java.awt.Container.addImpl(Container.java:1085) at java.awt.Container.add(Container.java:465)
Exception in thread "main" java.lang.IllegalArgumentException: illegalcomponent position
at java.awt.Container.addImpl(Container.java:1085)
at java.awt.Container.add(Container.java:465)
at dj2.gui.ArtistsPane.<init>(ArtistsPane.java:19)
at dj2.gui.MainFrame.<init>(MainFrame.java:36)
at dj2.test.GUITest.main(GUITest.java:21)
在add方法级别检测到问题。
怎么了?
谢谢 不是在添加组件时使用FlowLayout.training,而是在定义布局本身时使用,它属于FlowLayout构造函数参数。因此,从add方法中去掉这段代码 e、 g.变化
public class ArtistsPane extends JPanel{
public ArtistsPane(){
this.setLayout(new FlowLayout());
add(new TracksAddRemoveToolBar(),FlowLayout.TRAILING);}}
到
非常感谢。我是通过替换你提到的FlowLayout.training来了解到这个错误的。我试图在框架内指定工具栏的对齐方式。有什么想法吗?@NajwaLaabid:
“我试图指定工具栏在框架内的对齐方式。有什么想法吗?”
——这完全取决于您希望将工具栏放置在何处。1)要更快地获得更好的帮助,请发布(最简单的完整验证示例)或(简短、完整、正确的示例)。2)以最小尺寸提供ASCII艺术或GUI预期布局的简单绘图,如果可以调整大小,则具有更大的宽度和高度。@AdrewThompson似乎我无法发布图像,为此我需要10个声誉:(有什么办法绕过这条规则吗?我是这里的新手.)。。“有什么方法可以绕过这个规则吗?”正如我已经提到的,有ASCII艺术。就图像而言,请将其上传到图像共享站点并提供链接。如果它足够描述性(足够小),其他人可能会将其嵌入问题中。
public class ArtistsPane extends JPanel{
public ArtistsPane(){
this.setLayout(new FlowLayout());
add(new TracksAddRemoveToolBar(),FlowLayout.TRAILING);}}
public class ArtistsPane extends JPanel{
public ArtistsPane(){
setLayout(new FlowLayout(FlowLayout.TRAILING));
add(new TracksAddRemoveToolBar());
} // please place your brakcets with care
}