本文已参与「新人创作礼」活动,一起开启掘金创作之路。
@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