자바 : 레이아웃 버튼 / 라벨 배치

암호

GUI 피자 메뉴를 만들려고하는데 버튼 / 라벨의 위치에 문제가 있습니다.

public class PizzaGUI extends JFrame {

private JRadioButton rdoSmall;
private JRadioButton rdoMedium;
private JRadioButton rdoLarge;
private JRadioButton rdoExtraLarge;
private JLabel lblSize;
private ButtonGroup grpSize; 
JPanel panelSize;

private JCheckBox chkPepperoni;
private JCheckBox chkMushrooms;
private JCheckBox chkOlives;
private JCheckBox chkPineapple;
private JLabel lblToppings;
JPanel panelToppings;

private JRadioButton rdoSoda;
private JRadioButton rdoTea;
private JRadioButton rdoBottledWater;
private JRadioButton rdoTapWater;
private JLabel lblDrinks;
private ButtonGroup grpDrinks;
JPanel panelDrinks;

JPanel container;
JButton calculateTotal;
JLabel order;


PizzaGUI()
{
    super("Pizza Menu");

    setSize(600,500);

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    createPanel();

    add(container);

    setVisible(true);

}



public void createPanel()
{

    panelSize = new JPanel(new GridLayout(5, 1));
    panelToppings = new JPanel(new GridLayout(5, 1));
    panelDrinks = new JPanel(new GridLayout(5, 1));

    container = new JPanel();

    //Calculate Total
    calculateTotal = new JButton("Calculate");
    calculateTotal.setPreferredSize(new Dimension(95,45));


    order = new JLabel("Your Order:");


    //Pizza Sizes
    lblSize = new JLabel("Choose a size:");
    rdoSmall = new JRadioButton("Small ($7)");
    rdoMedium = new JRadioButton("Medium ($9)");
    rdoLarge = new JRadioButton("Large ($11)");
    rdoExtraLarge = new JRadioButton("Extra Large ($14)");

    //Toppings
    lblToppings = new JLabel("Choose toppings ($1 Each):");
    chkPepperoni = new JCheckBox("Pepperoni");
    chkMushrooms = new JCheckBox("Mushrooms");
    chkOlives = new JCheckBox("Olives");
    chkPineapple = new JCheckBox("Pineapple");

    //Drinks
    lblDrinks = new JLabel("Choose a drink:");
    rdoSoda = new JRadioButton("Soda ($2.00)");
    rdoTea = new JRadioButton("Tea ($1.50)");
    rdoBottledWater = new JRadioButton("Bottled Water ($1.25)");
    rdoTapWater = new JRadioButton("Tap Water (No charge)");


    //Add pizza sizes to button group
    grpSize = new ButtonGroup();
    grpSize.add(rdoSmall);
    grpSize.add(rdoMedium);
    grpSize.add(rdoLarge);
    grpSize.add(rdoExtraLarge);

    //Add drinks to button group
    grpDrinks = new ButtonGroup();
    grpDrinks.add(rdoSoda);
    grpDrinks.add(rdoTea);
    grpDrinks.add(rdoBottledWater);
    grpDrinks.add(rdoTapWater);

    //Add to panel
    panelSize.add(lblSize);
    panelSize.add(rdoSmall);
    panelSize.add(rdoMedium);
    panelSize.add(rdoLarge);
    panelSize.add(rdoExtraLarge);

    panelToppings.add(lblToppings);
    panelToppings.add(chkPepperoni);
    panelToppings.add(chkMushrooms);
    panelToppings.add(chkOlives);
    panelToppings.add(chkPineapple);

    panelDrinks.add(lblDrinks);
    panelDrinks.add(rdoSoda);
    panelDrinks.add(rdoTea);
    panelDrinks.add(rdoBottledWater);
    panelDrinks.add(rdoTapWater);

    container.add(panelSize);
    container.add(Box.createHorizontalStrut(40));
    container.add(panelToppings);
    container.add(Box.createHorizontalStrut(40));
    container.add(panelDrinks);
    container.add(calculateTotal);
    container.add(Box.createVerticalStrut(100));
    container.add(order);


}





}

이것은 출력 메뉴

각 메뉴 유형에 대해 세 개의 별도의 그리드 레이아웃 패널이 있으며 프레임에 추가되는 하나의 메인 패널에 추가합니다. 이미지에 표시된 빨간색과 같이 왼쪽 중간에 "Your Order :"를 배치하고 싶습니다. 좌표를 입력 할 수 있도록 레이아웃을 null로 설정할 수 있고 문제를 해결할 수 있다는 것을 알고 있지만 그렇게하는 것이 나쁜 습관이라는 것을 읽었으며 레이아웃을 올바르게 사용하는 방법을 효과적으로 배우려고 노력하고 있습니다. 내가 올바른 길을 가고 있는지도 모르겠지만 어떤 예가 도움이 될 것입니다. 감사

바브 나 가그

이것이 도움이 될 수 있습니다. 별도의 패널을 추가 한 다음 해당 패널에 대해 빈 테두리를 만들 수 있습니다.

container.add(panelSize);
container.add(Box.createHorizontalStrut(40));
container.add(panelToppings);
container.add(Box.createHorizontalStrut(40));
container.add(panelDrinks);
container.add(calculateTotal);


JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(BorderFactory.createEmptyBorder(10, 200, 10, 700));
panel.add(order, BorderLayout.EAST);
container.add(panel); 

이 이미지보기

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

