有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我的Jlabel没有出现

当我把Jlabel放在paint(Graphics2d g)方法中时,它没有出现,我不知道为什么

我的课文课:

import java.awt.Color;
import java.awt.Graphics2D;

import javax.swing.JLabel;


public class Text {
    int ballX,ballY,squareX,squareY;
    Text text;
    private Game game;
    private Ball ball;
    private Racquet racquet;

    public  void main(){
        ballX = ball.getBallX();
        ballY = ball.getBallY();
        squareX = racquet.getSquareX();
        squareY = racquet.getSquareY();
    }

    public void paint(Graphics2D g) {

        g.setColor(Color.red);
        JLabel balltext = new JLabel("the ball is at " + ballX + ballY);
        balltext.setVisible(true);

        g.setColor(Color.green);
        JLabel squaretext = new JLabel("the ball is at " + squareX + squareY);
        squaretext.setVisible(true);
    }
}

共 (1) 个答案

  1. # 1 楼答案

    从外观上看,Java Swing gui缺少很多范例/习惯用法

    例如:

    • 如果要替代paint/paintComponent以指定绘制组件的方式,文本应扩展JComponent
    • 你应该创建一个单独的主类作为你的程序的入口点(你不必这样做,但它现在可以帮助你保持逻辑上的分离,这对你来说更容易概念化)
    • 您需要在主方法中创建一个JFrame,然后创建文本类并将其添加到JFrame中,并在JFrame上调用pack()和setVisible(True)

    我建议先看一些例子来了解情况:

    http://zetcode.com/tutorials/javaswingtutorial/firstprograms/

    http://www.javabeginner.com/java-swing/java-swing-tutorial