1、窗口 – JFrame
package com.wgh.lesson04;
import javax.swing.*;
public class JFrameDemo {
// 初始化
public void init(){
JFrame jFrame = new JFrame("窗口");
jFrame.setBounds(100, 100, 200, 200);
jFrame.setVisible(true);
// 关闭事件
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JFrameDemo().init();
}
}
2、标签 – JLabel
package com.wgh.lesson04;
import javax.swing.*;
import java.awt.*;
public class JFrameDemo02 {
public static void main(String[] args) {
new MyJFrame().init();
}
}
class MyJFrame extends JFrame {
public void init(){
this.setVisible(true);
this.setBounds(100, 100, 200, 200);
JLabel jlabel = new JLabel("Java Swing 编程");
// 添加标签
this.add(jlabel);
// 将标签放在中间位置
jlabel.setHorizontalAlignment(SwingConstants.CENTER);
// Swing编程需要一个容器来设置界面的一些东西
Container contentPane = this.getContentPane();
contentPane.setBackground(Color.CYAN);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
3、弹窗 – Dialog
package com.wgh.lesson04;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DialogDemo extends JFrame {
public DialogDemo(){
this.setVisible(true);
this.setBounds(100, 100, 200, 200);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JButton jButton = new JButton("点击弹出一个窗口");
jButton.setBounds(10, 10, 200, 100);
Container container = this.getContentPane();
container.setLayout(null); // 设置绝对布局
container.add(jButton);
// 点击需要监听
// 点击这个按钮的时候,弹出一个弹窗
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new MyDialog();
}
});
}
public static void main(String[] args) {
new DialogDemo();
}
}
// 弹窗的窗口
class MyDialog extends JDialog {
public MyDialog(){
this.setVisible(true);
this.setBounds(200, 200, 200, 200);
Container container = this.getContentPane();
JLabel jlabel = new JLabel("Java Swing 编程");
jlabel.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jlabel);
container.setBackground(Color.CYAN);
}
}
4、图片和标签 – Icon & JLabel
package com.wgh.lesson04;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class IconDemo extends JFrame {
public IconDemo(){
JLabel jLabel = new JLabel("imageIcon");
// 获取图片的地址 -- 获取当前类的下面的同级资源
// IMG_0246.jpeg位于com.wgh.lesson04下
// 将图片变为图标
URL url = IconDemo.class.getResource("IMG_0246.jpeg");
ImageIcon imageIcon = new ImageIcon(url);
// 将图片放在标签中
jLabel.setIcon(imageIcon);
// 居中
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
// 所有的东西都放在container中
Container container = getContentPane();
container.add(jLabel);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE) ;
}
public static void main(String[] args) {
new IconDemo();
}
}
5、面板 – JPanel
package com.wgh.lesson05;
import javax.swing.*;
import java.awt.*;
public class JPanelDemo extends JFrame {
public JPanelDemo(){
Container container = getContentPane();
// 两行两列,上下间隔10
container.setLayout(new GridLayout(2, 2, 10, 10));
JPanel jPanel1 = new JPanel(new GridLayout(1, 3));
JPanel jPanel2 = new JPanel(new GridLayout(1, 2));
JPanel jPanel3 = new JPanel(new GridLayout(2, 1));
JPanel jPanel4 = new JPanel(new GridLayout(3, 2));
// add一个Button就会往面板里面塞
jPanel1.add(new JButton("1"));
jPanel1.add(new JButton("1"));
jPanel1.add(new JButton("1"));
jPanel2.add(new JButton("2"));
jPanel2.add(new JButton("2"));
jPanel3.add(new JButton("3"));
jPanel3.add(new JButton("3"));
jPanel4.add(new JButton("4"));
jPanel4.add(new JButton("4"));
jPanel4.add(new JButton("4"));
jPanel4.add(new JButton("4"));
jPanel4.add(new JButton("4"));
jPanel4.add(new JButton("4"));
container.add(jPanel1);
container.add(jPanel2);
container.add(jPanel3);
container.add(jPanel4);
this.setVisible(true);
this.setSize(500, 500);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JPanelDemo();
}
}
含有滚动条的面板
package com.wgh.lesson05;
import javax.swing.*;
import java.awt.*;
public class JScrollDemo extends JFrame {
public JScrollDemo(){
Container container = getContentPane();
// 文本域
JTextArea jTextArea = new JTextArea(20, 50);
jTextArea.setText("Java Swing");
// JScroll面板
JScrollPane jScrollPane = new JScrollPane(jTextArea);
container.add(jScrollPane);
this.setVisible(true);
this.setBounds(100, 100, 300, 350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JScrollDemo();
}
}
6、按钮 – JButton
package com.wgh.lesson05;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class JButtonDemo01 extends JFrame {
public JButtonDemo01(){
Container container = this.getContentPane();
// 将图片变为一个图标
URL url = JButtonDemo01.class.getResource("IMG_0246.jpeg");
ImageIcon imageIcon = new ImageIcon(url);
// 把这个图标放在按钮上
JButton jButton = new JButton();
jButton.setIcon(imageIcon);
jButton.setToolTipText("图片按钮");
container.add(jButton);
this.setVisible(true);
this.setBounds(100, 100, 300, 350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo01();
}
}
单选框,按钮
package com.wgh.lesson05;
import javax.swing.*;
import java.awt.*;
// 单选框
public class JButtonDemo02 extends JFrame {
public JButtonDemo02(){
Container container = this.getContentPane();
JRadioButton radioButton1 = new JRadioButton("radioButton1");
JRadioButton radioButton2 = new JRadioButton("radioButton2");
JRadioButton radioButton3 = new JRadioButton("radioButton3");
// 由于单选框只能选一个,需要使用分组使一个组只能选一个
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(radioButton1);
buttonGroup.add(radioButton2);
buttonGroup.add(radioButton3);
container.add(radioButton1, BorderLayout.CENTER);
container.add(radioButton2, BorderLayout.NORTH);
container.add(radioButton3, BorderLayout.SOUTH);
this.setVisible(true);
this.setBounds(100, 100, 300, 350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo02();
}
}
多选框按钮
package com.wgh.lesson05;
import javax.swing.*;
import java.awt.*;
// 单选框
public class JButtonDemo03 extends JFrame {
public JButtonDemo03(){
Container container = this.getContentPane();
// 多选框
JCheckBox jCheckBox1 = new JCheckBox("jCheckBox1");
JCheckBox jCheckBox2 = new JCheckBox("jCheckBox2");
container.add(jCheckBox1, BorderLayout.SOUTH);
container.add(jCheckBox2, BorderLayout.NORTH);
this.setVisible(true);
this.setBounds(100, 100, 300, 350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo03();
}
}
7、列表
下拉框应用场景 – 选择地区,或者一些单个选项
列表 – 展示信息,一般是动态扩容
- 下拉框
package com.wgh.lesson05;
import javax.swing.*;
import java.awt.*;
public class DropDownBoxDemo01 extends JFrame {
public DropDownBoxDemo01(){
Container container = this.getContentPane();
// 下拉框
JComboBox comboBox = new JComboBox();
comboBox.addItem(null);
comboBox.addItem("1");
comboBox.addItem("2");
comboBox.addItem("3");
container.add(comboBox);
this.setVisible(true);
this.setBounds(100, 100, 300, 350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new DropDownBoxDemo01();
}
}
- 列表框
package com.wgh.lesson05;
import javax.swing.*;
import java.awt.*;
public class DropDownBoxDemo01 extends JFrame {
public DropDownBoxDemo01(){
Container container = this.getContentPane();
// 下拉框
JComboBox comboBox = new JComboBox();
comboBox.addItem(null);
comboBox.addItem("1");
comboBox.addItem("2");
comboBox.addItem("3");
container.add(comboBox);
this.setVisible(true);
this.setBounds(100, 100, 300, 350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new DropDownBoxDemo01();
}
}
8、文本框
- 文本框
package com.wgh.lesson06;
import javax.swing.*;
import java.awt.*;
public class TestTextDemo01 extends JFrame {
public TestTextDemo01(){
Container container = this.getContentPane();
// 文本框
JTextField jTextField1 = new JTextField("hello");
JTextField jTextField2 = new JTextField("world", 20);
container.add(jTextField1, BorderLayout.NORTH);
container.add(jTextField2, BorderLayout.SOUTH);
this.setVisible(true);
this.setBounds(100, 100, 300, 350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestTextDemo01();
}
}