gpt4 book ai didi

Java基本GUI空白

转载 作者:行者123 更新时间:2023-12-02 02:31:16 25 4
gpt4 key购买 nike

当我运行这个程序时,它会显示为一个空窗口,直到全屏显示,然后它可以根据需要调整大小,为什么要这样做/我该如何停止它?

该程序非常基本,只有一个菜单栏和两个面板。

public class SplitPane {


public static void main(String[] args) {
window view = new window();
}

private static class window extends JFrame {



public window() {
this.setSize(1000, 750);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

//menubar is here, must lower code quantity for stack

//panels
//graph half
JPanel graphRep = new JPanel();
//Background colour - graphRep.setBackground(Color.RED);
graphRep.setVisible(true);
String graphTitle = "Textual Representation.";
Border graphBorder = BorderFactory.createTitledBorder(graphTitle);
graphRep.setBorder(graphBorder);
//text half
JPanel textRep = new JPanel();
textRep.setVisible(true);
String textTitle = "Graphical Representation.";
Border textBorder = BorderFactory.createTitledBorder(textTitle);
textRep.setBorder(textBorder);

//splitpane
JSplitPane splitPane = new JSplitPane();
splitPane.setSize(600, 750);
splitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setOneTouchExpandable(true);
splitPane.setDividerSize(10);
splitPane.setDividerLocation(250);
splitPane.setLeftComponent(graphRep);
splitPane.setRightComponent(textRep);

this.add(splitPane);
}
}

最佳答案

this.setVisible(true);

在将组件添加到框架之前,您需要使框架可见。布局管理器永远不会被调用,因此所有组件的大小保持为 (0, 0),因此没有任何内容可绘制。

在将所有组件添加到框架后,框架应该可见。

代码应该是:

frame.pack();
frame.setVisible();

因此每个组件都以其适当的尺寸显示。不要对 size() 进行硬编码,因为您不知道用户屏幕的尺寸可能是多少。

关于Java基本GUI空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47043781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com