微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Java GUI 中进行多项选择

如何解决如何在 Java GUI 中进行多项选择

这个程序应该是为想要预订宴会厅并要求用户回答有关活动的一些简单问题的人准备的。对于膳食计划、房间类型和 10 天问题,我只想有两个选项供用户选择,并且用户单击其中一个选项。所以就像一个多项选择。我尝试查找内容,但我找到的所有教程都是针对多项选择测验的控制台版本。我知道一种方法是使用 JButtons,但我想知道是否有更用户友好的方法来做到这一点。

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
abstract class Main implements ActionListener{
  public static void main(String[] args) {
    
        JFrame frame = new JFrame("Catering Company");
        frame.setSize(770,490);
        frame.setVisible(true);

        JPanel panel = new JPanel();
        panel.setLayout(null);

        JLabel DayLabel = new JLabel("What day of the week is it?:");
        DayLabel.setBounds(150,80,200,20);
        JTextField DayLabelTXT = new JTextField(5);
        DayLabelTXT.setBounds(360,70,25);

        JLabel AdultCount = new JLabel("How many adults are there?:");
        AdultCount.setBounds(145,120,220,20);
        JTextField AdultCountTXT = new JTextField(5);
        AdultCountTXT.setBounds(360,25);

        JLabel ChildCount = new JLabel("How many children are there?:");
        ChildCount.setBounds(134,160,225,20);
        JTextField ChildCountTXT = new JTextField(5);
        ChildCountTXT.setBounds(360,25);

        JLabel MealPlan = new JLabel("Choose a meal plan:");
        MealPlan.setBounds(208,20);


        JLabel room = new JLabel("Which room would you like to choose?:");
        room.setBounds(78,240,280,20);

        JLabel TenDays = new JLabel("Will you pay within the next 10 days?:");
        TenDays.setBounds(85,275,20);

        JLabel initialDep = new JLabel("What is your initial deposit:");
        initialDep.setBounds(155,320,20);
        JTextField initialDepTXT = new JTextField(5);
        initialDepTXT.setBounds(360,25);



        panel.add(DayLabel);
        panel.add(DayLabelTXT);

        panel.add(AdultCount);
        panel.add(AdultCountTXT);

        panel.add(ChildCount);
        panel.add(ChildCountTXT);

        panel.add(MealPlan);

        panel.add(room);

        panel.add(TenDays);

        panel.add(initialDep);
        panel.add(initialDepTXT);

        frame.add(panel);
  }
}

解决方法

我认为您有多种选择可以做到这一点,您可以使用 JRadioButtonJComboBoxJCheckBox,因为您有多种选择,我认为 JCheckBox 是最好的选择你,看看来自https://docs.oracle.com/ :

的这个例子
//In initialization code:
chinButton = new JCheckBox("Chin");
chinButton.setMnemonic(KeyEvent.VK_C); 
chinButton.setSelected(true);

glassesButton = new JCheckBox("Glasses");
glassesButton.setMnemonic(KeyEvent.VK_G); 
glassesButton.setSelected(true);

hairButton = new JCheckBox("Hair");
hairButton.setMnemonic(KeyEvent.VK_H); 
hairButton.setSelected(true);

teethButton = new JCheckBox("Teeth");
teethButton.setMnemonic(KeyEvent.VK_T); 
teethButton.setSelected(true);

结果:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?