窗口 面板

 package com.yeyue.lesson04;
 ​
 import javax.swing.*;
 import java.awt.*;
 ​
 public class JFrameDemo {
 ​
     //init() ;初始化
     public void init(){
         JFrame frame = new JFrame("这是一个JFrame窗口");
         frame.setVisible(true);
         frame.setBounds(100,100,200,200);
         frame.setBackground(Color.cyan);
 ​
         //设置文字
         JLabel label =  new JLabel("欢迎来到哈哈哈哈哈");
         frame.add(label);
 ​
         //关闭事件
         frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
 ​
     public static void main(String[] args) {
         //建立一个窗口
         new JFrameDemo().init();
    }
 }
标签居中
 package com.yeyue.lesson04;
 ​
 import javax.swing.*;
 import java.awt.*;
 ​
 public class JFrameDemo02 {
     public static void main(String[] args) {
         new MyJFrame2().init();
    }
 ​
 }
 ​
 class MyJFrame2 extends JFrame{
     public void init(){
         this.setBounds(10,10,200,300);
         this.setVisible(true);
 ​
         //设置文字
         JLabel label =  new JLabel("欢迎来到");
         this.add(label);
 ​
         //让标签居中
         label.setHorizontalAlignment(SwingConstants.CENTER);
 ​
         //获得一个容器
         Container container =  this.getContentPane();
         container.setBackground(Color.YELLOW);
    }
 }

弹窗

JDialog,用来被弹出,默认就有关闭事件

 package com.yeyue.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.setSize(700,500);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 ​
         //JFrame 放东西,容器
         Container container = this.getContentPane();
         //绝对布局
         container.setLayout(null);
 ​
         //按钮
         JButton button = new JButton("点击弹出一个对话窗");//创建
         button.setBounds(30,30,200,50);
 ​
         //点击这个按钮的时候弹出一个弹窗
         button.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 //弹窗
                 new MyDialogDemo();
            }
        });
 ​
         container.add(button);
 ​
    }
 ​
     public static void main(String[] args) {
         new DialogDemo();
    }
 }
 ​
 //弹窗
 class MyDialogDemo extends JDialog{
     public MyDialogDemo(){
         this.setVisible(true);
         this.setBounds(100,100,500,500);
 ​
         Container container = this.getContentPane();
         container.setLayout(null);
 ​
         container.add(new Label("你好啊,我的朋友"));
 ​
    }
 }

标签

label

 new JLabel()
图标ICON
 package com.yeyue.lesson04;
 ​
 import javax.swing.*;
 import java.awt.*;
 ​
 //图标,需要实现类,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.add(label);
 ​
         this.setVisible(true);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
 ​
 ​
     public static void main(String[] args) {
         new IconDemo().init();
    }
 ​
     @Override
     public void paintIcon(Component c, Graphics g, int x, int y) {
         g.fillOval(x,y,width,height);
    }
 ​
     @Override
     public int getIconWidth() {
         return this.width;
    }
 ​
     @Override
     public int getIconHeight() {
         return this.height;
    }
 ​
 }
