[英]How do I add JLabels over the Graphics class
我為我的乒乓球游戲創建了一個測試類,以便能夠在我的 JFrame 上添加 JLabels。 但是,當我使用圖形類時,JLabel 沒有顯示,我無法解決問題。
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Main extends JFrame {
JLabel label;
public Main() {
JPanel p = new JPanel();
p.setLayout(null);
label = new JLabel("Text inside");
label.setBounds(1100, 500, 200, 50);
p.add(label);
add(p);
setSize(1700, 712);
setTitle("Title");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public void paint(Graphics g) {
g.setColor(Color.green);
g.fillRect(0, 0, 1700, 712);
g.setColor(Color.DARK_GRAY);
g.drawRect(1050, 450, 300, 200);
}
public static void main(String[] args) {
new Main();
}
}
Window.paint()
的 JavaDoc 明確指出:
如果重新實現此方法,則應調用 super.paint(g) 以便正確渲染輕量級組件。
你不這樣做,所以你的輕量級組件(即你的JLabel
s)不再呈現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.