Java BorderLayout问题放置面板

时间:2016-07-18 15:55:08

标签: java

我是Java GUI的新手,目前正致力于创建微波GUI。我试图在一个面板中放置一个面板,但它并没有像我认为的那样真正起作用。我正在使用BorderLayout并基本上将一个面板放入BorderLayout.WEST并在其中放置2个面板(NORTH和CENTER)。但不知怎的,我不能在它的CENTER中添加一个面板,它似乎一直都在北方。请参阅下面的代码。

private void buildFrame() 
{
        ovenLabel=new JLabel("Oven Area - Food goes here");
        add(ovenLabel, BorderLayout.CENTER);
        ovenLabel.setBackground(Color.white);
        ovenLabel.setOpaque(true);
        ovenLabel.setHorizontalAlignment(JLabel.LEFT);
        ovenLabel.setVerticalAlignment(JLabel.TOP);
        ovenLabel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 5));

    //sidePanel
    side=new JPanel();
    add(side, BorderLayout.EAST);
    side.setBorder(BorderFactory.createLineBorder(Color.BLACK, 5)); //remove this later
    //top panel
    sideTop=new JPanel();
    sideTop.setBackground(Color.white);
    sideTop.setOpaque(true);
    sideTop.setLayout(new GridLayout(3, 1));
    side.add(sideTop, BorderLayout.NORTH);
    displayLabel=new JLabel[3];
    for(int i=0;i<displayLabel.length; i++)
    {
        displayLabel[i]=new JLabel("");
        sideTop.add(displayLabel[i]);
    }
    displayLabel[0].setText("Cooking time is displayed here. . .");
    //bottom panel
    sideBot=new JPanel();
    sideBot.setLayout(new GridLayout(5, 3));
    side.add(sideBot, BorderLayout.CENTER);
    buttons=new JButton[15];
    for(int i=0;i<buttons.length;i++)
    {
        buttons[i]=new JButton("test");
        sideBot.add(buttons[i]);
    }
    //button




}

1 个答案:

答案 0 :(得分:1)

如果你想使用 $id = "puppies"; $toa = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); $toa->post('friendships/create', ['user_id' => $id]); ,请确保容器有BorderLayout作为其布局管理器,否则约束(NORTH等等)将不会被理解为:< / p>

BorderLayout

(在向其中添加任何内容之前执行此操作)

如果你打电话:

side.setLayout(new BorderLayout());

在进行修改之前,您会看到您的面板默认为System.out.println(side.getLayout());