Я пытаюсь создать программу для местного магазина бубликов, где продаются выпечка, бублики и кофе. У меня проблемы с внедрением панелей, которые я сделал в JFrame
любая помощь в понимании того, как сделать так, чтобы мой JFrame выглядел так, была бы полезна
Как только у меня будет эта работа, я надеюсь, что средний набор панелей изменится в зависимости от того, какой продукт выбран. Я не совсем уверен, как заставить кнопки и панели общаться друг с другом.
Спасибо за помощь!
вот мой код для JFrame.
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class BagelOrder extends JFrame
{
JLabel topLabel;
sizePanel sp = new sizePanel();
typePanel tp = new typePanel();
productsPanel pp = new productsPanel();
buttonPanel bp = new buttonPanel();
extrasPanel ep = new extrasPanel();
public BagelOrder()
{
setTitle("Order Entry Screen");
setSize(800, 800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
topLabel = new JLabel("Order Entry Screen");
add(pp, BorderLayout.WEST);
add(topLabel, BorderLayout.NORTH);
add(bp, BorderLayout.SOUTH);
add(middleCoffeePanelSetBuild(), BorderLayout.CENTER);
add(east, BorderLayout.EAST);
setVisible(true);
}
private JPanel middleCoffeePanelSetBuild()
{
JPanel middlePanel = new JPanel(new GridLayout(3,1));
add(sp);
add(tp);
add(ep);
}
public static void main(String args[])
{
BagelOrder bo = new BagelOrder();
}
}
У меня нет ошибок, но я не вижу ничего, кроме метки в верхней части страницы.
вот мой код для других классов
ButtonPanel
import java.awt.GridLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JPanel;
public class buttonPanel extends JPanel
{
JButton enterItemButton;
JPanel buttonPanel;
ButtonGroup bg;
JButton totalButton;
JButton newOrderButton;
public buttonPanel()
{
buttonPanel = new JPanel(new GridLayout(1,3));
bg = new ButtonGroup();
enterItemButton = new JButton("Enter Item");
totalButton = new JButton("Total");
newOrderButton = new JButton("New Order");
buttonPanel.setSize(150, 780);
buttonPanel.add(enterItemButton);
bg.add(enterItemButton);
buttonPanel.add(totalButton);
bg.add(totalButton);
buttonPanel.add(newOrderButton);
bg.add(newOrderButton);
setVisible(true);
}
}
ProductPanel
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.border.Border;
public class productsPanel extends JPanel
{
public productsPanel()
{
JPanel productPanel = new JPanel(new GridLayout(3,1));
ButtonGroup bg = new ButtonGroup();
JRadioButton coffeeButton = new JRadioButton("Coffee");
JRadioButton bagelButton = new JRadioButton("Bagel");
JRadioButton pastryButton = new JRadioButton("Pastry");
productPanel.setSize(150, 780);
productPanel.add(coffeeButton);
bg.add(coffeeButton);
productPanel.add(bagelButton);
bg.add(bagelButton);
productPanel.add(pastryButton);
bg.add(pastryButton);
Border etched = BorderFactory.createEtchedBorder();
Border titled = BorderFactory.createTitledBorder(etched, "Products");
productPanel.setBorder(titled);
setVisible(true);
}
}
Размер панели
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.border.Border;
public class sizePanel extends JPanel{
public sizePanel()
{
JPanel sp = new JPanel(new GridLayout(3,1));
ButtonGroup bg = new ButtonGroup();
JRadioButton smallButton = new JRadioButton("Small");
JRadioButton mediumButton = new JRadioButton("Medium");
JRadioButton largeButton = new JRadioButton("Large");
sp.setSize(200, 200);
sp.add(smallButton);
bg.add(smallButton);
sp.add(mediumButton);
bg.add(mediumButton);
sp.add(largeButton);
bg.add(largeButton);
Border etched = BorderFactory.createEtchedBorder();
Border titled = BorderFactory.createTitledBorder(etched, "Size");
sp.setBorder(titled);
setVisible(true);
}
}
TypePanel
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.border.Border;
public class typePanel extends JPanel
{
public typePanel()
{
JPanel typePanel = new JPanel(new GridLayout(3,1));
ButtonGroup bg = new ButtonGroup();
JRadioButton regularButton = new JRadioButton("Regular");
JRadioButton decafButton = new JRadioButton("Decaf");
JRadioButton frenchRoastButton = new JRadioButton("French Roast");
typePanel.setSize(200, 200);
typePanel.add(regularButton);
bg.add(regularButton);
typePanel.add(decafButton);
bg.add(decafButton);
typePanel.add(frenchRoastButton);
bg.add(frenchRoastButton);
Border etched = BorderFactory.createEtchedBorder();
Border titled = BorderFactory.createTitledBorder(etched, "Type");
typePanel.setBorder(titled);
setVisible(true);
}
}
ExtrasPanel
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JPanel;
import javax.swing.border.Border;
public class extrasPanel extends JPanel
{
public extrasPanel()
{
JPanel extrasPanel = new JPanel(new GridLayout(2,1));
JCheckBox creamCheckBox = new JCheckBox("Cream");
JCheckBox sugarCheckBox = new JCheckBox("Sugar");
extrasPanel.setSize(200, 200);
extrasPanel.add(creamCheckBox);
extrasPanel.add(sugarCheckBox);
Border etched = BorderFactory.createEtchedBorder();
Border titled = BorderFactory.createTitledBorder(etched, "Extras");
extrasPanel.setBorder(titled);
setVisible(true);
}
}