Frame能添加的一些组件及基本样式

173 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

@TOC

测试1

package frame;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.*;

public class Frame能添加地一些组件及基本样式2205232237 {
	
	public static void main(String...arugments) throws Exception {
		
		Frame frame = (Frame)Class.forName("java.awt.Frame").getDeclaredConstructor(String.class).newInstance("Frame能添加地一些组件及基本样式2205232237");
		frame.addWindowListener(new WindowAdapter() {
			@Override public void windowClosing(WindowEvent ev) {System.exit(0);}
		});
		frame.setBounds(100, 100, 1600, 800);
		LayoutManager frameLayout = new GridLayout(0, 8, 10, 10);
		frame.setLayout(frameLayout);
		
		frame.add(new Label("Label"));
		frame.add(new JLabel("JLabel"));
		frame.add(new Button("Button"));
		frame.add(new JButton("JButton"));
		frame.add(new TextField("TextField"));
		frame.add(new JTextField("JTextField"));
		frame.add(new TextArea("TextArea"));
		frame.add(new JTextArea("JTextArea"));
		frame.add(new Checkbox("CheckBox"));
		frame.add(new JCheckBox("JCheckBox"));
		List awtList=new List(); awtList.add("Item1"); awtList.add("Item2"); awtList.add("Item3"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item");
		 awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item");
		frame.add(awtList);
		JList<String> jlist=new JList<>(new String[] {"Item1","Item2"}); 
		jlist.setListData(new String[] {"Item3", "Item4","Item5","Item6","Item","Item","Item","Item","Item","Item","Item13","Item14","Item15","Item","Item","Item"});
		frame.add(jlist);
		Choice choice = new Choice(); choice.add("choice option1"); choice.add("choice option2");  choice.add("choice option3"); 
		frame.add(choice);
		frame.add(new JFileChooser());
		frame.add(new Canvas());
		frame.add(new Scrollbar());
		frame.add(new JScrollBar());
		frame.add(new ScrollPane());
		frame.add(new JScrollPane());
		frame.add(new JMenu("JMenu是Component,Menu不是,frame不能add(Menu)"));
		frame.add(new Panel());
		frame.add(new JPanel());
		frame.add(Box.createVerticalBox());
		frame.add(Box.createHorizontalBox());
		frame.add(new JRootPane());
		
		
		
		for(int i=0; i<frame.getComponentCount(); i++) {
			Component c = frame.getComponent(i);
			c.setBackground(Color.RED);
			System.out.println(c.getClass()+" 	的isOpaque()="+c.isOpaque());
		}
		
		frame.setVisible(true);
		
	}

}

在这里插入图片描述

控制台输出👇

class java.awt.Label 	的isOpaque()=false
class javax.swing.JLabel 	的isOpaque()=false
class java.awt.Button 	的isOpaque()=false
class javax.swing.JButton 	的isOpaque()=true
class java.awt.TextField 	的isOpaque()=false
class javax.swing.JTextField 	的isOpaque()=true
class java.awt.TextArea 	的isOpaque()=false
class javax.swing.JTextArea 	的isOpaque()=true
class java.awt.Checkbox 	的isOpaque()=false
class javax.swing.JCheckBox 	的isOpaque()=true
class java.awt.List 	的isOpaque()=false
class javax.swing.JList 	的isOpaque()=true
class java.awt.Choice 	的isOpaque()=false
class javax.swing.JFileChooser 	的isOpaque()=false
class java.awt.Canvas 	的isOpaque()=false
class java.awt.Scrollbar 	的isOpaque()=false
class javax.swing.JScrollBar 	的isOpaque()=true
class java.awt.ScrollPane 	的isOpaque()=false
class javax.swing.JScrollPane 	的isOpaque()=true
class javax.swing.JMenu 	的isOpaque()=false
class java.awt.Panel 	的isOpaque()=false
class javax.swing.JPanel 	的isOpaque()=true
class javax.swing.Box 	的isOpaque()=false
class javax.swing.Box 	的isOpaque()=false
class javax.swing.JRootPane 	的isOpaque()=false

测试 2205241305

package frame;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;

public class Frame能添加地一些组件及基本样式2205232237 {
	
