获得与图片相似的图形用户界面?

问题描述 投票:0回答:1

enter image description here

我的计划是获得类似的输出,但是由于某种原因,我得到的只是空白的白色输出?我的逻辑是将1个主面板与North Center South结合使用。在北部,我将放置Jlabel和Textfield并将其对齐到右侧。在中心我会把它留空在南部,我将在第一行中添加BoxLayout y轴,将另一个居中布局的面板添加到中心在南BoxLayour行的第二行中的另一个BoxLayout中,我将添加另一个Boxlayout并将其分配到左侧。

这是我的代码:

 public static void main(String args[]) {

        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
            JFrame frame = new JFrame();
        frame.setSize(new Dimension(500,600));
        JPanel MainPanel = new JPanel();

frame.add(MainPanel);

        JPanel NorthPanel = new JPanel(); //upper panel to add boxx layout and inside it 2 panls
        JPanel ToPanel = new JPanel(); //inside north
        JPanel SubjectPanel = new JPanel(); //inside north

        NorthPanel.setLayout(new BoxLayout(NorthPanel, BoxLayout.Y_AXIS));
        MainPanel.add(NorthPanel, BorderLayout.NORTH);


        JLabel SubjectLabel = new JLabel("Subject");  SubjectLabel.setAlignmentX(Component.RIGHT_ALIGNMENT);
        JTextField  SubjectTextField = new JTextField(20); SubjectTextField.setAlignmentX(Component.RIGHT_ALIGNMENT);

        JLabel ToLabel = new JLabel("To");  ToLabel.setAlignmentX(Component.RIGHT_ALIGNMENT);
        JTextField  ToTextField = new JTextField(20); ToTextField.setAlignmentX(Component.RIGHT_ALIGNMENT);
        ToPanel.add(ToLabel);
        ToPanel.add(ToTextField);

        ToPanel.add(SubjectLabel);
        ToPanel.add(SubjectTextField);
        NorthPanel.add(ToPanel);

        JPanel CenterPanel = new JPanel(); //Center panel  blank
        MainPanel.add(CenterPanel, BorderLayout.CENTER);
        ///
        JPanel SouthPanel = new JPanel();
        NorthPanel.setLayout(new BoxLayout(NorthPanel, BoxLayout.Y_AXIS));

        JPanel FontPanels = new JPanel();
        FontPanels.setLayout(new BoxLayout(FontPanels, BoxLayout.PAGE_AXIS));
        FontPanels.add(new JButton("Bold"));
        FontPanels.add(new JButton("Italic"));
        FontPanels.add(new JButton("Underlined"));
        FontPanels.add(new JButton("Undo"));
        FontPanels.add(new JButton("Redo"));
        FontPanels.setAlignmentX(Component.CENTER_ALIGNMENT);

        JPanel OptionPanel = new JPanel();
        OptionPanel.setLayout(new BoxLayout(OptionPanel, BoxLayout.PAGE_AXIS));

        FontPanels.setLayout(new BoxLayout(FontPanels, BoxLayout.PAGE_AXIS));

        OptionPanel.add(new JButton("Send"));

        OptionPanel.setAlignmentX(Component.CENTER_ALIGNMENT);
                SouthPanel.add(FontPanels);
                SouthPanel.add(OptionPanel);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

    }

});

}
java swing user-interface awt
1个回答
0
投票

您尚未向JFrame添加任何内容-因此自然会显示一个空白的JFrame。

要显示每个组件,您需要执行frame.add(component);

我将框架的布局管理器交给您。

© www.soinside.com 2019 - 2024. All rights reserved.