플로트 레이아웃을 사용하여 다른 위치에 버튼 / 라벨을 배치하는 Python Kivy

분류에서Dev

사용자 정의 zoomview 아래의 상대 레이아웃에 버튼 배치

분류에서Dev

자동 레이아웃을 사용하여 중앙 근처에 버튼 배치

분류에서Dev

자동 레이아웃이있는 버튼의 IBCollectionOutlet 배열

분류에서Dev

자동 레이아웃이있는 버튼의 IBCollectionOutlet 배열

분류에서Dev

그룹의 Android 올바른 라디오 버튼 레이아웃

분류에서Dev

자동 레이아웃이 예상대로 Google 로그인 버튼을 배치하지 않음

분류에서Dev

Android 레이아웃에 사용자 지정 .psd 버튼을 배치하는 방법은 무엇입니까?

분류에서Dev

두 개의 버튼을 나란히 배치하는 자동 레이아웃을 얻을 수 없습니다.

분류에서Dev

자바 버튼 레이아웃 및 디스플레이

분류에서Dev

버튼 및 자동 레이아웃

분류에서Dev

레이아웃에 무작위로 버튼 배치

분류에서Dev

양식 레이아웃 및 버튼 배치

분류에서Dev

선형 레이아웃에서 버튼 중앙에 배치

분류에서Dev

라 라벨 블레이드 버튼 foreach

분류에서Dev

내비게이션 바 iOS에 라벨, 버튼 넣기

분류에서Dev

Android 버튼 레이아웃-5 개 버튼 및 배지

분류에서Dev

레이아웃을 터치해도 버튼이 다시 사라지지 않습니다.

분류에서Dev

반응 할 수 있도록 그리드 레이아웃 내부에 버튼을 올바르게 배치하는 방법

분류에서Dev

프로그래밍 방식으로 생성 된 라디오 버튼을 선형 레이아웃 수직 상위 Android 중앙에 배치

분류에서Dev

자동 레이아웃 VFL을 사용하여 버튼 배열을 수직으로 스택

분류에서Dev

자동 레이아웃을 사용하여 홈 버튼쪽에보기 위치 지정

분류에서Dev

iOS 자동 레이아웃을 사용하여 메뉴의 버튼을 중앙에 배치하려면 어떻게합니까?

분류에서Dev

드로어 블 위 / 벨로우 레이아웃 배치 방법

분류에서Dev

버튼 이동을 방지하는 자동 레이아웃

분류에서Dev

Yii 업데이트 버튼 라벨

분류에서Dev

라디오 버튼 및 텍스트보기 레이아웃

분류에서Dev

라디오 버튼 및 텍스트보기 레이아웃

분류에서Dev

자바 스크립트로 배치 할 때 버튼이 작동하지 않음

Related 관련 기사

  1. 1

    플로트 레이아웃을 사용하여 다른 위치에 버튼 / 라벨을 배치하는 Python Kivy

  2. 2

    사용자 정의 zoomview 아래의 상대 레이아웃에 버튼 배치

  3. 3

    자동 레이아웃을 사용하여 중앙 근처에 버튼 배치

  4. 4

    자동 레이아웃이있는 버튼의 IBCollectionOutlet 배열

  5. 5

    자동 레이아웃이있는 버튼의 IBCollectionOutlet 배열

  6. 6

    그룹의 Android 올바른 라디오 버튼 레이아웃

  7. 7

    자동 레이아웃이 예상대로 Google 로그인 버튼을 배치하지 않음

  8. 8

    Android 레이아웃에 사용자 지정 .psd 버튼을 배치하는 방법은 무엇입니까?

  9. 9

    두 개의 버튼을 나란히 배치하는 자동 레이아웃을 얻을 수 없습니다.

  10. 10

    자바 버튼 레이아웃 및 디스플레이

  11. 11

    버튼 및 자동 레이아웃

  12. 12

    레이아웃에 무작위로 버튼 배치

  13. 13

    양식 레이아웃 및 버튼 배치

  14. 14

    선형 레이아웃에서 버튼 중앙에 배치

  15. 15

    라 라벨 블레이드 버튼 foreach

  16. 16

    내비게이션 바 iOS에 라벨, 버튼 넣기

  17. 17

    Android 버튼 레이아웃-5 개 버튼 및 배지

  18. 18

    레이아웃을 터치해도 버튼이 다시 사라지지 않습니다.

  19. 19

    반응 할 수 있도록 그리드 레이아웃 내부에 버튼을 올바르게 배치하는 방법

  20. 20

    프로그래밍 방식으로 생성 된 라디오 버튼을 선형 레이아웃 수직 상위 Android 중앙에 배치

  21. 21

    자동 레이아웃 VFL을 사용하여 버튼 배열을 수직으로 스택

  22. 22

    자동 레이아웃을 사용하여 홈 버튼쪽에보기 위치 지정

  23. 23

    iOS 자동 레이아웃을 사용하여 메뉴의 버튼을 중앙에 배치하려면 어떻게합니까?

  24. 24

    드로어 블 위 / 벨로우 레이아웃 배치 방법

  25. 25

    버튼 이동을 방지하는 자동 레이아웃

  26. 26

    Yii 업데이트 버튼 라벨

  27. 27

    라디오 버튼 및 텍스트보기 레이아웃

  28. 28

    라디오 버튼 및 텍스트보기 레이아웃

  29. 29

    자바 스크립트로 배치 할 때 버튼이 작동하지 않음

뜨겁다태그

보관