Java:在JFrame上拥有多个组件

时间:2015-11-04 02:15:15

标签: java swing jframe layout-manager

我想在JFrame上有多个组件。我不想要任何UI格式。我只想要绘制多个组件。我的完整代码是大到发布所以这是我的JFrame设置。

    JPanel jPanel = new JPanel();
    jPanel.setLayout(new FlowLayout());

    jPanel.add(board.getPieceAt(0,0));
    jPanel.add(board);

    frame.add(jPanel);
    frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setVisible(true);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

board and board.getPieceAt(0,0);是JComponents

没有frame.add()或添加面板的组合似乎都要渲染。它总是被添加的最后一个被绘制。

此示例呈现两个组件。我更新了上面的代码,尽可能地模仿这个例子,它仍然导致一个空框架。对我来说,似乎我正在做的是这个例子正在做的事情,但我得到了不同的结果。

import java.awt.FlowLayout;
import java.awt.BorderLayout;
import javax.swing.*;

public class TestFrameExample {

    public static void main(){

        JFrame frame = new JFrame("JFrame Example");

        JPanel panel = new JPanel();
        panel.setLayout(new FlowLayout());

        JLabel label = new JLabel("This is a label!");

        JButton button = new JButton();
        button.setText("Press me");

        panel.add(label);
        panel.add(button);

        frame.add(panel);
        frame.setSize(300, 300);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

    }
}

如何让两个组件在JFrame上呈现?

0 个答案:

没有答案