图片ICON
 package com.yeyue.lesson04;
 ​
 import javax.swing.*;
 import java.awt.*;
 import java.net.URL;
 ​
 public class ImageIconDemo extends JFrame {
 ​
     //获取图片的地址
     public ImageIconDemo(){
         JLabel label = new JLabel("ImageIcon");
         URL url = ImageIconDemo.class.getResource("003.jpeg");
 ​
         ImageIcon imageIcon = new ImageIcon(url);
         label.setIcon(imageIcon);
         label.setHorizontalAlignment(SwingConstants.CENTER);
 ​
         Container container = getContentPane();
         container.add(label);
         setBounds(100,100,200,200);
 ​
         setVisible(true);
         setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
 ​
     public static void main(String[] args) {
         new ImageIconDemo();
    }
 }

面板

 package com.yeyue.lesson05;
 ​
 import javax.swing.*;
 import java.awt.*;
 ​
 public class JPanelDemo extends JFrame{
 ​
     public JPanelDemo(){
         Container container = this.getContentPane();
 ​
         container.setLayout(new GridLayout(2,1,10,10)); //后边的参数是间距
 ​
         JPanel panel1 = new JPanel(new GridLayout(1,3));
         JPanel panel2 = new JPanel(new GridLayout(1,2));
         JPanel panel3 = new JPanel(new GridLayout(2,1));
         JPanel panel4 = new JPanel(new GridLayout(3,2));
 ​
         panel1.add(new JButton("1"));
         panel1.add(new JButton("1"));
         panel1.add(new JButton("1"));
         panel2.add(new JButton("2"));
         panel2.add(new JButton("2"));
         panel3.add(new JButton("3"));
         panel3.add(new JButton("3"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
 ​
         container.add(panel1);
         container.add(panel2);
         container.add(panel3);
         container.add(panel4);
 ​
         this.setVisible(true);
         this.setSize(400,400);
 ​
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
 ​
     public static void main(String[] args) {
         new JPanelDemo();
    }
 }
JScroll
 package com.yeyue.lesson05;
 ​
 import javax.swing.*;
 import java.awt.*;
 ​
 public class JScrollDemo extends JFrame {
 ​
     public JScrollDemo(){
         Container container = this.getContentPane();
 ​
         //文本域
         JTextArea textArea = new JTextArea(20,50);
         textArea.setText("你好啊,我的朋友");
 ​
         //Scroll面板
         JScrollPane jScrollPane = new JScrollPane(textArea);
         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();
    }
 }

按钮

图片按钮
 package com.yeyue.lesson05;
 ​
 import javax.swing.*;
 import java.awt.*;
 import java.net.URL;
 ​
 public class JBottonDemo01 extends JFrame {
 ​
     public JBottonDemo01(){
         Container container = this.getContentPane();
 ​
         URL url = JBottonDemo01.class.getResource("003.jpeg");
         ImageIcon icon = new ImageIcon(url);
 ​
         JButton button = new JButton();
         button.setIcon(icon);
         button.setToolTipText("图片按钮");
 ​
         container.add(button);
 ​
         this.setVisible(true);
         this.setSize(500,500);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 ​
    }
 ​
     public static void main(String[] args) {
         new JBottonDemo01();
    }
 }
单选按钮
 package com.yeyue.lesson05;
 ​
 import javax.swing.*;
 import java.awt.*;
 import java.net.URL;
 ​
 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 group = new ButtonGroup();
         group.add(radioButton1);
         group.add(radioButton2);
         group.add(radioButton3);
 ​
         container.add(radioButton1,BorderLayout.CENTER);
         container.add(radioButton2,BorderLayout.NORTH);
         container.add(radioButton3,BorderLayout.SOUTH);
 ​
 ​
         this.setVisible(true);
         this.setSize(500,500);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 ​
    }
 ​
     public static void main(String[] args) {
         new JButtonDemo02();
    }
 }
复选按钮
 package com.yeyue.lesson05;
 ​
 import javax.swing.*;
 import java.awt.*;
 import java.net.URL;
 ​
 public class JButtonDemo03 extends JFrame {
 ​
     public JButtonDemo03(){
         Container container = this.getContentPane();
 ​
         //多选框
         JCheckBox checkBox01 = new JCheckBox("checkBox01");
         JCheckBox checkBox02 = new JCheckBox("checkBox02");
         JCheckBox checkBox03 = new JCheckBox("checkBox03");
 ​
         container.add(checkBox01,BorderLayout.CENTER);
         container.add(checkBox02,BorderLayout.NORTH);
         container.add(checkBox03,BorderLayout.SOUTH);
 ​
 ​
         this.setVisible(true);
         this.setSize(500,500);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 ​
    }
 ​
     public static void main(String[] args) {
         new JButtonDemo03();
    }
 }

列表

下拉框
 package com.yeyue.lesson06;
 ​
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.awt.event.WindowAdapter;
 ​
 public class TestComboboxDemo01 extends JFrame {
 ​
     public TestComboboxDemo01(){
         Container container = this.getContentPane();
 ​
         JComboBox status = new JComboBox();
 ​
         status.addItem("null");
         status.addItem("正在上映");
         status.addItem("已下架");
         status.addItem("即将上映");
 ​
         container.add(status);
 ​
         this.setVisible(true);
         this.setSize(300,300);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 ​
    }
 ​
 ​
     public static void main(String[] args) {
         new TestComboboxDemo01();
    }
 ​
 ​
 }
列表框
 package com.yeyue.lesson06;
 ​
 import javax.swing.*;
 import java.awt.*;
 import java.util.Vector;
 ​
 public class TestComboboxDemo02 extends JFrame {
 ​
     public TestComboboxDemo02() {
         Container container = this.getContentPane();
 ​
         //生成列表的内容
         //String[] contents = {"1","2","3"};
 ​
         Vector contents = new Vector();
 ​
         //列表中需要放入内容
         JList jlist = new JList(contents);
 ​
         contents.add("你好");
         contents.add("啊");
         contents.add("朋友");
 ​
         container.add(jlist);
 ​
         this.setVisible(true);
         this.setSize(300, 300);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 ​
    }
 ​
 ​
     public static void main(String[] args) {
         new TestComboboxDemo02();
    }
 ​
 ​
 }
  • 应用场景

    • 选择地区,或者一些单个选项

    • 列表,显示信息,一般是动态扩容

文本框

  • 文本框

     package com.yeyue.lesson06;
     ​
     import javax.swing.*;
     import java.awt.*;
     ​
     public class TestTextDemo01 extends JFrame {
     ​
         public TestTextDemo01(){
             Container container = this.getContentPane();
     ​
             JTextField textField1 = new JTextField("hello");
             JTextField textField2 = new JTextField("world",20);
     ​
             container.add(textField1,BorderLayout.NORTH);
             container.add(textField2,BorderLayout.SOUTH);
             
             this.setVisible(true);
             this.setSize(300,300);
             this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
     ​
        }
         
         public static void main(String[] args) {
             new TestTextDemo01();
        }
         
     }
  • 密码框

     package com.yeyue.lesson06;
     ​
     import javax.swing.*;
     import java.awt.*;
     ​
     public class TestTextDemo01 extends JFrame {
     ​
         public TestTextDemo01(){
             Container container = this.getContentPane();
     ​
             JPasswordField passwordField = new JPasswordField();
             passwordField.setEchoChar('*');
     ​
             container.add(passwordField);
     ​
             this.setVisible(true);
             this.setSize(300,300);
             this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
     ​
        }
     ​
         public static void main(String[] args) {
             new TestTextDemo01();
        }
     ​
     }
  • 文本域

 package com.yeyue.lesson05;
 ​
 import javax.swing.*;
 import java.awt.*;
 ​
 public class JScrollDemo extends JFrame {
 ​
     public JScrollDemo(){
         Container container = this.getContentPane();
 ​
         //文本域
         JTextArea textArea = new JTextArea(20,50);
         textArea.setText("你好啊,我的朋友");
 ​
         //Scroll面板
         JScrollPane jScrollPane = new JScrollPane(textArea);
         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();
    }
 }

GUI编程之Swing的更多相关文章

  1. Java-GUI 编程之 Swing

    Swing概述  实际使用 Java 开发图形界面程序时 ,很少使用 AWT 组件,绝大部分时候都是用 Swing 组件开发的 . Swing是由100%纯 Java实现的,不再依赖于本地平台的 GU ...

  2. Java-GUI编程之Swing组件

    目录 为组件设置边框 使用JToolBar创建工具条 JColorChooser和JFileChooser JColorChooser JFileChooser JOptionPane 基本概述 四种 ...

  3. pytho GUI编程之Tkinter

    摘录 python核心编程s GUI(Graphical User Interface)图形用户界面. Tcl.Tk和Tkinter Tkinter是python的默认GUI库.它基于Tk工具包,该工 ...

  4. Python GUI编程之Tkinter

    GUI编程Tkinter Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI ...

  5. Python GUI编程之WxPython

    https://en.wikipedia.org/wiki/WxPython 官网: Overview of wxPython: https://wxpython.org/pages/overview ...

  6. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_1.使用Python进行GUI编程的概述

    1. GUI概述: GUI全称为Graphical User Interface,叫做图形用户界面,也是一种交互方式(Interaction).早期计算机使用的命令行界面(command-line i ...

  7. C++混合编程之idlcpp教程Python篇(7)

    上一篇在这 C++混合编程之idlcpp教程Python篇(6) 第一篇在这 C++混合编程之idlcpp教程(一) 与PythonTutorial4工程相似,工程PythonTutorial5中,同 ...

  8. C++混合编程之idlcpp教程Lua篇(7)

    上一篇在这 C++混合编程之idlcpp教程Lua篇(6) 第一篇在这 C++混合编程之idlcpp教程(一) 与LuaTutorial4工程相似,工程LuaTutorial5中,同样加入了四个文件: ...

  9. QT核心编程之Qt线程 (c)

    QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类 ...

  10. Linux应用编程之lseek详解

    Linux应用编程之lseek详解 1.lseek函数介绍 (1).文件指针:当我们要对一个文件进行读写时,一定要先打开这个文件,所以我们读写的所有文件都是动态文件.动态文件在内存中的形态就是文件流的 ...

随机推荐

  1. 理解Hive 不同组件的功能

    Hive功能 通过将SQL转换成MR.Spark等任务,来计算HDFS中数据的工具. Hive是基于Hadoop之上的数仓工具.通过HDFS存储真实的数据,通过YARN运行计算任务(MR.Spark等 ...

  2. Mock.js 笔记

    1.介绍 官方文档,Mock.js用来生成随机数据,拦截 Ajax 请求 支持的数据类型丰富,包括文本.数字.布尔值.日期.邮箱.链接.图片.颜色等 功能灵活,生成随机数据 和 拦截 Ajax 请求 ...

  3. 构建交互式聊天界面:react-chat-element 实战小计

    react聊天组件库:react-chat-elements 需求场景:用户可以通过多元的用户交互方式,如文件.图片.声音以及文字等输入相关信息,AI给出对应的回答 react-chat-elemen ...

  4. 使用Docker快速部署一个Net项目

    前言 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 优点 Web 应用的自动化打包和发布. 自动化测试和 ...

  5. InstallShield软件详解

    InstallShield使用说明 文章目录 InstallShield使用说明 术语解释 工程介绍 InstallScript Basic MSI InstallScript MSI 如何选择适合的 ...

  6. 【Javaweb】在项目中添加MyBatis依赖等

    pom.xml 仓库 如果你没有配置阿里云仓库镜像源,可以到这里来找 https://mvnrepository.com/ 如果你配置了阿里云仓库镜像源,可以来这里找 https://develope ...

  7. git log 常用方法

    • git log --all 查看所有分支的历史• git log --all --graph 查看图形化的 log 地址• git log --oneline 查看单行的简洁历史.• git lo ...

  8. 从 $PGDATA 到文件组:深入解析 PostgreSQL 与 SQL Server 的存储策略

    从 $PGDATA 到文件组:深入解析 PostgreSQL 与 SQL Server 的存储策略 在数据库领域,数据存储和管理的效率与可靠性是决定系统性能.可扩展性和易于管理的关键因素.Postgr ...

  9. python量化指标计算talib函数功能一览表

    安装talib库:pip install talib 1 # 取个数据验证一下 2 set_token('') 3 data = history(symbol = 'SHSE.600519',freq ...

  10. Qt编写地图综合应用39-覆盖物圆形

    一.前言 圆形的应用场景和多边形.矩形基本一致,支持的属性也是一致,比如可以设置线条的颜色.线条的粗细.线条透明度等.也是用来框起一块区域,然后根据坐标点集合,找到该区域内的标注点集合,比如指定某个县 ...