BorderLayout показывает только один объект
Я решил написать небольшую Java-программу, чтобы поэкспериментировать с BorderLayout, потому что я разрабатываю Java-игру, и мне нужно, чтобы 2 объекта были помещены в один JFrame одновременно, и все, кого я спросил, сказали, что для этого мне нужен BorderLayout. ,
Так что написанная мной Java-программа должна разместить JButton на JFrame, а ТАКЖЕ разместить графический компонент (в данном случае прямоугольник). Проблема в том, что отображается только кнопка, как видно из ссылки на изображение ниже:
Я не могу опубликовать реальные изображения из-за моей низкой статистики репутации.
Вот код:
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