用Swing来画一些界面
AWT能画笔,但是Swing可以画图,可以做更高级的操作
1、窗口、面板
package com.kuang.lesson04;
import javax.swing.*;
import java.awt.*;
public class JFrameDemo {
// //建立窗口之前要初始化 init()
// public void init(){
// //JFrame是顶级窗口,真正的东西是放在容器里面的
// JFrame jf = new JFrame("这是一个JFrame窗口");
// jf.setVisible(true);
// jf.setBounds(100,100,200,200);
//
// //设置文字 Jlable
// JLabel label = new JLabel("欢迎来到xxx");
// jf.add(label);
//
// //容器 JFrame是一个窗口,但窗口本身也是一个容器 所以要把它实例化,使之能够看得到
//
//
// //关闭事件
// jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// }
public static void main(String[] args) {
//建立窗口(在AWT中是写的类,但是在Swing中窗口是初始化来的)
new MyJFrame().init();
}
}
class MyJFrame extends JFrame{
public void init(){
this.setBackground(Color.MAGENTA);
this.setBounds(100,100,200,200);
this.setVisible(true);
//设置文字 Jlable
JLabel label = new JLabel("欢迎来到xxx");
this.add(label);
//让文本居中
label.setHorizontalAlignment(SwingConstants.CENTER);
//容器 JFrame是一个窗口,但窗口本身也是一个容器 所以要把它实例化,使之能够看得到
//获得一个容器
Container container = this.getContentPane();
container.setBackground(Color.MAGENTA);
}
}
效果图:
2、弹窗
package com.kuang.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);
Container container = this.getContentPane();
//绝对布局
container.setLayout(null);
//按钮
JButton button = new JButton("点击弹出一个对话框");
button.setBounds(30,30,200,20);
//点击一个按钮的时候会弹出一个弹窗
button.addActionListener(new ActionListener() {//监听器
@Override
public void actionPerformed(ActionEvent e) {
//弹窗
new MyDioLog();
}
});
container.add(button);
}
public static void main(String[] args) {
new DialogDemo();
}
}
//弹出的窗口
class MyDioLog extends JDialog{
public MyDioLog() {
this.setVisible(true);
this.setBounds(100,100,500,500);
//this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// defaultCloseOperation must
// be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE
Container container = this.getContentPane();
container.setLayout(null);
container.add(new Label("学java"));
}
}
效果图:
3、标签
初始化类后会返回一个图标
4、面板
4.1 普通面板 JPanel
4.2 滚动条 、JscrollPane面板(可以有滚动条)
5、按钮
- 单选按钮
- 复选按钮
6、列表
-
下拉框
-
列表框
文本框
-
文本框
-
密码框
-
文本域 :可以换行