gpt4 book ai didi

Java - Gui 组件不显示

转载 作者:行者123 更新时间:2023-11-29 08:07:52 27 4
gpt4 key购买 nike

我有这段代码可以创建一个简单的图形用户界面(手动),我正在尝试在框架上显示图形用户界面组件。但是,当我运行程序时,只显示框架而没有显示组件,例如 JTable。

知道为什么吗?

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

public class GUI extends JFrame {
public void buildGui() {
JFrame frame = new JFrame("Hotel TV Scheduler");
frame.setVisible(true);

Container contentPane = frame.getContentPane();

JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());

JPanel listPanel = new JPanel();
listPanel.setLayout(new FlowLayout());

JTable chOneTable = new JTable();
JTable chTwoTable = new JTable();
JTable listTable = new JTable();

listPanel.add(chOneTable);
listPanel.add(chTwoTable);
listPanel.add(listTable);

contentPane.add(listPanel);
}
}

最佳答案

您应该在 JTables 上设置一个 preferredSize(),然后再执行一个 pack()

编辑:

pack() 之后移动了 setVisible(true)。这是order which is used by Sun/Oracle .

public class GUI extends JFrame {
public void buildGui() {
JFrame frame = new JFrame("Hotel TV Scheduler");

Container contentPane = frame.getContentPane();

JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());

JPanel listPanel = new JPanel();
listPanel.setLayout(new FlowLayout());

Dimension d = new Dimension(100, 100);

JTable chOneTable = new JTable();
chOneTable.setPreferredSize(d);

JTable chTwoTable = new JTable();
chTwoTable.setPreferredSize(d);

JTable listTable = new JTable();
listTable.setPreferredSize(d);

listPanel.add(chOneTable);
listPanel.add(chTwoTable);
listPanel.add(listTable);

contentPane.add(listPanel);

frame.pack();
frame.setVisible(true);
}
}

关于Java - Gui 组件不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9924155/

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