Java 如何使用信息自动填充jRadioButtons?

Java 如何使用信息自动填充jRadioButtons?,java,swing,netbeans,jradiobutton,Java,Swing,Netbeans,Jradiobutton,我一直有一个问题,我不知道如何解决它。在我下面的代码中,您可以看到我正在尝试创建一个GUI,用提供的信息自动填充20个jRadioButtons,但是当我运行程序时,没有可见的按钮。有人能告诉我我做错了什么吗? 包装人 import java.util.ArrayList; import java.util.List; import javax.swing.*; public class PersonInfoUI extends javax.swing.JFra

我一直有一个问题,我不知道如何解决它。在我下面的代码中,您可以看到我正在尝试创建一个GUI,用提供的信息自动填充20个jRadioButtons,但是当我运行程序时,没有可见的按钮。有人能告诉我我做错了什么吗? 包装人

    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.*;

    public class PersonInfoUI extends javax.swing.JFrame {

        public PersonInfoUI() {
            initComponents();
            ButtonGroup buttonGroup1 = new ButtonGroup();
            JRadioButton jRadioButton1 = new JRadioButton();
            personSelectorUI.add(jRadioButton1);
            personSelectorUI.revalidate();
            personSelectorUI.repaint();

        }
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {

            personSelectorUI = new javax.swing.JPanel();
            exitButton = new javax.swing.JButton();
            clearButton = new javax.swing.JButton();
            personInfoOutput = new javax.swing.JTextField();

            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

            exitButton.setFont(new java.awt.Font("Times New Roman", 1, 18)); //          NOI18N
            exitButton.setText("Exit");
            exitButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    exitButtonActionPerformed(evt);
                }
            });

            clearButton.setFont(new java.awt.Font("Times New Roman", 1, 18)); //     NOI18N
            clearButton.setText("Clear");
            clearButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    clearButtonActionPerformed(evt);
                }
            });

            javax.swing.GroupLayout personSelectorUILayout = new    
                javax.swing.GroupLayout(personSelectorUI);
            personSelectorUI.setLayout(personSelectorUILayout);
            personSelectorUILayout.setHorizontalGroup(

    personSelectorUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA    DING)
                .addGroup(personSelectorUILayout.createSequentialGroup()
                    .addContainerGap()

    .addGroup(personSelectorUILayout.createParallelGroup(javax.swing.GroupLayout.Ali    gnment.LEADING)
                        .addComponent(personInfoOutput,     
    javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,    
    personSelectorUILayout.createSequentialGroup()
                            .addComponent(exitButton,   
    javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE)

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(clearButton,  
    javax.swing.GroupLayout.PREFERRED_SIZE, 349, 
    javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap())
            );
            personSelectorUILayout.setVerticalGroup(

    personSelectorUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA    DING)
                .addGroup(personSelectorUILayout.createSequentialGroup()
                    .addGap(151, 151, 151)
                    .addComponent(personInfoOutput,   
    javax.swing.GroupLayout.PREFERRED_SIZE, 121,   
    javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(personSelectorUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(exitButton, javax.swing.GroupLayout.DEFAULT_SIZE, 35, Short.MAX_VALUE)
                    .addComponent(clearButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(personSelectorUI, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(personSelectorUI, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        pack();
    }// </editor-fold>                        

    private void clearButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
        personInfoOutput.setText("");
    }                                           

    private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           
        System.exit(0);
    }                                          

    public static void main(String args[]) {
        ButtonGroup buttonGroup1 = new ButtonGroup();

        List<Person> people = new ArrayList<>();
            people.add(new Person ("Nate Stoll", true, true, 1981));
            people.add(new Person ("Ashley Stoll", true, true, 1985));
            people.add(new Person ("Brooke Jackson", true, true, 1972));
            people.add(new Person ("Reed Stoll", true, true, 1983));
            people.add(new Person ("Reeda Stoll", true, true, 1942));
            people.add(new Person ("John Stoll", true, true, 1940));
            people.add(new Person ("Clark Kent", true, true, 1912));
            people.add(new Person ("Reed Richards", true, true, 1992));
            people.add(new Person ("Peter Parker", true, true, 1924));
            people.add(new Person ("Charles Xavier", true, true, 1905));
            people.add(new Person ("Bruce Banner", true, true, 1980));
            people.add(new Person ("Cheri Monaghan", true, true, 1979));
            people.add(new Person ("Matthew Groathouse", true, true, 1949));
            people.add(new Person ("John Williams", true, true, 1958));
            people.add(new Person ("Jake Holmes", true, true, 1998));
            people.add(new Person ("Bradley Cooper", true, true, 2015));
            people.add(new Person ("Shirley Temple", true, true, 1907));
            people.add(new Person ("Natalie Stoll", true, true, 1900));
            people.add(new Person ("Lindsay Gonzalez", true, true, 1970));
            people.add(new Person ("Tommy Chong", true, true, 1957));
    for(Person aPers : people){
        final JRadioButton jRadioButton1 = new JRadioButton(aPers.getName());
        jRadioButton1.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            if (jRadioButton1.isSelected()){
                personInfoOutput.setText(jRadioButton1.getText()); }
                }
                });
                buttonGroup1.add(jRadioButton1);
        }
                new PersonInfoUI().setVisible(true);

        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new PersonInfoUI().setVisible(true);
            }
         });
}


    // Variables declaration - do not modify                     
    private javax.swing.JButton clearButton;
    private javax.swing.JButton exitButton;
    private static javax.swing.JTextField personInfoOutput;
    private static javax.swing.JPanel personSelectorUI;
    // End of variables declaration                   

}
import java.util.ArrayList;
导入java.util.List;
导入javax.swing.*;
公共类PersonInfoUI扩展了javax.swing.JFrame{
公众人物信息(){
初始化组件();
ButtonGroup ButtonGroup 1=新建ButtonGroup();
JRadioButton JRadioButton 1=新的JRadioButton();
personSelectorUI.add(jRadioButton1);
personSelectorUI.revalidate();
personSelectorUI.repaint();
}
@抑制警告(“未选中”)
//                           
私有组件(){
personSelectorUI=newjavax.swing.JPanel();
exitButton=newjavax.swing.JButton();
clearButton=newjavax.swing.JButton();
PersonInfo输出=new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setFont(新java.awt.Font(“Times new Roman”,1,18));//NOI18N
setText(“退出”);
exitButton.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
ExitButtoActionExecuted(evt);
}
});
clearButton.setFont(新java.awt.Font(“Times new Roman”,1,18));//NOI18N
clearButton.setText(“清除”);
clearButton.addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
clearButtonActionPerformed(evt);
}
});
javax.swing.GroupLayout personSelectorUILayout=新建
GroupLayout(personSelectorUI);
设置布局(personSelectorUILayout);
personSelectorUILayout.setHorizontalGroup(
personSelectorUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.Leading)
.addGroup(personSelectorUILayout.createSequentialGroup()
.addContainerGap()
.addGroup(personSelectorUILayout.createParallelGroup(javax.swing.GroupLayout.alignment.LEADING)
.addComponent(PersonInfo输出,
javax.swing.GroupLayout.Alignment.training)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
personSelectorUILayout.createSequentialGroup()
.addComponent(退出按钮,
javax.swing.GroupLayout.DEFAULT_SIZE,344,Short.MAX_值)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(clearButton,
javax.swing.GroupLayout.PREFERRED_SIZE,349,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
personSelectorUILayout.setVerticalGroup(
personSelectorUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.Leading)
.addGroup(personSelectorUILayout.createSequentialGroup()
.addGap(151、151、151)
.addComponent(PersonInfo输出,
javax.swing.GroupLayout.PREFERRED_SIZE,121,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(personSelectorUILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(exitButton,javax.swing.GroupLayout.DEFAULT_SIZE,35,Short.MAX_VALUE)
.addComponent(clearButton,javax.swing.GroupLayout.DEFAULT\u SIZE,javax.swing.GroupLayout.DEFAULT\u SIZE,Short.MAX\u VALUE))
.addContainerGap())
);
javax.swing.GroupLayout=newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(布局);
layout.setHorizontalGroup(
createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup()
.addContainerGap()
.addComponent(personSelectorUI,javax.swing.GroupLayout.DEFAULT\u大小,javax.swing.GroupLayout.DEFAULT\u大小,简称.MAX\u值)
.addContainerGap())
);
layout.setVerticalGroup(
createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(personSelectorUI、javax.swing.GroupLayout.Alignment.Training、javax.swing.GroupLayout.PREFERRED\u大小、javax.swing.GroupLayout.DEFAULT\u大小、javax.swing.GroupLayout.PREFERRED\u大小)
);
包装();
}//                         
私有无效clearButtonActionPerformed(java.awt.event.ActionEvent evt){
personInfoOutput.setText(“”);
}                                           
私有void exitButtonActionPerformed(java.awt.event.ActionEvent evt){
系统出口(0);
}                                          
公共静态void main(字符串参数[]){
ButtonGroup ButtonGroup 1=新建ButtonGroup();
List people=new ArrayList();
添加(新人物(“Nate Stoll”,真,真,1981年));
添加(新人物(“Ashley Stoll”,真,真,1985年));
添加(新人(“布鲁克·杰克逊”,真的,真的,1972年));
添加(新人物(“里德·斯托尔”,真实,真实,1983年));
添加(新人物(“Reeda Stoll”,真,真,1942年));
体育课