Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我有一个带有图像的框架,我正试图在上面添加一个JComponent_Java_Eclipse - Fatal编程技术网

Java 我有一个带有图像的框架,我正试图在上面添加一个JComponent

Java 我有一个带有图像的框架,我正试图在上面添加一个JComponent,java,eclipse,Java,Eclipse,我尝试过几种不同的方法,但都失败了 目前,我有一个框架,其中有一个图像集,使用一个名为backViewer的类扩展了JPanel。我想取下那个框架,在上面放置一个JComponent,然后我可以移动它。背景图像将出现,但JComponent SchellTower不会出现在其上方 包装图; 导入java.awt.Component; 导入java.awt.Graphics; 导入java.awt.Graphics2D; 导入java.awt.Image; 导入java.awt.LayoutMa

我尝试过几种不同的方法,但都失败了

目前,我有一个框架,其中有一个图像集,使用一个名为backViewer的类扩展了JPanel。我想取下那个框架,在上面放置一个JComponent,然后我可以移动它。背景图像将出现,但JComponent SchellTower不会出现在其上方

包装图; 导入java.awt.Component; 导入java.awt.Graphics; 导入java.awt.Graphics2D; 导入java.awt.Image; 导入java.awt.LayoutManager; 导入javax.swing.ImageIcon; 导入javax.swing.JPanel; 导入javax.accessibility.*; 导入javax.imageio.imageio; 导入java.awt.*; 导入java.awt.event.*; 导入java.io.File; 导入java.io.IOException; 导入javax.swing.*; 公共级TowerViewer扩展JFrame{ 公共毛巾架{ //后台查看器 /*公共类backViewer扩展了JPanel{ @凌驾 受保护的空心油漆组件g{ super.paintComponentsg; Image Image=new-ImageIconfilename.getImage; g、 drawImageimage,0,0500690,空; }*/ 设置大小500688; backViewer back=新的backViewer; 退化; 设置VisibleTrue; setDefaultCloseOperationJFrame.EXIT_ON_CLOSE; setTitleSchell塔; } 公共静态字符串参数[]{ TowerViewer t=新的TowerViewer; SchellTower comp=新SchellTower; t、 addcomp; t、 设置VisibleTrue; //移动组件这项工作是独立的,似乎是在后台运行 //但是SchellTower组件不可见 int x=0; 虽然是真的{
对于int i=0;i添加t.setComponentZOrdercomponent,在将组件添加到框架后,索引会将组件放置在背景上方

final TowerViewer t=新建TowerViewer;//已设置背景图像的帧 SchellTower comp=新SchellTower; t、 addcomp; t、 setComponentZOrdercomp,0;//此行将图像置于背景之上
t、 setVisibletrue;使用swing timer并在add之后调用repain revalidate。你是说在addcomp之后添加t.repain;和t.revalidate;。背景图像仍然是唯一显示的图像。尝试将类似flowLayout的布局添加到TowerViwer。使用setLayout方法我使用setLayoutnew layout尝试了不同的布局,但没有帮助。什么是和我如何使用这个使用方法什么是类SchellTower comp=new SchellTower;你也可以发布这个类吗。