第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JRadioButton 未正確顯示

JRadioButton 未正確顯示

紫衣仙女 2023-09-06 16:10:37
我想創(chuàng)建一個簡單的食品訂購系統(tǒng),現(xiàn)在我正在創(chuàng)建訂單表單的界面。我使用 GridBagLayout 來創(chuàng)建表單布局,我的問題是當我想在同一行中分配 3 個單選按鈕時,它只顯示 1 個按鈕......我希望有人可以幫助我......這是我的java代碼:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.*;/** * * @author user */public class ChickenChopOrderingSystem{    JFrame frame;    JPanel mainPanel, p1, p2, p3, p4;    JLabel lblTitle, lblName, lblPhoneNum, lblFlavour, lblChickenPart;    JTextField txtName, txtPhoneNum;    String flavour[] = {"Black Pepper Sauce", "Hainanese", "Grilled", "Lemon"};    JComboBox box;    ButtonGroup bg = new ButtonGroup();    JRadioButton btnWhole, btnHalf, btnQuarter;    JButton btnDone, btnExit;    public ChickenChopOrderingSystem()    {        frame = new JFrame("Chicken Chop Ordering System");        mainPanel = new JPanel();        mainPanel.setPreferredSize(new Dimension(700,700));        mainPanel.setBackground(Color.yellow);        lblName = new JLabel("Customer's Name: ");            txtName = new JTextField(20);        lblPhoneNum = new JLabel("Phone Number: ");            txtPhoneNum = new JTextField(11);        lblChickenPart = new JLabel("Select Part of Chicken: ");            btnWhole = new JRadioButton("Whole");                btnWhole.addItemListener(new OperationListener());            btnHalf = new JRadioButton("Half");                btnHalf.addItemListener(new OperationListener());            btnQuarter = new JRadioButton("Quarter");                btnQuarter.addItemListener(new OperationListener());            bg.add(btnWhole);            bg.add(btnHalf);    }單擊此處查看輸出
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

對于這樣的事情:

https://img1.sycdn.imooc.com//64f834470001673904620272.jpg

使用此代碼:


import java.awt.*;

import javax.swing.*;


public class ChickenChopOrderingSystem {


    JFrame frame;

    JPanel mainPanel, p1, p2, p3, p4;

    JLabel lblTitle, lblName, lblPhoneNum, lblFlavour, lblChickenPart;

    JTextField txtName, txtPhoneNum;

    String flavour[] = {"Black Pepper Sauce", "Hainanese", "Grilled", "Lemon"};

    JComboBox box;

    ButtonGroup bg = new ButtonGroup();

    JRadioButton btnWhole, btnHalf, btnQuarter;

    JButton btnDone, btnExit;


    public ChickenChopOrderingSystem() {

        frame = new JFrame("Chicken Chop Ordering System");

        mainPanel = new JPanel();

        // GUESSWORK! 

        //mainPanel.setPreferredSize(new Dimension(700,700));

        mainPanel.setBackground(Color.yellow);


        lblName = new JLabel("Customer's Name: ");

        txtName = new JTextField(20);


        lblPhoneNum = new JLabel("Phone Number: ");

        txtPhoneNum = new JTextField(11);


        lblChickenPart = new JLabel("Select Part of Chicken: ");

        btnWhole = new JRadioButton("Whole");

        btnHalf = new JRadioButton("Half");

        btnQuarter = new JRadioButton("Quarter");

        bg.add(btnWhole);

        bg.add(btnHalf);

        bg.add(btnQuarter);


        lblFlavour = new JLabel("Select a flavour: ");

        box = new JComboBox(flavour);


        btnDone = new JButton("Done");

        btnExit = new JButton("Exit");


        //GridBaglayout

        mainPanel.setLayout(new GridBagLayout());

        GridBagConstraints gbc = new GridBagConstraints();

        int s = 20;

        gbc.insets = new Insets(s,s,s,s);


        //Label

        gbc.fill = GridBagConstraints.HORIZONTAL;

        gbc.gridx = 0;

        gbc.gridy = 0;

        gbc.weightx = 0.5;

        gbc.weighty = 0.5;

        mainPanel.add(lblName, gbc);


        gbc.fill = GridBagConstraints.HORIZONTAL;

        gbc.gridx = 0;

        gbc.gridy = 1;

        gbc.weightx = 0.5;

        mainPanel.add(lblPhoneNum, gbc);


        gbc.fill = GridBagConstraints.HORIZONTAL;

        gbc.gridx = 0;

        gbc.gridy = 2;

        gbc.weightx = 0.5;

        mainPanel.add(lblChickenPart, gbc);


        gbc.fill = GridBagConstraints.HORIZONTAL;

        gbc.gridx = 0;

        gbc.gridy = 3;

        gbc.weightx = 0.5;

        mainPanel.add(lblFlavour, gbc);


        //TextField

        gbc.fill = GridBagConstraints.HORIZONTAL;

        gbc.gridx = 1;

        gbc.gridy = 0;

        gbc.gridwidth = 3;

        mainPanel.add(txtName, gbc);


        gbc.fill = GridBagConstraints.HORIZONTAL;

        gbc.gridx = 1;

        gbc.gridy = 1;

        gbc.gridwidth = 3;

        mainPanel.add(txtPhoneNum, gbc);


        gbc.fill = GridBagConstraints.HORIZONTAL;

        gbc.gridx = 1;

        gbc.gridy = 2;

        gbc.gridwidth = 1;

        gbc.weightx = 1d/6d;

        mainPanel.add(btnWhole, gbc);


        gbc.gridx = 2;

        gbc.gridy = 2;

        mainPanel.add(btnHalf, gbc);


        gbc.gridx = 3;

        gbc.gridy = 2;

        mainPanel.add(btnQuarter, gbc);


        gbc.fill = GridBagConstraints.HORIZONTAL;

        gbc.gridx = 1;

        gbc.gridy = 3;

        gbc.gridwidth = 3;

        mainPanel.add(box, gbc);


        //frame setting

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setLayout(new GridBagLayout());

        frame.add(mainPanel, new GridBagConstraints());

        // GUESSWORK! 

        //frame.setSize(new Dimension(1000, 1000));

        frame.pack();

        frame.setVisible(true);

    }


    public static void main(String[] args) {

        ChickenChopOrderingSystem run = new ChickenChopOrderingSystem();

    }

}

原來的代碼存在很多問題。(拖網(wǎng)記憶..)

  • 最后一個元素的約束沒有設置回網(wǎng)格寬度 3,這讓布局管理器感到困惑。

  • 他們ItemListener在移除組件時做了一些奇怪的事情,要這樣做。

  • 面板的首選尺寸和框架的尺寸都是猜測。用于pack()計算正確的尺寸。Inserts(向空白的初始約束添加標準。)


查看完整回答
反對 回復 2023-09-06
  • 1 回答
  • 0 關注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號