m0_64687309 2021-12-20 00:20 采纳率: 100%
浏览 127
已结题

JFrame中JLabel不显示文字

代码如下

img

import controller.UserController;
import model.ChessPiece;

import javax.swing.*;
import java.awt.*;

public class UserFrame extends JFrame {
    public static UserController userController;
    MediaTracker tracker;
    Image UserImage;
    private JButton logInBtn;
    private JButton registerBtn;
    private JLabel introduceLabel;
    public UserFrame(int frameSize){
        this.setTitle("User's Panel");
        this.setLayout(null);
        setResizable(false);


        this.setSize(frameSize , frameSize);//设置窗口边界

        this.setLocationRelativeTo(null);

        this.tracker = new MediaTracker(this);
        UserImage = Toolkit.getDefaultToolkit().getImage("E:\\Java Learning\\project image\\进入.png\\");
        tracker.addImage(UserImage,1);
        try{
            tracker.waitForAll();;
        }catch (InterruptedException e){
            System.out.println("加载图象文件失败");
        }

        this.introduceLabel = new JLabel();
        introduceLabel.setText("Let us play CHESS!");
        introduceLabel.setFont(new Font("Calibri", Font.ITALIC, 50));
        introduceLabel.setSize((int)(this.getWidth()*0.6),(int)(this.getHeight()*0.2));
        introduceLabel.setLocation((int)(this.getWidth()*0.2),(int)(this.getHeight()*0.5));
        introduceLabel.setVisible(true);
        this.add(introduceLabel);

        this.registerBtn = new JButton("注册");
        registerBtn.setSize((int)(this.getWidth()*0.25), (int)(this.getHeight()*0.1));
        registerBtn.setLocation((int) (this.getWidth()*0.2), (int)(this.getHeight()*0.7));
        add(registerBtn);
        registerBtn.addActionListener(e -> {
            System.out.println("click register Btn");
        });


        this.logInBtn = new JButton("登录");
        logInBtn.setSize((int)(this.getWidth()*0.25), (int)(this.getHeight()*0.1));
        logInBtn.setLocation((int) (this.getWidth()*0.55), (int)(this.getHeight()*0.7));
        add(logInBtn);
        logInBtn.addActionListener(e -> {
            System.out.println("click log in Btn");
        });



        this.setVisible(true);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public void paint(Graphics g){
        g.drawImage(UserImage,(int) (this.getWidth()*0.37),(int)(this.getHeight()*0.2),(int)(this.getWidth()*0.25),(int)(this.getHeight()*0.25),this);
        logInBtn.requestFocus();
        registerBtn.requestFocus();
        introduceLabel.requestFocus();
    }
}


  • 写回答

1条回答 默认 最新

  • CSDN专家-sinJack 2021-12-20 00:25
    关注

    估计被你图片给覆盖了。你把图片去掉试试。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月28日
  • 已采纳回答 12月20日
  • 创建了问题 12月20日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境