1)常用的容器类,Frame和Panel
java.awt.Frame类:
public class Frame extends Window{}
java.awt.Frame是带有标题和边框的顶层窗口,它是java.awt.Window类的直接子类
例如:
Frame frame = new Frame();
frame.setTitle("我的容器");
frame.setSize(500,500);
frame.setLocation(700, 300);
frame.setBackground(Color.lightGray);
frame.setResizable(true);
frame.setVisible(true);
注:frame要显示出来,最后一定要设置它的的可见性为true
思考:怎么能让窗口每次位于屏幕的正中间
Toolkit toolkit = Toolkit.getDefaultToolkit();
int width = (int) toolkit.getScreenSize().getWidth();
int height = (int) toolkit.getScreenSize().getHeight();
java.awt.Panel类:
public class Panel extends Container{}
Panel是最简单的容器类,也成为面板,应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板(嵌套)。
注:Panel面板不能单独显示,必须把它放到Frame中
例如:运行后显示不了,设置Panel的大小位置以及可见性也没用
Panel panel = new Panel();
panel.setSize(400, 400);
panel.setLocation(700, 300);
panel.setBackground(Color.blue);
panel.setVisible(true);
例如:运行后可以显示
Frame frame = new Frame();
Panel panel = new Panel();
panel.setBackground(Color.blue);
frame.setSize(400, 400);
frame.setLocation(700, 300);
frame.add(panel);
frame.setVisible(true);
2)常用的容器类,JFrame JPanel
javax.swing.JFrame类:
public class JFrame extends Frame{}
例如:
JFrame jFrame = new JFrame();
jFrame.setTitle("我的容器");
jFrame.setResizable(true);
jFrame.setSize(500,500);
jFrame.setLocation(700, 300);
jFrame.setBackground(Color.lightGray);
jFrame.setVisible(true);
javax.swing.JPanel类:
public class JPanel extends JComponent
JPanel是一般轻量级容器,作用及用法和java.awt.Panel类似,它也是不能单独显示的。
3)常用的组件类(主要以Swing的为主,除非Swing中没有该组件)
javax.swing.JButton 按钮
例如:
JFrame jFrame = new JFrame();
JPanel panel = new JPanel();
JButton btn = new JButton("登录");
panel.add(btn);
jFrame.setSize(400, 400);
jFrame.setLocation(700, 300);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.add(panel);
jFrame.setVisible(true);
javax.swing.JCheckBox 复选框
例如:
JFrame jFrame = new JFrame();
JPanel panel = new JPanel();
JCheckBox jck1 = new JCheckBox("篮球");
JCheckBox jck2 = new JCheckBox("足球");
panel.add(jck1);
panel.add(jck2);
jFrame.setSize(400, 400);
jFrame.setLocation(700, 300);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.add(panel);
jFrame.setVisible(true);
javax.swing.ButtonGroup 按钮组
javax.swing.JRadioButton 单选框
例如:
JFrame jFrame = new JFrame();
JPanel panel = new JPanel();
//需要把俩个单选按钮放到ButtonGroup中,表示为一组
ButtonGroup bg = new ButtonGroup();
JRadioButton rbtn1 = new JRadioButton("男");
JRadioButton rbtn2 = new JRadioButton("女",true);
bg.add(rbtn1);
bg.add(rbtn2);
panel.add(rbtn1);
panel.add(rbtn2);