	public static void main(String...arugments) throws Exception {
		
		Frame frame = (Frame)Class.forName("java.awt.Frame").getDeclaredConstructor(String.class).newInstance("Frame能添加地一些组件及基本样式2205232237");
		frame.addWindowListener(new WindowAdapter() {
			@Override public void windowClosing(WindowEvent ev) {System.exit(0);}
		});
		frame.setBounds(100, 100, 1600, 800);
		LayoutManager frameLayout = new GridLayout(0, 8, 10, 10);
		frame.setLayout(frameLayout);
		
		frame.add(new Label("Label"));
		frame.add(new JLabel("JLabel"));
		frame.add(new Button("Button"));
		frame.add(new JButton("JButton"));
		frame.add(new TextField("TextField"));
		frame.add(new JTextField("JTextField"));
		frame.add(new TextArea("TextArea"));
		frame.add(new JTextArea("JTextArea"));
		frame.add(new Checkbox("CheckBox"));
		frame.add(new JCheckBox("JCheckBox"));
		frame.add(new JRadioButton("JRadioButton"));
		JComboBox<String> jcombobox = new JComboBox<>(new String[] {"JComboBox-item1" , "JComboBox-item2" , "JComboBox-item3"});
		frame.add(jcombobox);
		List awtList=new List(); awtList.add("Item1"); awtList.add("Item2"); awtList.add("Item3"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item");
		 awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item"); awtList.add("Item");
		frame.add(awtList);
		JList<String> jlist=new JList<>(new String[] {"Item1","Item2"}); 
		jlist.setListData(new String[] {"Item3", "Item4","Item5","Item6","Item","Item","Item","Item","Item","Item","Item13","Item14","Item15","Item","Item","Item"});
		frame.add(jlist);
		Choice choice = new Choice(); choice.add("choice option1"); choice.add("choice option2");  choice.add("choice option3"); 
		frame.add(choice);
		frame.add(new JFileChooser());
		frame.add(new JColorChooser());
		frame.add(new Canvas());
		frame.add(new Scrollbar());
		frame.add(new JScrollBar());
		frame.add(new ScrollPane());
		frame.add(new JScrollPane());
		frame.add(new JMenu("JMenu是Component,Menu不是,frame不能add(Menu)"));
		frame.add(new Panel());
		frame.add(new JPanel());
		frame.add(Box.createVerticalBox());
		frame.add(Box.createHorizontalBox());
		frame.add(new JRootPane());
		frame.add(new JLayeredPane());
		String [] 表头 = new String[] {"Column1", "Column2"};
		String 表格数据二维数组[][] = new String [8][表头.length];
		for(int r=0;r<表格数据二维数组.length; r++)for(int c=0;c<表格数据二维数组[r].length; c++) 表格数据二维数组[r][c]="JTable-行"+r+"-列"+c;
		frame.add(new JTable(表格数据二维数组, 表头));
		DefaultMutableTreeNode defaultMutableTreeNode层1 = new DefaultMutableTreeNode("defaultMutableTreeNode层1");
		defaultMutableTreeNode层1.add(new DefaultMutableTreeNode("defaultMutableTreeNode层1-1"));
		defaultMutableTreeNode层1.add(new DefaultMutableTreeNode("defaultMutableTreeNode层1-2"));
		defaultMutableTreeNode层1.add(new DefaultMutableTreeNode("defaultMutableTreeNode层1-3"));
		frame.add(new JTree(defaultMutableTreeNode层1));
		JSlider jSlider = new JSlider(0, 100, 66); //滑块
		frame.add(jSlider);
		JProgressBar jProgressBar = new JProgressBar(0, 100); jProgressBar.setStringPainted(true); jProgressBar.setString("JProgressBar 进度条"); jProgressBar.setValue(66);
		frame.add(jProgressBar); //进度条
		JTabbedPane jTabbedPane = new JTabbedPane(); for(int i=0; i<3; i++) {Label lb=new Label("Label-"+i); jTabbedPane.addTab("JTabbedPane选项卡-"+i,lb);}
		frame.add(jTabbedPane);
		
		
		for(int i=0; i<frame.getComponentCount(); i++) {
			Component c = frame.getComponent(i);
			c.setBackground(Color.RED);
			System.out.println(c.getClass()+" 	的isOpaque()="+c.isOpaque());
		}
		
		frame.setVisible(true);
		
		
		
	}

}

在这里插入图片描述 控制台输出👇

class java.awt.Label 	的isOpaque()=false
class javax.swing.JLabel 	的isOpaque()=false
class java.awt.Button 	的isOpaque()=false
class javax.swing.JButton 	的isOpaque()=true
class java.awt.TextField 	的isOpaque()=false
class javax.swing.JTextField 	的isOpaque()=true
class java.awt.TextArea 	的isOpaque()=false
class javax.swing.JTextArea 	的isOpaque()=true
class java.awt.Checkbox 	的isOpaque()=false
class javax.swing.JCheckBox 	的isOpaque()=true
class javax.swing.JRadioButton 	的isOpaque()=true
class javax.swing.JComboBox 	的isOpaque()=true
class java.awt.List 	的isOpaque()=false
class javax.swing.JList 	的isOpaque()=true
class java.awt.Choice 	的isOpaque()=false
class javax.swing.JFileChooser 	的isOpaque()=false
class javax.swing.JColorChooser 	的isOpaque()=true
class java.awt.Canvas 	的isOpaque()=false
class java.awt.Scrollbar 	的isOpaque()=false
class javax.swing.JScrollBar 	的isOpaque()=true
class java.awt.ScrollPane 	的isOpaque()=false
class javax.swing.JScrollPane 	的isOpaque()=true
class javax.swing.JMenu 	的isOpaque()=false
class java.awt.Panel 	的isOpaque()=false
class javax.swing.JPanel 	的isOpaque()=true
class javax.swing.Box 	的isOpaque()=false
class javax.swing.Box 	的isOpaque()=false
class javax.swing.JRootPane 	的isOpaque()=false
class javax.swing.JLayeredPane 	的isOpaque()=false
class javax.swing.JTable 	的isOpaque()=true
class javax.swing.JTree 	的isOpaque()=true
class javax.swing.JSlider 	的isOpaque()=true
class javax.swing.JProgressBar 	的isOpaque()=true
class javax.swing.JTabbedPane 	的isOpaque()=false