带有gridlayout的JPanel

时间:2013-12-08 21:44:27

标签: java swing jpanel grid-layout

我一直无法重新创建此GUI:

enter image description here

我们被告知在每个部分内使用带有网格的BorderLayout。我一直试图让标题工作(GUI的顶部方格与类名和人名),但我似乎无法得到任何东西显示。这就是我到目前为止所做的:

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class Display extends JFrame implements ActionListener {
    private static final int FRAME_WIDTH = 400;
    private static final int FRAME_HEIGHT = 350;

    private static final int FRAME_X_ORIGIN = 100;
    private static final int FRAME_Y_ORIGIN = 75;

    public static void main(String[] args) {
        Display frame = new Display();
        frame.setVisible(true);
    }

    public Display() {

        setSize(FRAME_WIDTH, FRAME_HEIGHT);
        setResizable(false);
        setLayout(null);
        setTitle("CSCE155A Course Offering Viewer");
        setLocation(FRAME_X_ORIGIN, FRAME_Y_ORIGIN);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        // header
        JPanel header = new JPanel();
        header.setLayout(new GridLayout(2, 1));
        header.setSize(380, 50);
        header.setLocation(0, 0);
        header.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        header.add(new JLabel("CSCE155A Course Offering Viewer"));
        header.add(new JLabel("First Last"));

    }

    public void actionPerformed(ActionEvent event) {

    }

}

唯一显示的是窗内没有任何东西。

2 个答案:

答案 0 :(得分:2)

  

我们被告知在每个部分内使用带有网格的BorderLayout

setLayout(null);

那么为什么你在框架上使用空布局?

在哪里将面板添加到框架中?

你昨天在问题中给出了一个链接:JPanels and GridLayouts到关于如何使用边框布局的Swing教程。您还可以在其中给出示例代码,向您展示如何将面板添加到框架中。

阅读教程,下载工作示例,然后根据需要自定义示例。

如果您不听以前的建议,请不要在论坛中重复提问!

答案 1 :(得分:0)

我认为您需要创建一个容器对象,您可以在其中放置面板。在这里,我将两个面板放在BorderLayout

 Container contentPane = getContentPane();
 contentPane.setLayout(new BorderLayout());
 contentPane.add(inputPanel, BorderLayout.EAST);
 contentPane.add(rightPanel, BorderLayout.CENTER);