java - 游戏中不会出现文字?

标签 java swing graphics jpanel

我有一个游戏程序,我想向我的主菜单添加一个标题。我添加了图形并添加了一串要显示的文本,但它不会显示。我添加了一条评论,说明问题可能是什么。

我的主要代码:

package Main;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;




public class Game {


public static void main(String[] args) {

     JFrame frame = new JFrame("Tennis Game");

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

     Menu graphics = new Menu();
     frame.add(graphics);

     frame.setLayout(null);

     final JButton b = new JButton("Play");

     b.setFocusPainted(false);
     b.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 20));
     b.setBounds(110, 100, 80, 40);
     b.setForeground(Color.BLACK);

     b.addMouseListener(new java.awt.event.MouseAdapter(){

        public void mouseEntered(MouseEvent evt) {
             b.setForeground(Color.RED);
         }

        public void mouseExited(MouseEvent evt) {
             b.setForeground(Color.BLACK);
         }

     });


     frame.add(b);
     frame.setSize(300,400);
     frame.setVisible(true);




 }
 }

我的菜单代码,标题为:

package Main;

import java.awt.Color;
import java.awt.Font;

import java.awt.*; 

import javax.swing.*;



public class Menu extends JPanel {

public void paintComponent(Graphics g){
    super.paintComponent(g);
    this.setBackground(Color.yellow);


    g.setFont(new Font("Arial", Font.BOLD, 30)); 
    g.setColor(Color.BLACK);
    g.drawString("TENNIS GAME", 40, 60);


}


}

最佳答案

当您使用 frame.setLayout(null) 时,子组件不会自动调整大小,您需要自己执行此操作:添加 graphics.setBounds(0, 0, 300, 100);

关于java - 游戏中不会出现文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28786134/

相关文章:

java - do while 循环错误

java - JFrame 中的鼠标事件似乎极其不可预测

graphics - "low level"3D图形编程

java - 如何淡入/淡出 Java 图形?

java - 为什么 Spring @Qualifier 不适用于 Spock 和 Spring Boot

Java 8 检查字符串是否遵循 b n 模式

java - 尝试在 JPanel 上绘制但没有成功

java - 尝试从 DefaultListModel 对象中删除元素

java - 每次应用启动时 FirebaseRecyclerAdapter 都会崩溃

c++ - VTK:可视化深度缓冲区