java swing入门教程_java swing基础(菜鸟教程学习)
Java Swing介绍
1.Swing是一个为java世纪的GUI工具包
2.Swing是JAVA基础类的一部分
3.Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表 4个器件
4.Swing提供许多比AWT更好的屏幕显示元素,用纯java写成。
AWT是JFC的一部分,支持可更换的面板和主题(各种操作系统默认的特有主题),然而并不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。
意味着你可以在任意平台上使用java支持的任意模板
虽然不知道这是啥意思,看着挺牛的:轻量级组件的缺点则是执行速度较慢,优点是可以在所有平台上采用统一的行为。(AWT)
以写代学吧
先写一个hello world 程序吧
HelloWorldSwing.java文件代码如下:
//解释一波 这是创建窗口到添加标签"hello world"然后显示的实例
import javax.swing.*;
public class HelloWorldSwing{
创建并显示GUI,出于线程安全的考虑
//这个方法在事件调用线程中调用
private static void createAndShowGUI(){
//创建一个漂亮的外观风格
JFrame.setDefaultLookAndFeelDecorated(true);
//创建及设置窗口
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//添加“Hello World 标签”
JLabel label = new JLabel("hello world");
frame.getContentPane().add(label);
//显示窗口
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//显示应用GUI(这调用方法吊炸天)
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
}
这个很简单 看看就懂了
下一个例子
想要实现一个用户登录框实例
相信我,看着很长 一步一步按着敲就知道是什么意思了。注释很清楚,最多15分钟
package javaSwing;
//再解释一波,这跟上面那啥HelloWorldSwing没好大区别,就是多了几个方法的运用
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;//这些import你别管它是啥,用就完事了
public class SwingLoginExample {
public static void main(String[] args) {
//好的,日常用JFrame创建一个窗口对象frame,然后设置关闭建
JFrame frame = new JFrame("Login Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//多了一个对frame对象窗口的操作,嗯 设计下窗口大小还不错
frame.setSize(350,200);
//创建面板JPanel,这个类似于HTML的div标签
//我们可以创建多个面板并在JFrame中指定位置,面板中我们可以添加文本字段,按钮及其他组件
//哎哟,说了一大堆,其实就是可以在窗口里面添加东西啦
//当然前提是用JPanel创建了一个面板对象panel,因为我们要添加只能通过这个面板(当然还有其他方法哈,不止这一个)
JPanel panel = new JPanel();
//日常添加到窗口frame中
frame.add(panel);
//调用用户定义的方法并添加组件到面板
placeComponents(panel);
//好的,日常设置界面可见
frame.setVisible(true);
}
//基本框架完成,现在往里面添加东西吧
private static void placeComponents(JPanel panel) {
//布局部分我们这边不多做介绍
//这边设置布局为null
panel.setLayout(null);
//用JLabel创建一个userLabel标签对象,哎呀名字随便取,作用就是直接在屏幕上显示信息的
//用法与一般的生成对象有点区别,据我估计是构造方法带参了...总之不影响我们学习
JLabel userLabel = new JLabel("User:");
//这个方法定义组件的位置 setBounds(x,y,width,height),好,记住了,后面用的多
userLabel.setBounds(10, 20, 80, 25);
//日常添加到面板panel中
panel.add(userLabel);
//创建文本域(JTextField函数) 嗯,学到了 新函数 用来创建文本域输入信息的
JTextField userText = new JTextField(20);
userText.setBounds(100, 20, 165, 25);
//日常添加到面板panel中
panel.add(userText);
//创建JLabel 与上面操作一样的
JLabel passwordLabel = new JLabel("Password:");
passwordLabel.setBounds(10, 50, 80, 25);
//日常日常
panel.add(passwordLabel);
//换个文本域创建方法 用于保护密码安全 类似上面的JTextField方法
JPasswordField passwordText = new JPasswordField(20);
passwordText.setBounds(100, 50, 165, 25);
//......
panel.add(passwordText);
//创建登陆按钮(JButton)
JButton loginButton = new JButton("登陆");
loginButton.setBounds(0, 100, 80, 25);
//......
panel.add(loginButton);
}
}
好的好的,你如果能够按顺序看到这里我就很欣慰了。
接下来是概念解析: ps:很想略过,因为照着敲心累,又背不下来。
JFrame
java的GUI程序的基本思路是以JFrame为基础,说白了就是窗体屏幕它是屏幕上window的对象,能够最大化,最小化,关闭。
JPanel
java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame窗体中。
呃,好吧实力有限以后补解释。
JLabel
JLabel对象可以显示文本、图像或同时显示二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。默认情况下,标签在显示区内垂直居中对齐。默认情况下,只显示文本的标签是开始边对齐。而只显示图像的标签则水平居中对齐。好累 这些官方话敲的我好累。。。偏偏我又不会用白话解释
JTextField
一个轻量级组建,允许编辑单行文本。
JPasswordField
允许我们输入了一行字像输入框,但隐藏星号(*)或点创建密码(密码) 学习过javascript的同学应该明白 类似的注册表单嘛
JButton
JButton类的实例。用于创建按钮类似实例中的“Login”。
嗯 虽然大部分菜鸟驿站的照抄大半,但有自己的理解和注入,所以原创吧原创吧。
java swing入门教程_java swing基础(菜鸟教程学习)相关推荐
- java二重循环换行_Java零基础系列教程05Java二重循环
配套视频教程 循环回顾某次程序大赛,S1班有4名学员参加,学员的成绩由用户输入,计算该班参赛学员的平均分 二重循环若有3个班级各4名学员参赛,如何计算每个班级参赛学员的平均分? 使用二重循环实现--一 ...
- python菜鸟基础教程-python基础菜鸟教程,Python的基础语法
原标题:python基础菜鸟教程,Python的基础语法 什么是Python?Python是一门简单直观的编程语言,并且目前是开源的,可以方便任何人使用. Python的开发哲学:用一种方法,最好是只 ...
- python基础教程菜鸟教程-python基础菜鸟教程,Python的基础语法
原标题:python基础菜鸟教程,Python的基础语法 什么是Python?Python是一门简单直观的编程语言,并且目前是开源的,可以方便任何人使用. Python的开发哲学:用一种方法,最好是只 ...
- html修改字体大小菜鸟,HTML 基础 | 菜鸟教程
HTML 基础 | 菜鸟教程 2018-09-17 HTML 基础- 4个实例 不要担心本章中您还没有学过的例子, 您将在下面的章节中学到它们. HTML 标题 HTML 标题(Heading)是通过 ...
- python基础菜鸟教程-菜鸟教程学习python
1.杂货 *items(): 方法以列表返回可遍历的(键, 值) 元组数组. *在序列中遍历时,索引位置和对应值可以使用 enumerate()函数同时得到 *同时遍历两个或更多的序列,可以使用 zi ...
- java flowlayout 左对齐_Java Swing组件布局管理器之FlowLayout(流式布局)入门教程
本文实例讲述了Java Swing组件布局管理器之FlowLayout(流式布局).分享给大家供大家参考,具体如下: FlowLayout应该是Swing布局管理器学习中最简单.最基础的一个.所谓流式 ...
- java qq ui界面_java swing 创建一个简单的QQ界面教程
记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.a ...
- java swing外文文献_Java Swing英文本pdf教程(Java Swing (O'Reilly))
[实例简介] [实例截图] [核心代码] Java Swing Preface - 5 What This Book Covers About the Source Code Conventions ...
- java gui拖拽_Java Swing拖放
Java Swing教程 - Java Swing拖放 拖放(DnD)是一种在应用程序中传输数据的方法. DnD允许我们通过拖动组件并将其拖放到另一个组件上来传输数据. 拖动的组件称为拖动源;它提供要 ...
- java swing最小化_Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果)...
Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果) package swing; import java.awt.AWTException; import java ...
最新文章
- php 列出当前目录
- python 贴吧自动回复机-python实现微信自动回复机器人
- 间接通过new 来申请一个二维的堆内存数组
- 乐讯网python论坛_乐讯论坛
- pyspark 数据写入hive_Pyspark将数据写入hi
- C++冒泡排序(初级版)
- C语言编译php环境,vscode中C语言编译环境的配置方法(分享)
- ch8 ProviderDemo
- 国美云运维自动化实践
- 豆豆趣事[2014年04月]
- 关于在谷歌浏览器,vue-video-player 实现断点续播,currentTime不生效问题
- angularjs 动态监控数据
- 简单工厂、工厂方法、抽象工厂
- 什么是继承?Java中如何声明一个类继承另一个类?
- PHP.ini配置文件(转载)
- linux netstat 命令 (转载)
- 移动硬盘读不出来的处理办法
- 1、会计的概念、职能和目标
- Linux:MySQL:重启服务细节
- 中文分词_中文分词01