Swing

窗口,面板

package com.akita.lesson03;import javax.swing.*;
import java.awt.*;public class JFrameDemo02 {public static void main(String[] args) {new MyJFrame02().init();}
}class MyJFrame02 extends JFrame {public void init() {this.setBounds(200, 200, 500, 500);//获得一个容器,只有这样设置颜色才会生效Container contentPane = this.getContentPane();contentPane.setBackground(Color.CYAN);//设置文字JLabel jLabel = new JLabel("akita");this.add(jLabel);//让文本标签居中jLabel.setHorizontalAlignment(SwingConstants.CENTER);setVisible(true);}
}

弹窗

package com.akita.lesson03;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;//主窗口
public class DialogDemo extends JFrame {public DialogDemo() {this.setSize(500, 350);this.setLocation(300, 300);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//JFrame 放东西容器Container contentPane = this.getContentPane();//绝对布局contentPane.setLayout(null);//按钮JButton jButton = new JButton("点击弹出对话框");jButton.setBounds(30, 30, 200, 50);//点击这个按钮弹出一个弹窗jButton.addActionListener(new ActionListener() {  //监听器@Overridepublic void actionPerformed(ActionEvent e) {//弹窗new MyDialogDD();}});contentPane.add(jButton);this.setVisible(true);}public static void main(String[] args) {new DialogDemo();}
}//弹窗的窗口
class MyDialogDD extends JDialog {public MyDialogDD() {this.setBounds(100, 100, 500, 500);Container contentPane = this.getContentPane();contentPane.setLayout(null);Label akita = new Label("akita");akita.setSize(50, 50);contentPane.add(akita);this.setVisible(true);}
}

标签

JLabel

JLabel jLabel = new JLabel("标签");
  • Icon
package com.akita.lesson03;import javax.swing.*;
import java.awt.*;//图标是一个接口,需要实现类,并继承JFrame
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 jLabel = new JLabel("icon_test", iconDemo, SwingConstants.CENTER);Container contentPane = getContentPane();contentPane.add(jLabel);this.setBounds(200,200,400,340);this.setVisible(true);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] args) {new IconDemo().init();}@Overridepublic void paintIcon(Component c, Graphics g, int x, int y) {g.fillOval(x, y, width, height);}@Overridepublic int getIconWidth() {return this.width;}@Overridepublic int getIconHeight() {return this.height;}
}

ImageIcon

package com.akita.lesson03;import javax.swing.*;
import java.awt.*;
import java.net.URL;public class ImageIconDemo extends JFrame {public ImageIconDemo() {JLabel akita = new JLabel("akita");//获取图片地址URL url = ImageIconDemo.class.getResource("icon.png");ImageIcon imageIcon = new ImageIcon(url);akita.setIcon(imageIcon);akita.setHorizontalAlignment(SwingConstants.CENTER);Container container = getContentPane();container.add(akita);setVisible(true);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);setBounds(200, 200, 500, 500);}public static void main(String[] args) {new ImageIconDemo();}
}

面板

JPanel

package com.akita.lesson04;import com.akita.lesson03.JFrameDemo;import javax.swing.*;
import java.awt.*;public class JPanelDemo extends JFrame {public JPanelDemo() {this.setBounds(100, 100, 400, 400);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);Container container = this.getContentPane();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));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);}public static void main(String[] args) {new JPanelDemo();}
}

运行结果

JScrollPane

package com.akita.lesson04;import javax.swing.*;
import java.awt.*;public class JScrollDemo extends JFrame {public JScrollDemo() {Container contentPane = this.getContentPane();//文本域JTextArea jTextArea = new JTextArea(20, 50);jTextArea.setText("akita");//Scroll面板JScrollPane jScrollPane = new JScrollPane(jTextArea);jScrollPane.setBackground(new Color(1, 1, 1));contentPane.add(jScrollPane);this.setVisible(true);this.setBounds(100, 100, 300, 300);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] args) {new JScrollDemo();}
}

运行效果

按钮

带图片的按钮

package com.akita.lesson04;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("icon.png");ImageIcon icon = new ImageIcon(url);//把这个图标放置在按钮上JButton jButton = new JButton();jButton.setIcon(icon);jButton.setToolTipText("akita");//addcontainer.add(jButton);setVisible(true);setBounds(100, 100, 200, 200);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] args) {new JButtonDemo01();}
}

运行效果

单选按钮

package com.akita.lesson04;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);//addcontainer.add(radioButton1, BorderLayout.CENTER);container.add(radioButton2, BorderLayout.NORTH);container.add(radioButton3, BorderLayout.SOUTH);this.setVisible(true);this.setBounds(200, 200, 500, 350);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}public static void main(String[] args) {new JButtonDemo02();}
}

运行效果


多选按钮

package com.akita.lesson04;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.NORTH);container.add(jCheckBox2, BorderLayout.SOUTH);this.setVisible(true);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);this.setBounds(200, 200, 400, 250);}public static void main(String[] args) {new JButtonDemo03();}
}

运行效果

列表

下拉框

package com.akita.lesson05;import javax.swing.*;
import java.awt.*;public class TestComboboxDemo01 extends JFrame {public TestComboboxDemo01() {Container container = this.getContentPane();container.setBackground(new Color(1, 1, 1));JComboBox jComboBox = new JComboBox();jComboBox.addItem("love");jComboBox.addItem("lee");jComboBox.addItem("wzz");container.add(jComboBox);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);this.setBounds(200, 200, 400, 250);this.setVisible(true);}public static void main(String[] args) {new TestComboboxDemo01();}
}

运行效果

列表框

