Элементы, не отображающиеся в графическом интерфейсе java
Я работаю над программой для заказов пиццы с графическим интерфейсом. Моя проблема заключается в том, что когда я запускаю графический интерфейс, некоторые элементы не отображаются. Я почти уверен, что проблема в этом. -Пограничная зона.Биты направления. Появится только один элемент с каждым направлением (Север,Юг и т. д.). Что мне интересно, так это как я могу это исправить, чтобы все было видно.
import java.awt.BorderLayout; import java.awt.Container; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSlider; import javax.swing.JTextField; public class PizzaOrder { private JComboBox createToppingsMenu() { JComboBox comboBox = new JComboBox(); comboBox.addItem("Pepperoni"); comboBox.addItem("Sausage"); comboBox.addItem("Pinapple"); return comboBox; } private JComboBox createGetMenu() { JComboBox combo1Box = new JComboBox(); combo1Box.addItem("Delivery"); combo1Box.addItem("Pick Up"); return combo1Box; } private JPanel createNamePanel() { JPanel namePanel = new JPanel(); namePanel.add (new JLabel("Name: ")); namePanel.add (new JTextField(15)); return namePanel; } private JPanel createAddressPanel() { JPanel addressPanel = new JPanel(); addressPanel.add (new JLabel("Address: ")); addressPanel.add (new JTextField(15)); return addressPanel; } private JPanel createPhonePanel() { JPanel phonePanel = new JPanel(); phonePanel.add (new JLabel("Phone Number: ")); phonePanel.add (new JTextField(15)); return phonePanel; } private JPanel createButtonPanel() { JPanel buttonPanel = new JPanel(); buttonPanel.add (new JButton("Place order")); buttonPanel.add (new JButton("Cancel order")); return buttonPanel; } public static void main(String[] args) { JFrame f = new JFrame(); f.setTitle("Pizza Order"); PizzaOrder order = new PizzaOrder(); Container contentPane = f.getContentPane(); JPanel namePanel = order.createNamePanel(); contentPane.add(namePanel, BorderLayout.SOUTH); JPanel addressPanel = order.createAddressPanel(); contentPane.add(addressPanel, BorderLayout.SOUTH); JPanel phonePanel = order.createPhonePanel(); contentPane.add(phonePanel, BorderLayout.SOUTH); JComboBox comboBox = order.createToppingsMenu(); contentPane.add(comboBox, BorderLayout.CENTER); JComboBox combo1Box = order.createGetMenu(); contentPane.add(combo1Box, BorderLayout.CENTER); JPanel buttonPanel = order.createButtonPanel(); contentPane.add(buttonPanel, BorderLayout.EAST); f.setSize(500, 500); f.setVisible(true); } }
Что я уже пробовал:
я искал его, но так ничего и не смог выяснить.
Richard MacCutchan
Я подозреваю, что каждая панель, которую вы добавляете, накладывается на любую предыдущую с тем же местоположением (восток, юг и т. д.). Попробуйте создать одну панель в каждом нужном месте и просто добавьте отдельные элементы управления в каждую соответствующую панель. Менеджер панели должен настроить их расположение внутри панели.
khaleesijamie
Как бы я это сделал? Извините, что я действительно Новичок в java GUI.
Richard MacCutchan
Затем вам нужно поработать с учебниками, чтобы получить полное представление о том, как использовать эти компоненты. Вот ссылка на использование менеджера макетов, но я рекомендую также посмотреть все остальные разделы: Урок: размещение компонентов в контейнере (учебники Java™ > создание графического интерфейса с помощью JFC/Swing)[^].