package com.gui.lesson04;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//2023.3.21 GUI编程--dialog(弹窗)学习
public class DialogDemo extends JFrame {
public DialogDemo() {
this.setVisible(true);//设置窗口可见
this.setSize(700,500);
// this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//默认的关闭窗口事件setDefaultCloseOperation--Swing JFrame默认关闭窗口的
//dialog默认就有关闭事件,不用额外额写关闭事件
//JFrame 放东西,容器
Container container = this.getContentPane();//Container c=this.getContentPane();----初始化一个容器
// c.add(****); //在容器上添加控件..
// 或是:this.getContentPane().add();
//按钮
JButton button = new JButton("点击弹出一个对话框");//创建一个按钮 ()里写按钮的名称
button.setBounds(30,30,200,50);//设置这个按钮的位置和大小
//点击这个按钮的时候---弹出一个弹窗
button.addActionListener(new ActionListener() {//监听器
@Override
public void actionPerformed(ActionEvent e) {
//启动写的弹窗MyDialogDemo
new MyDialogDemo();
}
});//匿名内部类
container.add(button);//将这个按钮添加到容器中
}
public static void main(String[] args) {
//启动弹窗DialogDemo
new DialogDemo();
}
}
//弹窗的窗口
class MyDialogDemo extends JDialog{
//构造器
public MyDialogDemo() {
this.setVisible(true);//设置可见性
this.setBounds(100,100,500,500);//设置弹窗的位置和大小
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//默认的关闭窗口事件setDefaultCloseOperation--Swing JFrame默认关闭窗口的
//WindowConstants.EXIT_ON_CLOSE--点窗口的X直接关闭窗口
//WindowConstants.HIDE_ON_CLOSE--点窗口的X隐藏窗口--但程序仍然在运行
//WindowConstants.DISPOSE_ON_CLOSE--也是隐藏窗口,只不过这一种是隐藏的同时释放这个窗口占用的资源和空间
//WindowConstants.DO_NOTHING_ON_CLOSE--点X关闭不了窗口-不对窗口做任何处理
Container container = this.getContentPane();//Container c=this.getContentPane();----初始化一个容器
container.setLayout(null);//设置容器的布局
container.add(new Label("学java,跑路"));//往容器中添加一个标签
}
}
//
package com.gui.lesson04;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//2023.3.21 GUI编程--dialog(弹窗)学习
public class DialogDemo extends JFrame {
public DialogDemo() {
this.setVisible(true);//设置窗口可见
this.setSize(700,500);
// this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//默认的关闭窗口事件setDefaultCloseOperation--Swing JFrame默认关闭窗口的
//dialog默认就有关闭事件,不用额外额写关闭事件
//JFrame 放东西,容器
Container container = this.getContentPane();//Container c=this.getContentPane();----初始化一个容器
// c.add(****); //在容器上添加控件..
// 或是:this.getContentPane().add();
//按钮
JButton button = new JButton("点击弹出一个对话框");//创建一个按钮 ()里写按钮的名称
button.setBounds(30,30,200,50);//设置这个按钮的位置和大小
//点击这个按钮的时候---弹出一个弹窗
button.addActionListener(new ActionListener() {//监听器
@Override
public void actionPerformed(ActionEvent e) {
//启动写的弹窗MyDialogDemo
new MyDialogDemo();
}
});//匿名内部类
container.add(button);//将这个按钮添加到容器中
}
public static void main(String[] args) {
//启动弹窗DialogDemo
new DialogDemo();
}
}
//弹窗的窗口
class MyDialogDemo extends JDialog{
//构造器
public MyDialogDemo() {
this.setVisible(true);//设置可见性
this.setBounds(100,100,500,500);//设置弹窗的位置和大小
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//默认的关闭窗口事件setDefaultCloseOperation--Swing JFrame默认关闭窗口的
//WindowConstants.EXIT_ON_CLOSE--点窗口的X直接关闭窗口
//WindowConstants.HIDE_ON_CLOSE--点窗口的X隐藏窗口--但程序仍然在运行
//WindowConstants.DISPOSE_ON_CLOSE--也是隐藏窗口,只不过这一种是隐藏的同时释放这个窗口占用的资源和空间
//WindowConstants.DO_NOTHING_ON_CLOSE--点X关闭不了窗口-不对窗口做任何处理
Container container = this.getContentPane();//Container c=this.getContentPane();----初始化一个容器
container.setLayout(null);//设置容器的布局
container.add(new Label("学java,跑路"));//往容器中添加一个标签
}
}
//
package com.gui.lesson04;
import javax.swing.*;
import java.awt.*;
//2023.3.22 GUI编程--Icon-图标(属于标签里面的一种),图标,需要实现类,Frame继承
public class IconDemo extends JFrame implements Icon {
private int width;//定义宽
private int height;//定义高
public IconDemo(){}//无参构造
public IconDemo(int width, int height){
this.width = width;
this.height = height;
}
public void init(){
IconDemo iconDemo = new IconDemo(15, 15);//初始化图标大小
//图标可以放在标签,也可以放在按钮上
JLabel label = new JLabel("iconTest", iconDemo, SwingConstants.CENTER);//设置图标放中间
Container container = getContentPane();//Container c=this.getContentPane();----初始化一个容器
container.add(label);//添加标签到容器中
this.setVisible(true);//设置可见性
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//默认的关闭窗口事件setDefaultCloseOperation--Swing JFrame默认关闭窗口的
}
public static void main(String[] args) {
new IconDemo().init();//启动
}
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {// Graphics--画笔 Component--组件
g.fillOval(x,y,width,height);
}
@Override
public int getIconWidth() {//获得图片的宽
return this.width;
}
@Override
public int getIconHeight() {//获得图片的高
return this.height;
}
}
//
package com.gui.lesson04;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
//2023.3.23 GUI编程--ImageIcon学习 ImageIcon--图片图标
public class ImageIconDemo extends JFrame {
public ImageIconDemo(){
//获得图片的地址
JLabel label = new JLabel("ImageIcon");//标签--()里写图片标签的名称
URL url = ImageIconDemo.class.getResource("头像.jpg");//获得图片的资源--这一句可以记住,后面学也会用到
ImageIcon imageIcon = new ImageIcon(url);//注意命名不要冲突了
label.setIcon(imageIcon);//设置图片
label.setHorizontalAlignment(SwingConstants.CENTER);//将这个图片标签居中显示
Container container = getContentPane();//Container c=this.getContentPane();----初始化一个容器
container.add(label);//将这个标签加入到容器中
setVisible(true);//设置可见性
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//默认的关闭窗口事件setDefaultCloseOperation--Swing JFrame默认关闭窗口的
setBounds(200,200,300,300);//设置标签的位置和大小
}
public static void main(String[] args) {
//启动
new ImageIconDemo();
}
}
//
package com.gui.lesson04;
import javax.swing.*;
import java.awt.*;
//2023.3.21 --GUI编程--Swing的初识
//Swing 里面的窗口是JFrame JFrame 继承 Frame,实现WindowConstants这个接口
public class JFrameDemo {
//init();--初始化
public void init(){
//
JFrame jf = new JFrame("这是一个JFrame窗口");//()里和Frame窗口一样--用来设置这个窗口的名称
jf.setVisible(true);//设置可见性
jf.setBounds(100,100,200,200);//设置这个窗口的大小和位置
jf.setBackground(Color.cyan);//设置窗口的背景颜色--在这里面好像没什么卵用,设置了背景颜色和没设置没啥区别
//设置文字JLabel
JLabel label = new JLabel("今天是星期二23:07分,我在学习Java");//()里是写标签的内容是什么
jf.add(label);//将这个文字块label加入到JFrame窗口中
//关闭事件
jf.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);//默认的关闭窗口事件setDefaultCloseOperation--Swing JFrame默认关闭窗口的
//WindowConstants.EXIT_ON_CLOSE--点窗口的X直接关闭窗口
//WindowConstants.HIDE_ON_CLOSE--点窗口的X隐藏窗口--但程序仍然在运行
//WindowConstants.DISPOSE_ON_CLOSE--也是隐藏窗口,只不过这一种是隐藏的同时释放这个窗口占用的资源和空间
//WindowConstants.DO_NOTHING_ON_CLOSE--点X关闭不了窗口-不对窗口做任何处理
}
public static void main(String[] args) {
//建立一个窗口
new JFrameDemo().init();
}
}
//
package com.gui.lesson04;
import javax.swing.*;
import java.awt.*;
//2023.3.21 GUI编程--Swing学习--JFrame窗口学习
public class JFrameDemo02 {
public static void main(String[] args) {
//启动窗口
new MyJFrame().init();
}
}
class MyJFrame extends JFrame{
public void init(){
this.setBounds(10,10,200,300);//设置这个窗口的位置和大小
this.setVisible(true);//设置这个窗口为可见
JLabel label = new JLabel("今天是星期二23:28分,我在学习Java");//()里是写标签的内容是什么
this.add(label);//将这个标签添加到窗口中
//让这个文本居中
label.setHorizontalAlignment(SwingConstants.CENTER);//setHorizontalAlignment--设置水平对齐--对齐方式为CENTER-水平居中
Container container = this.getContentPane();//Container c=this.getContentPane();----初始化一个容器
// c.add(****); //在容器上添加控件..
// 或是:this.getContentPane().add();
container.setBackground(Color.GRAY);//设置窗口的颜色-容器内的颜色才是这个窗口的颜色
}
}
//
package com.gui.lesson04;
import javax.swing.*;
import java.awt.*;
//2023.3.21 GUI编程--Swing学习--JFrame窗口学习
public class JFrameDemo02 {
public static void main(String[] args) {
//启动窗口
new MyJFrame().init();
}
}
class MyJFrame extends JFrame{
public void init(){
this.setBounds(10,10,200,300);//设置这个窗口的位置和大小
this.setVisible(true);//设置这个窗口为可见
JLabel label = new JLabel("今天是星期二23:28分,我在学习Java");//()里是写标签的内容是什么
this.add(label);//将这个标签添加到窗口中
//让这个文本居中
label.setHorizontalAlignment(SwingConstants.CENTER);//setHorizontalAlignment--设置水平对齐--对齐方式为CENTER-水平居中
Container container = this.getContentPane();//Container c=this.getContentPane();----初始化一个容器
// c.add(****); //在容器上添加控件..
// 或是:this.getContentPane().add();
container.setBackground(Color.GRAY);//设置窗口的颜色-容器内的颜色才是这个窗口的颜色
}
}