程序窗口不显示在框架中

时间:2013-12-11 02:32:58

标签: java windows swing jpanel

我有一个程序,它有一个登录窗口,一个注册窗口和一个程序窗口。当我运行程序时,登录窗口首先弹出,一切都很好。我点击注册并弹出该窗口,一切都很好,但是当我点击登录时,程序窗口将打开,但框架中不会显示任何内容。我将所有组件存储在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;
}

1 个答案:

答案 0 :(得分:0)

使用programPanel.setLayout(null);会将该面板中的组件设置为零,因此不会显示。您可以通过调用getPreferredSize()来获取组件的大小。

您应该使用LayoutManager来获得更好的布局选择。