package com.akita.lesson05;import javax.swing.*;
import java.awt.*;public class TestComboboxDemo02 extends JFrame {public TestComboboxDemo02() {Container container = this.getContentPane();//生成列表内容String[] contents = {"akita", "wzz", "lee"};JList jList = new JList(contents);container.add(jList);this.setVisible(true);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);this.setBounds(200, 200, 500, 350);}public static void main(String[] args) {new TestComboboxDemo02();}
}

运行效果

应用场景

  • 对于下拉框可以设置选择地区,或者一些单个选项
  • 列表框,用于展示信息,一般是动态扩容

文本框

文本框

package com.akita.lesson05;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.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);this.setBounds(200, 200, 400, 250);}public static void main(String[] args) {new TestTextDemo01();}
}

运行效果

密码框

package com.akita.lesson05;import javax.swing.*;
import java.awt.*;public class TestTextDemo02 extends JFrame {public TestTextDemo02() {Container container = this.getContentPane();JPasswordField passwordField = new JPasswordField();passwordField.setEchoChar('*');container.add(passwordField);this.setVisible(true);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);this.setBounds(200, 200, 400, 350);}public static void main(String[] args) {new TestTextDemo02();}
}

运行效果

文本域

package com.akita.lesson05;import javax.swing.*;
import java.awt.*;public class TestTextDemo03 extends JFrame {public TestTextDemo03() {Container container = this.getContentPane();//文本域JTextArea jTextArea = new JTextArea(20, 50);jTextArea.setText("hello world!");//scroll面板JScrollPane jScrollPane = new JScrollPane(jTextArea);container.add(jScrollPane);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);this.setVisible(true);this.setBounds(300, 300, 400, 250);}public static void main(String[] args) {new TestTextDemo03();}
}

运行效果

Java的GUI编程---Swing介绍相关推荐

  1. Java的GUI编程---AWT介绍

    AWT AWT介绍 包含了很多类和接口.用于GUI编程:图形用户界面编程 元素:窗口,按钮,文本框 java.awt 组件和容器 Frame package com.akita.lesson01;im ...

  2. Java:GUI编程

    文章目录 GUI编程 AWT 一.AWT介绍 二.组件和容器(Component和Container) 2.1.Frame 2.2.Panel 三.布局管理器 3.1.第一种布局管理器--FlowLa ...

  3. 4.JAVA之GUI编程事件监听机制

    事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...

  4. 9.JAVA之GUI编程列出指定目录内容

    代码如下: /*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import ...

  5. 13.JAVA之GUI编程将程序打包jar

    jar基本命令: 目标:将下列MyMenuDemo.java代码打包成jar. 方法如下: 1.把java代码放到d:\myclass目录下. 2.按下快捷键ctrl+r,打开运行窗口,输入cmd后回 ...

  6. pythonguitkinter编程入门_Python Tkinter GUI编程入门介绍

    一.Tkinter介绍 Tkinter是一个python模块,是一个调用Tcl/Tk的接口,它是一个跨平台的脚本图形界面接口.Tkinter不是唯一的python图形编程接口,但是是其中比较流行的一个 ...

  7. Java之GUI编程学习笔记六 —— AWT相关(画笔paint、鼠标监听事件、模拟画图工具)

    Java之GUI编程学习笔记六 -- AWT相关(画笔paint) 参考教程B站狂神https://www.bilibili.com/video/BV1DJ411B75F 了解paint Frame自 ...

  8. python的gui编程用途_Python19-03_GUI编程----GUI编程的介绍(第一个程序)

    GUI编程的介绍(第一个程序) GUI图形用户界面编程 我们前面实现的都是基于控制台程序, 程序和用户交互通过控制台来完成. GUI(Graphics User Interfance)即图形用户界面编 ...

  9. Java基础-GUI编程讲解

    GUI编程 组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 简介 GUI的核心技术:Swing和AWT 1.界面不美观 2.需要jre环境 3.GUI是MVC的 ...

最新文章

  1. 艺术站-卡通和风格化的HDRI天空
  2. js正则表达式的使用详解
  3. 我们正处于新科学革命的起点 | 学界热议AI for Science
  4. react页面数据过多怎么办_React-多页面应用
  5. 《VMware Virtual SAN权威指南(原书第2版)》一1.5 什么是Virtual SAN
  6. vivado MMCM/PLL IP使用
  7. 项目管理学习总结(5)——产品开发过程中各角色职责说明和技能要求
  8. 新手须知,前端该如何与后端合作?
  9. 【前端小技巧】利用border画三角形及梯形
  10. C语言和设计模式(之组合模式)
  11. 工作中常用到的ES6语法
  12. 【Swift】iOS UICollectionView 计算 Cell 大小的陷阱
  13. hikari如何切换数据源_spring boot+mybatis 多数据源切换(实例讲解)
  14. kali linux 添加字体,在kali linux之下安装wps之后 报错字体缺失
  15. 跨平台画图工具drawio使用指南——下载安装及常见功能指南
  16. Python小程序之购买商品
  17. python 保留浮点数为两位小数
  18. ROS学习笔记(一):利用节点进行发布与订阅
  19. Apollo星火计划学习笔记第四讲1——Apollo高精地图模块
  20. 如何安装免费正版office

热门文章

  1. Vue源码解读一:Vue数据响应式原理
  2. 微信小程序(九):页面跳转
  3. IGMP Snooping协议技术总结
  4. 跳槽谋发展:人生发展的一些思考和最近找工作的坎坷经历
  5. java实现概率抽奖
  6. 单片机IC卡读取开题报告_基于单片机的ic卡读写系统的实现.doc
  7. HC-SuK070-C【通信口配置】之CAN
  8. 【Java专题】Java泛型集合详解
  9. 03-iptables-实验
  10. ChatGPT简要解读(一) - 原理分析与性能提升篇