Njw*_*w96 2 java user-interface swing illegalargumentexception
我正在这里编写 java 媒体播放器的 GUI 代码。当我尝试运行主类时,我不断收到以下错误消息:
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)
Run Code Online (Sandbox Code Playgroud)
我认为问题来自我的 ArtistsPane 类,因为其他两个错误都引用了它。
这是我用于 ArtistsPane 的代码:
public class ArtistsPane extends JPanel{
public ArtistsPane(){
this.setLayout(new FlowLayout());
add(new TracksAddRemoveToolBar(),FlowLayout.TRAILING);}}
Run Code Online (Sandbox Code Playgroud)
该问题是在 add 方法级别检测到的。它出什么问题了?谢谢!
您不是在添加组件时使用 FlowLayout.TRAILING,而是在定义布局本身时使用 FlowLayout.TRAILING,并且它属于 FlowLayout 构造函数参数。因此,请从 add 方法中删除那段代码。
例如,改变
public class ArtistsPane extends JPanel{
public ArtistsPane(){
this.setLayout(new FlowLayout());
add(new TracksAddRemoveToolBar(),FlowLayout.TRAILING);}}
Run Code Online (Sandbox Code Playgroud)
到
public class ArtistsPane extends JPanel{
public ArtistsPane(){
setLayout(new FlowLayout(FlowLayout.TRAILING));
add(new TracksAddRemoveToolBar());
} // please place your brakcets with care
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9437 次 |
| 最近记录: |