[英]How to add a JLabel to a class which extends JPanel
正如標題所說,我想將一個 JLabel 添加到一個擴展 JPanel 的類(在我的例子中,名為 GamePanel)。 我試過
public class GamePanel extends JPanel implements Runnable, KeyListener
{
/*Some of my instructions
*
*/
public void gamelabel()
{
JLabel mylabel = new JLabel();
mylabel.setBounds(0, 0, 1280, 720);
GamePanel.add(mylabel); //Here I'm getting an error message
}
/*Others instructions
*
*/
}
所以我真的不知道該怎么做,但我覺得這一定是一個簡單的解決方案......然而,我找不到它。
我怎么能做到? 提前致謝。
使用this.add()
而不是Gamelabel.add()
。
你不能調用Gamelabel.add()
因為要調用Gamelabel.add()
應該在Gamelabel
類中有一個靜態方法add()
但 Gamelabel 有一個繼承的實例方法add()
而不是靜態方法。
public void Gamelabel() {
JLabel mylabel = new JLabel();
mylabel.setBounds(0, 0, 1280, 720);
mylabel.setVisible(true); //unnecessary
this.add(mylabel);
}
也使用布局管理器。在你的代碼中你不能使用setBounds()
方法,因為面板布局是 flow (default) 。 setbounds
用於不使用布局管理器時的絕對定位。 所以閱讀如何使用布局管理器和流布局。
還有mylabel.setVisible(true);
是不必要的,因為jlable
與jframe
不同,默認情況下是可見的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.