BorderLayout показывает только один объект

Я решил написать небольшую Java-программу, чтобы поэкспериментировать с BorderLayout, потому что я разрабатываю Java-игру, и мне нужно, чтобы 2 объекта были помещены в один JFrame одновременно, и все, кого я спросил, сказали, что для этого мне нужен BorderLayout. ,

Так что написанная мной Java-программа должна разместить JButton на JFrame, а ТАКЖЕ разместить графический компонент (в данном случае прямоугольник). Проблема в том, что отображается только кнопка, как видно из ссылки на изображение ниже:

http://prntscr.com/3m5ek6

Я не могу опубликовать реальные изображения из-за моей низкой статистики репутации.

Вот код:

main.java -> Класс основного метода + конструктор JFrame / JPanel / JButton

import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class main {

public static void main(String[] args) {

    Infout m = new Infout();
    JFrame f = new JFrame();
    JPanel start = new JPanel();
    JPanel start2 = new JPanel();

    start.add(m);
    start2.add(new JButton("Hi"));

    f.add(start,BorderLayout.LINE_START);
    f.add(start2, BorderLayout.LINE_END);
    f.setVisible(true);
    f.setSize(300, 400);

}

}

Infout.java -> Класс конструктора прямоугольника

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import javax.swing.JPanel;


public class Infout extends JPanel{

public void paintComponent(Graphics g){
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D) g;
    g2.fill(new Rectangle2D.Double(140, 270, 5, 300));
}

}

Может кто-нибудь сказать мне, что не так? Кроме того, использование BorderLayout - лучший вариант для добавления нескольких статических и / или динамических объектов в JFrame?

Спасибо!

Ab

Ответы на вопрос(1)

Ваш ответ на вопрос