Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中更改特定类型的所有对象的属性_Java_Swing_Netbeans_Properties - Fatal编程技术网

在Java中更改特定类型的所有对象的属性

在Java中更改特定类型的所有对象的属性,java,swing,netbeans,properties,Java,Swing,Netbeans,Properties,我有一个类,包括javax.swing.JButton,javax.swing.JTextField 但是,在实例化类之后,我只需要更改某些类型的属性 我尝试使用this.getComponents()但是返回了null 这是我的代码: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, cho

我有一个类,包括
javax.swing.JButton
javax.swing.JTextField

但是,在实例化类之后,我只需要更改某些类型的属性

我尝试使用
this.getComponents()
但是返回了
null

这是我的代码:

    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package test;
    import java.awt.Component;
    import java.awt.Font;

    /**
     *
     * @author Usuario
     */
    public class NewJFrame extends javax.swing.JFrame {

        /**
         * Creates new form NewJFrame
         */
        public NewJFrame() {
          initComponents();
          Component[] component = this.getComponents();
          System.out.println("this.getName():"+this.getName());
          System.out.println("this.getClass().getName():"+this.getClass().getName());
          System.out.println("component.length:"+component.length);
          for(int i=0; i<component.length; i++) {
            System.out.println("--component[i].getName()"+component[i].getName());
            if (component[i] instanceof javax.swing.JTextField) {
              javax.swing.JTextField jtf = (javax.swing.JTextField)component[i];
              System.out.println(jtf.getName());
              jtf.setFont(new Font("Serif",Font.PLAIN, 36));
            }
          }
          UIManager.getLookAndFeelDefaults().put("TextField.font", new Font("Serif",Font.PLAIN, 36));
          //UIManager.getDefaults().put("TextField.font", new Font("Serif",Font.PLAIN, 36));
          //UIManager.put("TextField.font", new Font("Serif",Font.PLAIN, 36));
          //this.updateUI();  // Is not suitable for javax.swing.JFrame
          this.pack();
        }

        /**
         * This method is called from within the constructor to initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is always
         * regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {

            jtpBot = new javax.swing.JTabbedPane();
            jpOne = new javax.swing.JPanel();
            jpOneInner = new javax.swing.JPanel();
            jbFirst = new javax.swing.JButton();
            jtfOne = new javax.swing.JTextField();
            jpOnePlot = new javax.swing.JPanel();
            jpTwo = new javax.swing.JPanel();
            jpTwoInner = new javax.swing.JPanel();
            jbTwo = new javax.swing.JButton();
            jtfTwo = new javax.swing.JTextField();
            jpTwoPlot = new javax.swing.JPanel();
            jpThree = new javax.swing.JPanel();
            jpThreeInner = new javax.swing.JPanel();
            jbThree = new javax.swing.JButton();
            jtfThree = new javax.swing.JTextField();
            jpThreePlot = new javax.swing.JPanel();

            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setBackground(new java.awt.Color(255, 255, 255));

            jtpBot.setBackground(new java.awt.Color(0, 0, 0));
            jtpBot.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));

            jpOne.setBackground(new java.awt.Color(0, 191, 191));

            jpOneInner.setBackground(new java.awt.Color(255, 0, 0));
            jpOneInner.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));

            jbFirst.setText("First");
            jbFirst.setMaximumSize(new java.awt.Dimension(70, 23));
            jbFirst.setMinimumSize(new java.awt.Dimension(70, 23));
            jbFirst.setPreferredSize(new java.awt.Dimension(70, 23));

            jtfOne.setMaximumSize(new java.awt.Dimension(80, 20));
            jtfOne.setMinimumSize(new java.awt.Dimension(80, 20));
            jtfOne.setPreferredSize(new java.awt.Dimension(80, 20));

            jpOnePlot.setBackground(new java.awt.Color(191, 191, 191));
            jpOnePlot.setBorder(javax.swing.BorderFactory.createEtchedBorder());

            javax.swing.GroupLayout jpOnePlotLayout = new javax.swing.GroupLayout(jpOnePlot);
            jpOnePlot.setLayout(jpOnePlotLayout);
            jpOnePlotLayout.setHorizontalGroup(
                jpOnePlotLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 181, Short.MAX_VALUE)
            );
            jpOnePlotLayout.setVerticalGroup(
                jpOnePlotLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 0, Short.MAX_VALUE)
            );

            javax.swing.GroupLayout jpOneInnerLayout = new javax.swing.GroupLayout(jpOneInner);
            jpOneInner.setLayout(jpOneInnerLayout);
            jpOneInnerLayout.setHorizontalGroup(
                jpOneInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpOneInnerLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jbFirst, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jtfOne, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jpOnePlot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );
            jpOneInnerLayout.setVerticalGroup(
                jpOneInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpOneInnerLayout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(jpOneInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jpOneInnerLayout.createSequentialGroup()
                            .addGroup(jpOneInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jbFirst, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jtfOne, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(0, 117, Short.MAX_VALUE))
                        .addComponent(jpOnePlot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap())
            );

            javax.swing.GroupLayout jpOneLayout = new javax.swing.GroupLayout(jpOne);
            jpOne.setLayout(jpOneLayout);
            jpOneLayout.setHorizontalGroup(
                jpOneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpOneLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jpOneInner, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );
            jpOneLayout.setVerticalGroup(
                jpOneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jpOneLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jpOneInner, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );

            jtpBot.addTab("One", jpOne);

            jpTwo.setBackground(new java.awt.Color(191, 0, 191));

            jpTwoInner.setBackground(new java.awt.Color(0, 255, 0));
            jpTwoInner.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));

            jbTwo.setText("Two");
            jbTwo.setMaximumSize(new java.awt.Dimension(70, 23));
            jbTwo.setMinimumSize(new java.awt.Dimension(70, 23));
            jbTwo.setPreferredSize(new java.awt.Dimension(70, 23));

            jtfTwo.setMaximumSize(new java.awt.Dimension(80, 20));
            jtfTwo.setMinimumSize(new java.awt.Dimension(80, 20));
            jtfTwo.setPreferredSize(new java.awt.Dimension(80, 20));

            jpTwoPlot.setBackground(new java.awt.Color(191, 191, 191));
            jpTwoPlot.setBorder(javax.swing.BorderFactory.createEtchedBorder());

            javax.swing.GroupLayout jpTwoPlotLayout = new javax.swing.GroupLayout(jpTwoPlot);
            jpTwoPlot.setLayout(jpTwoPlotLayout);
            jpTwoPlotLayout.setHorizontalGroup(
                jpTwoPlotLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 181, Short.MAX_VALUE)
            );
            jpTwoPlotLayout.setVerticalGroup(
                jpTwoPlotLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 0, Short.MAX_VALUE)
            );

            javax.swing.GroupLayout jpTwoInnerLayout = new javax.swing.GroupLayout(jpTwoInner);
            jpTwoInner.setLayout(jpTwoInnerLayout);
            jpTwoInnerLayout.setHorizontalGroup(
                jpTwoInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpTwoInnerLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jbTwo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jtfTwo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jpTwoPlot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );
            jpTwoInnerLayout.setVerticalGroup(
                jpTwoInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpTwoInnerLayout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(jpTwoInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jpTwoPlot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(jpTwoInnerLayout.createSequentialGroup()
                            .addGroup(jpTwoInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jbTwo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jtfTwo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(0, 117, Short.MAX_VALUE)))
                    .addContainerGap())
            );

            javax.swing.GroupLayout jpTwoLayout = new javax.swing.GroupLayout(jpTwo);
            jpTwo.setLayout(jpTwoLayout);
            jpTwoLayout.setHorizontalGroup(
                jpTwoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpTwoLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jpTwoInner, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );
            jpTwoLayout.setVerticalGroup(
                jpTwoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jpTwoLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jpTwoInner, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );

            jtpBot.addTab("Two", jpTwo);

            jpThree.setBackground(new java.awt.Color(191, 191, 0));

            jpThreeInner.setBackground(new java.awt.Color(0, 0, 255));
            jpThreeInner.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));

            jbThree.setText("Three");
            jbThree.setMaximumSize(new java.awt.Dimension(70, 23));
            jbThree.setMinimumSize(new java.awt.Dimension(70, 23));
            jbThree.setPreferredSize(new java.awt.Dimension(70, 23));

            jtfThree.setMaximumSize(new java.awt.Dimension(80, 20));
            jtfThree.setMinimumSize(new java.awt.Dimension(80, 20));
            jtfThree.setPreferredSize(new java.awt.Dimension(80, 20));

            jpThreePlot.setBackground(new java.awt.Color(191, 191, 191));
            jpThreePlot.setBorder(javax.swing.BorderFactory.createEtchedBorder());

            javax.swing.GroupLayout jpThreePlotLayout = new javax.swing.GroupLayout(jpThreePlot);
            jpThreePlot.setLayout(jpThreePlotLayout);
            jpThreePlotLayout.setHorizontalGroup(
                jpThreePlotLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 181, Short.MAX_VALUE)
            );
            jpThreePlotLayout.setVerticalGroup(
                jpThreePlotLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 0, Short.MAX_VALUE)
            );

            javax.swing.GroupLayout jpThreeInnerLayout = new javax.swing.GroupLayout(jpThreeInner);
            jpThreeInner.setLayout(jpThreeInnerLayout);
            jpThreeInnerLayout.setHorizontalGroup(
                jpThreeInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpThreeInnerLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jbThree, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jtfThree, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jpThreePlot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );
            jpThreeInnerLayout.setVerticalGroup(
                jpThreeInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpThreeInnerLayout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(jpThreeInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jpThreePlot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(jpThreeInnerLayout.createSequentialGroup()
                            .addGroup(jpThreeInnerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jbThree, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jtfThree, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(0, 117, Short.MAX_VALUE)))
                    .addContainerGap())
            );

            javax.swing.GroupLayout jpThreeLayout = new javax.swing.GroupLayout(jpThree);
            jpThree.setLayout(jpThreeLayout);
            jpThreeLayout.setHorizontalGroup(
                jpThreeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jpThreeLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jpThreeInner, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );
            jpThreeLayout.setVerticalGroup(
                jpThreeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jpThreeLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jpThreeInner, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );

            jtpBot.addTab("Three", jpThree);

            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jtpBot)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(69, 69, 69)
                    .addComponent(jtpBot)
                    .addContainerGap())
            );

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

        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>

            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new NewJFrame().setVisible(true);
                }
            });
        }

        boolean bCanIuseOne = false;
        boolean bCanIuseTwo = false;
        boolean bThreadFree = true;
        boolean bMouseFree = false;

        // Variables declaration - do not modify                     
        private javax.swing.JButton jbFirst;
        private javax.swing.JButton jbThree;
        private javax.swing.JButton jbTwo;
        private javax.swing.JPanel jpOne;
        private javax.swing.JPanel jpOneInner;
        private javax.swing.JPanel jpOnePlot;
        private javax.swing.JPanel jpThree;
        private javax.swing.JPanel jpThreeInner;
        private javax.swing.JPanel jpThreePlot;
        private javax.swing.JPanel jpTwo;
        private javax.swing.JPanel jpTwoInner;
        private javax.swing.JPanel jpTwoPlot;
        private javax.swing.JTextField jtfOne;
        private javax.swing.JTextField jtfThree;
        private javax.swing.JTextField jtfTwo;
        private javax.swing.JTabbedPane jtpBot;
        // End of variables declaration                   
    }
我想得到类似于:

javax.swing.JTextField jtfOne;
javax.swing.JTextField jtfThree;
javax.swing.JTextField jtfTwo;
javax.swing.JButton jbFirst;
javax.swing.JButton jbThree;
javax.swing.JButton jbTwo;
怎么做?

PD:我正在与Netbeans合作

编辑1:尝试了VGR的建议

编辑2:WillShackleford的解决方案,谢谢!!!:

public NewJFrame() {
  Color ACTIVE_COLOUR = Color.DARK_GRAY;
  Color INACTIVE_COLOUR = Color.LIGHT_GRAY;
  Font theFont = new Font("Serif",Font.PLAIN, 11);
  UIManager.put("TextField.font", theFont);
  UIManager.put("Button.font", theFont);
  UIManager.put("ComboBox.font", theFont);
  //UIManager.put("TextField.background", new ColorUIResource(ACTIVE_COLOUR));
  UIManager.put("TextField.background", ACTIVE_COLOUR);
  UIManager.put("TextField.foreground", INACTIVE_COLOUR);

  initComponents();

  List<Component> l = new ArrayList<>();
  addComponents(this, l);
  for(int i = 0; i < l.size(); i++) {
    if (l.get(i) instanceof javax.swing.JTextField) {
      javax.swing.JTextField jtf = (javax.swing.JTextField)l.get(i);
      jtf.setFont(new Font("Serif",Font.PLAIN, 24));
      jtf.setPreferredSize(new Dimension(jtf.getWidth(), jtf.getHeight()+10));
      System.out.println("JTextField:"+", Width:"+jtf.getWidth()+", Height:"+jtf.getHeight());
    }
    if (l.get(i) instanceof javax.swing.JButton) {
      javax.swing.JButton jb = (javax.swing.JButton)l.get(i);
      jb.setPreferredSize(new Dimension(jb.getWidth(), jb.getHeight()+10));
      System.out.println("JButton:"+", Width:"+jb.getWidth()+", Height:"+jb.getHeight());
    }
  }
}

public void addComponents(Container c, List<Component> l) {
  Component ca[] = c.getComponents();
  l.addAll(Arrays.asList(ca));
  for (int i = 0; i < ca.length; i++) {
    Component component = ca[i];
    if (Container.class.isAssignableFrom(component.getClass())) {
        addComponents((Container) component, l);
    }
  }
}
public NewJFrame(){
颜色活动颜色=颜色。深灰色;
颜色不活动\u颜色=颜色。浅灰色;
Font-theFont=新字体(“衬线”,Font.PLAIN,11);
UIManager.put(“TextField.font”,字体);
UIManager.put(“Button.font”,字体);
UIManager.put(“ComboBox.font”,字体);
//UIManager.put(“TextField.background”,新颜色uiresource(ACTIVE_color));
UIManager.put(“TextField.background”,活动颜色);
UIManager.put(“文本字段.前景”,非活动颜色);
初始化组件();
列表l=新的ArrayList();
添加组件(本,l);
对于(int i=0;i
Netbeans中的GUI编辑器使得在一个步骤中选择任意一组组件并更改其所有属性变得非常容易

  • 转到框架或面板的设计视图
  • 选择要更改的所有零部件。这可以通过编辑器窗口中的图形选择矩形或导航器窗口中左下角的树状视图来完成。在navigator窗口中,您可以看到名称和类型,以快速选择所有给定类型。正常选择规则适用。按住shift键可选择上一个选定组件和下一个选定组件之间的所有组件,单击或按住control键可从集合中添加/减去一个元素
  • 右键单击弹出菜单并选择“属性”
  • 选择多个零部件后,只有它们具有共同的特性才可见
  • 更改所需的任何特性,所有选定的零部件都将设置该特性
  • 如果您仍然需要所有组件的列表,这似乎对我有用:

    public NewJFrame() {
        initComponents();
        List<Component> l = new ArrayList<>();
        addComponents(this, l);
        System.out.println("l = " + l);
    }
    
    public void addComponents(Container c, List<Component> l) {
        Component ca[] = c.getComponents();
        l.addAll(Arrays.asList(ca));
        for (int i = 0; i < ca.length; i++) {
            Component component = ca[i];
            if (Container.class.isAssignableFrom(component.getClass())) {
                addComponents((Container) component, l);
            }
        }
    }
    
    public NewJFrame(){
    初始化组件();
    列表l=新的ArrayList();
    添加组件(本,l);
    System.out.println(“l=”+l);
    }
    公共组件(容器c,列表l){
    组件ca[]=c.getComponents();
    l、 addAll(Arrays.asList(ca));
    对于(int i=0;i
    I deleted:你说“我想更改某一类型的属性”是什么意思?更改所有JTextField类型对象的字体、前景属性,并更改所有JButton类型对象的字体、大小属性!如果要更改所有jtextfield的字体,应使用
    UIManager.put(“TextField.font”,newFont)
    。同样,为键“TextField.foreground”传递一个新颜色。然后执行
    this.updateUI()
    以使新的UI默认值生效,并执行
    this.pack()
    以考虑新的首选大小。您还应该删除对set*Size方法的所有调用。
    有您的命题示例吗?
    -在调用任何“新”语句创建Swing对象之前,您可以调用
    UIManager.put(…)
    语句。如果你想测试一个概念,那么创建一个测试来做一个简单的测试。即创建一个框架并向该框架添加两个或三个组件。确保类中的第一行代码是
    UIManager.put(…)
    语句。整个测试程序大约需要10-15行代码。如果它不能像预期的那样工作,那么你可以在论坛上发布简单的代码,而不是100行代码。
    public NewJFrame() {
        initComponents();
        List<Component> l = new ArrayList<>();
        addComponents(this, l);
        System.out.println("l = " + l);
    }
    
    public void addComponents(Container c, List<Component> l) {
        Component ca[] = c.getComponents();
        l.addAll(Arrays.asList(ca));
        for (int i = 0; i < ca.length; i++) {
            Component component = ca[i];
            if (Container.class.isAssignableFrom(component.getClass())) {
                addComponents((Container) component, l);
            }
        }
    }