Как мне заставить это текстовое поле и выпадающее меню работать так, как я хочу? - PullRequest
1 голос
/ 26 марта 2019

Я не ожидаю, что кто-то сделает эту работу за меня, но мне трудно найти точные ответы на мои вопросы, исследуя самостоятельно.Я пытаюсь создать текстовое поле, в котором пользователь должен ввести целое число от 1 до 3, а затем раскрывающееся меню, чтобы выбрать аромат (хотелось бы, чтобы раскрывающийся список работал как способ отправки или просто получил менюСам оставаться выбранным).После представления я хочу, чтобы появилось окно с нарисованным конусом мороженого, который меняет цвет в зависимости от вкуса и количества ложек, чтобы быть точным для ввода пользователя.

Я пытался работать с JOptionPanel, так как подумал, что, может быть, в сочетании с настройкой ActionListener мне это удастся, но я не могу найти совет или совет, который мне нужен.нужно выполнить работу таким образом.

public void createGUI()
{
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    Container window = getContentPane();
        window.setLayout(new BorderLayout());

    GridLayout mainLayout = new GridLayout(2,1);
    GridLayout topLayout = new GridLayout(1,2);
    GridLayout menuLayout = new GridLayout(6,2);

    JLabel storeFront = new JLabel("Ice Cream Shop");
    JLabel orderHere = new JLabel("Order Here");

    ImageIcon storeImage = new ImageIcon("storefront.jpeg");
        JLabel store = new JLabel(storeImage);

    ImageIcon flavorsImage = new ImageIcon("flavors.jpeg");
        JLabel flavors = new JLabel(flavorsImage);

    JTextField numberScoops = new JTextField(5);


    JMenuBar flavorMenu = new JMenuBar();
        JMenu flavorIceCream = new JMenu();

        JMenuItem chocolate = new JMenuItem("Chocolate");
        JMenuItem vanilla = new JMenuItem("Vanilla");
        JMenuItem strawberry = new JMenuItem("Strawberry");
        flavorIceCream.add(chocolate);
        flavorIceCream.add(vanilla);
        flavorIceCream.add(strawberry);

        flavorMenu.add(flavorIceCream);

    JPanel iceCreamShop = new JPanel();
        iceCreamShop.setBackground(Color.gray);
        iceCreamShop.add(store, BorderLayout.CENTER);

    JPanel iceCreamMenu = new JPanel();
        iceCreamMenu.setBackground(Color.gray);
            JPanel menuPanel = new JPanel();
                menuPanel.setBackground(Color.gray);
                menuPanel.setLayout(menuLayout);

                menuPanel.add(new JLabel("Chocolate"));
                menuPanel.add(new JLabel("$2.00/scoop"));
                menuPanel.add(new JLabel("Vanilla"));
                menuPanel.add(new JLabel("$2.00/scoop"));
                menuPanel.add(new JLabel("Strawberry"));
                menuPanel.add(new JLabel("$2.25/scoop"));
                menuPanel.add(new JLabel("How Many Scoops?"));
                menuPanel.add(numberScoops);
                menuPanel.add(new JLabel("what flavor?"));
                menuPanel.add(flavorMenu);
                menuPanel.add(new JButton("clear"));
                menuPanel.add(new JButton("submit"));
        iceCreamMenu.add(menuPanel);

    JPanel iceCreamOrder = new JPanel();
        iceCreamOrder.setLayout(topLayout);
        iceCreamOrder.add(iceCreamShop);
        iceCreamOrder.add(iceCreamMenu);

    JPanel mainPanel = new JPanel();
        mainPanel.setLayout (mainLayout);
        mainPanel.setBackground(Color.gray);
        mainPanel.add(iceCreamOrder);
        mainPanel.add(flavors, BorderLayout.CENTER);

    window.add(mainPanel, BorderLayout.CENTER);

}
...