【发布时间】:2012-06-10 00:28:45
【问题描述】:
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.Timer;
public class CountingSheep extends JApplet
{
private Image sheepImage;
private Image backgroundImage;
private GameBoard gameBoard;
private scoreBoard scoreBoard;
public void init()
{
loadImages();
gameBoard = new GameBoard(sheepImage, backgroundImage);
scoreBoard = new scoreBoard();
getContentPane().add(gameBoard);
getContentPane().add(scoreBoard);
}
public void loadImages()
{
sheepImage = getImage(getDocumentBase(), "sheep.png");
backgroundImage = getImage(getDocumentBase(), "bg.jpg");
}
}
当只将GameBoard 类添加到JApplet 时,程序可以正常工作,但是,当我尝试添加ScoreBoard 类时,两个Panel 类都不会显示在Applet 上。我猜这现在归结为定位?有什么想法吗?
编辑:回到之前提出的问题 Hovercraft,发现这是由于 contentPane 的布局和添加了组件的顺序。
【问题讨论】:
-
请将代码缩减为SSCCE。我想看看你的代码有什么问题,我不想调试它。
-
@JohnW
JApplet默认使用BorderLayout。您可能想使用不同的布局管理器进行探索。我最常使用GridBagLayout。请参阅 Java 教程 "A Visual Guide to Layout Managers." 也有 Hovercraft Full Of Eels 谈到了键绑定。请参阅 Java 教程"How to Use Key Bindings."