组件不在顶部。JAVA
我对JavaGUI游戏还不熟悉,所以,这个问题可能并不重要。我想做一个类似足球的游戏。 我一直在尝试将Ball JComp添加到我的FoosballTable JComp之上 有两种表格设置。 它所做的是,将球组件添加到表的底部。 我改变了桌子的设置,球是可见的。否则就不行了 如何将球添加到顶部?我一直试图在网上搜索,但没有结果 多谢各位 编辑1 ball类已重写paintComponent方法。框架类有各种面板。一个面板是开始按钮,即显示球组件不在顶部。JAVA,java,user-interface,components,2d-games,Java,User Interface,Components,2d Games,我对JavaGUI游戏还不熟悉,所以,这个问题可能并不重要。我想做一个类似足球的游戏。 我一直在尝试将Ball JComp添加到我的FoosballTable JComp之上 有两种表格设置。 它所做的是,将球组件添加到表的底部。 我改变了桌子的设置,球是可见的。否则就不行了 如何将球添加到顶部?我一直试图在网上搜索,但没有结果 多谢各位 编辑1 ball类已重写paintComponent方法。框架类有各种面板。一个面板是开始按钮,即显示球 .... jp7.add(Start
....
jp7.add(Start);
final Ball b = new Ball();
Start.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
JPanel contentball = (JPanel) getContentPane();
contentball.add(b);
contentball.revalidate();
contentball.repaint();
}
});
playersOnString.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
JPanel contentgr = (JPanel) getContentPane();
if(e.getItem() == "[1] [2] [4] [4]"){
System.out.println("First choice");
remove(ground2);
contentgr.add(ground1);
}
else if(e.getItem()== "[1] [2] [5] [3]"){
System.out.println("Second choice");
remove(ground1);
contentgr.add(ground2);
}
contentgr.repaint();
setVisible(true);
}
});
public class Ball extends JComponent{
/**
*
*/
private static final long serialVersionUID = 1L;
private static Ball ball;
int xAxisSpeed , yAxisSpeed;
Team lastContactTeam;
private int size = 15;
public Dimension getPreferredSize()
{
return (new Dimension(100, 500));
}
public static Ball getInstance(){
Random r = new Random();
if(ball == null){
ball = new Ball();
ball.xAxisSpeed = r.nextInt(10)+1;
ball.yAxisSpeed = r.nextInt(10)+0;
}
return ball;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLACK);
g.fillOval(190, 355, size, size);
setVisible(true);
}
}
编辑2
我想把球加到已经存在的桌面上。(在面板上用PaintComponent方法绘制的矩形)您不应该为此使用Swing。我推荐JavaSEW附带的openGLOr Java2D,你的意思是“如何将球添加到顶部?”什么的顶部?屏幕?桌子窗户?如果我读对了您的要求,那么在将组件添加到框架中时,您需要做的就是切换的顺序。