Я пытаюсь создать графический интерфейс, и я хочу разместить элементы в определенных местах. Я сделал макет моей панели пустым, чтобы я мог это сделать. Однако ничто не появится, когда панель имеет значение null.
Вот код:JPanel не отображает компоненты, когда макет равен нулю
public class OverView extends JFrame {
//height and width of screen
Toolkit tk = Toolkit.getDefaultToolkit();
int x = ((int) tk.getScreenSize().getWidth());//length of screen
int y = ((int) tk.getScreenSize().getHeight());//height
//components
private JLabel title;
private JLabel description;
private JPanel panel;
private ArrayList<JButton> farms;
//farm variables
public ArrayList<Farm> owned;
public OverView(ArrayList<Farm> owned) {
super("The Lolipop Farm - Overview");
setSize(700, 700);
setExtendedState(JFrame.MAXIMIZED_BOTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
//initialize variables
this.owned = owned;
panel = new JPanel();
panel.setLayout(null);
title = new JLabel("<html>Your Farms - The Lolipop Farm"
+ "<br> <font size=1000> <i> An Eph Production </i> </font></html>");
//set background color, color, and font of JComponents
title.setFont(new Font("serif", Font.BOLD, 25));
title.setBackground(Color.GRAY);
title.setOpaque(true);
//set size and location of the components
title.setSize(350, 120);
title.setLocation(x/2, 600);
//add to panel
panel.add(title);
//add panel to the screen
add(panel);
}
}
Почему не панель, показывая что-нибудь, когда нуль компоновщика?
* «Я хочу размещать элементы в определенных местах» * Java GUI должны работать с различными ОС, размером экрана, разрешением экрана и т. Д., Используя различные PLAF в разных локалях. Таким образом, они не способствуют идеальной компоновке пикселей. Вместо этого используйте диспетчеры макетов или [их комбинации] (http://stackoverflow.com/a/5630271/418556), а также макет и границы для [пробела] (http://stackoverflow.com/a/17874718/ 418556). –
Предоставьте ASCII-рисунок или простой чертеж * предназначенного макета GUI с минимальным размером и, если он изменен, с большей шириной и высотой. –