<>获取JFileChooser中JTextField

	private static JLabel findLabel(JComponent comp, String s){ 
        JLabel label = null; 
        if (comp instanceof JLabel) { 
            if (((JLabel)comp).getText().equals(s)){ 
                label = (JLabel)comp; 
            }             
        } else if (comp instanceof JComponent) { 
            Component[] comps = comp.getComponents();             
            for (int i=0; i<comps.length; i++) { 
                if (comps[i] instanceof JComponent) { 
                    label = findLabel((JComponent)comps[i], s); 
                    if (label != null) { 
                        break; 
                    } 
                } 
            }             
        } 
        return label; 
    }
	 public static Component getLabelForInChooser(JFileChooser chooser, String key){ 
	        java.util.Locale l = chooser.getLocale(); 
	        String s = UIManager.getString(key, l); 
	         
	        javax.swing.plaf.FileChooserUI ui = chooser.getUI(); 
	        int count = ui.getAccessibleChildrenCount(chooser); 
	        for (int i=0; i<count; i++) { 
	            javax.accessibility.Accessible a =  
	                ui.getAccessibleChild(chooser, i); 
	            JLabel label = findLabel((JComponent)a, s); 
	            if (label != null) { 
	                return label.getLabelFor(); 
	            } 
	        } 
	        return null; 
	    } 

 获取JTextFiled

JFileChooser chooser = new JFileChooser(""); 
        Component comp = getLabelForInChooser(chooser, "FileChooser.fileNameLabelText"); 
        if (comp instanceof JTextField) { 
            JTextField field = ((JTextField)comp);
            field.setText(fileName);
        } 

 

 

你可能感兴趣的:(UI,swing)