Как правильно отображать радио кнопки на экране вместе с другими элементами?(изображения прилагаются) - графический интерфейс Java с использованием NetBeans - PullRequest
0 голосов
/ 27 сентября 2018

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

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

First one

Second one

// Код

 package pizzaorder2;

 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.ActionListener;
 import java.awt.event.KeyEvent;

/**
*
* @author sm
*/
 public class PizzaOrder2 extends JFrame { 


static JFrame frame;
static String[] pizza = {"Supremo Supreme", "Supreme", "Chicken",   
"Aussie",
                         "Vegie", "Hawaiian"};
static String[] base = {"Thin and Crispy", "Pan", "Cheese filled     
crust"};
static String[] topping = {"None", "Pepperoni", "Salami", "Ham",
                         "Bacon", "Chicken", "Onion"};

static String tomatoString = "Tomato";
static String barbequeString = "Barbeque";


 @Override

  public void paint(Graphics g) {

    super.paint(g);

    g.setColor(Color.WHITE);
    g.setFont(new Font("Serif", Font.BOLD + Font.ITALIC, 55));
    g.drawString("Pizza Order", 175, 70);

    Image imagepizza = new          ImageIcon("/Users/supriyamayuri/NetBeansProjects/DrawGraphics/src/piz.jpg").getImage();
    g.drawImage(imagepizza, 20, 90, 140, 120, this);

     Image imagesauce = new ImageIcon("/Users/supriyamayuri/NetBeansProjects/DrawGraphics/src/sauce.jpg").getImage();
    g.drawImage(imagesauce, 220, 90, 150, 120, this);

    Image imagetopping = new ImageIcon("/Users/supriyamayuri/NetBeansProjects/DrawGraphics/src/top.jpg").getImage();
    g.drawImage(imagetopping, 430, 90, 140, 120, this);

    g.setColor(Color.WHITE);
    g.setFont(new Font("Helvetica", Font.BOLD, 25));
    g.drawString("Pizza", 40, 240);

    g.setColor(Color.WHITE);
    g.setFont(new Font("Helvetica", Font.BOLD, 25));
    g.drawString("Base & Sauce", 210, 240);

    g.setColor(Color.WHITE);
    g.setFont(new Font("Helvetica", Font.BOLD, 25));
    g.drawString("Topping", 450, 240);



}


     public PizzaOrder2() {

    //Create the radio buttons.
    JRadioButton tomatoButton = new JRadioButton(tomatoString);
    tomatoButton.setMnemonic(KeyEvent.VK_B);
    tomatoButton.setActionCommand(tomatoString);


    JRadioButton barbequeButton = new JRadioButton(barbequeString);
    barbequeButton.setMnemonic(KeyEvent.VK_C);
    barbequeButton.setActionCommand(barbequeString);

    //Group the radio buttons.
    ButtonGroup group = new ButtonGroup();
    group.add(tomatoButton);
    group.add(barbequeButton);

    //Put the radio buttons in a column in a panel.
    JPanel radioPanel = new JPanel();
    radioPanel.add(tomatoButton);
    radioPanel.add(barbequeButton);

   add(radioPanel);


    }



   public static void main(String[] args) {

    JFrame frame = new PizzaOrder2();


    frame.setSize(600, 600);
    frame.getContentPane().setBackground(new Color(40, 80, 120));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



    frame.setVisible(true);


    }

    }
...