Java swing布局问题

时间:2016-05-01 01:56:18

标签: java swing layout layout-manager border-layout

我正在努力应用我的应用程序中的布局。我对java很新。我开发了一个我以前在VB中开发的应用程序。在尝试学习java时,我使用绝对布局(从youtube教程中学习)和选项卡式窗格开发了相同的应用程序。我不喜欢我开发的东西,所以我重新开始了。这次使用布局管理器和卡布局作为主要布局。我正在努力按照我想要的方式来做事。我花了很多天的试验和错误,以我想要的方式获取我的面板。我有一个主要课程,有4张不同的卡片。我尝试使用eclipse和window builder来设计我的面板,但这是一个史诗般的失败。我已经回去设计我的布局而没有eclipse中的设计,并且基本上将边框布局作为我所有卡片的基础。现在,我遇到一个小组的问题。第一个面板是我对绝对布局所需的原始尝试。第二张照片是我最近尝试使用边框布局,南边有一个按钮(Back),CENTER有一些文字字段,我的主要显示在NORTH。 NORTH显示器的宽度不够宽。这是我的NORTH面板的代码:

setLayout(new BorderLayout(0, 0));

        JPanel panelNorth = new JPanel();
        add(panelNorth, BorderLayout.NORTH);

        JScrollPane scrollPane = new JScrollPane();
        panelNorth.add(scrollPane);

        tableDisplayScores = new JTable();
        scrollPane.setViewportView(tableDisplayScores);

        JPanel panelCenter = new JPanel();
        add(panelCenter, BorderLayout.CENTER);

在我完全疯了之前,如何在不绝对的情况下增加我的NORTH面板的宽度?或者我完全错了?

绝对布局示例:

enter image description here

布局管理器示例: description here

1 个答案:

答案 0 :(得分:0)

正如我的评论所述,我通过反复试验来解决这个问题。我删除了panelNorth并将我的scrollPane添加到BorderLayout.NORTH:

        JScrollPane scrollPane = new JScrollPane();
        add(scrollPane, BorderLayout.NORTH);

        tableDisplayScores = new JTable();
        scrollPane.setViewportView(tableDisplayScores);