帧大小设置为0,即使使用setBounds也设置为0

问题描述

我正在尝试创建一个窗口,这是代码。但是窗口没有合适的尺寸,尽管我有600 x 800,但它的尺寸却是0 x 0。

我应该使用设置首选大小而不是设置边界并将矩形转换为尺寸吗?

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

public class Display extends Canvas implements Runnable
{
public static final long serialVersionUID = 1L;
private Thread thread;
private final JFrame frame = new JFrame();
private static final String title = "myframe";
private static final int width = 800;
private static final int height = 600;
private static boolean running = false;

public void Display (){

    Rectangle size = new Rectangle(width,height);
    this.frame.setBounds(size);
}
public synchronized void start(){
    running = true;
    this.thread = new Thread(this,"Display");
    this.thread.start();
}
public synchronized void stop(){
    running = false;
    try {
        this.thread.join();
    }
    catch(InterruptedException e){
        e.printStackTrace();
    }
}
@Override
public void run() {

}

public static void main(String[] args) {
    Display display = new Display();
    display.frame.setTitle(title);
    display.frame.add(display);
    display.frame.pack();
    display.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    display.frame.setLocationRelativeTo(null);
    display.frame.setResizable(false);
    display.frame.setVisible(true);
    display.start();
}
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)