我有一个程序,它有一个登录窗口,一个注册窗口和一个程序窗口。当我运行程序时,登录窗口首先弹出,一切都很好。我点击注册并弹出该窗口,一切都很好,但是当我点击登录时,程序窗口将打开,但框架中不会显示任何内容。我将所有组件存储在JTabbedPane中,并将JTabbedPane存储在JPanel中,以便我可以在JFrame中使用它,但是当我打开程序窗口时,它显示一个空白框架。唯一的事情是如果你将鼠标悬停在textField所在的位置,它将显示文本光标,如果单击它将显示文本字段!当窗口打开时,如何让它显示面板中的所有组件?
public JPanel panelProgram()
{
programPanel.setLayout(null);
tabbedPane = new JTabbedPane();
tabbedPane.setBounds(0, 10, programW - 10, programH - 10);
tabbedPane.setVisible(true);
ImageIcon icon = new ImageIcon("src/cpt/admin/images/middle.gif");
proPanTab1 = showInputScreen();
tabbedPane.addTab("Input Accounts", icon, proPanTab1, "Input New Acocunts");
proPanTab2 = showSearchScreen();
tabbedPane.addTab("Search Accounts", icon, proPanTab2, "Search Through Accounts");
proPanTab3 = showEmailScreen();
tabbedPane.addTab("Send Email", icon, proPanTab3, "Send an Email to Accounts");
tabbedPane.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);
programPanel.add(tabbedPane);
return programPanel;
}
答案 0 :(得分:0)
使用programPanel.setLayout(null);
会将该面板中的组件设置为零,因此不会显示。您可以通过调用getPreferredSize()
来获取组件的大小。
您应该使用LayoutManager来获得更好的布局选择。