java swing入门教程_java swing基础(菜鸟教程学习)

java swing入门教程_java swing基础(菜鸟教程学习)JavaSwing介绍1.Swing是一个为java世纪的GUI工具包2.Swing是JAVA基础类的一部分3.Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表4个器件4.Swing提供许多比AWT更好的屏幕显示元素,用纯java写成。AWT是JFC的一部分,支持可更换的面板和主题(各种操作系统默认的特有主题),然而并不是真的使用原生平台提供的设备,而是仅仅在表面上模仿…

大家好,又见面了,我是你们的朋友全栈君。

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”。

嗯 虽然大部分菜鸟驿站的照抄大半,但有自己的理解和注入,所以原创吧原创吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154062.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mqtt服务器搭建php,Windows搭建MQTT服务器

    mqtt服务器搭建php,Windows搭建MQTT服务器MQTT,是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备:轻量级的消息订阅和发布(publish/subscribe)协议建立在TCP/IP协议之上物联网,MQTT在这方面应用较多这里MQTT分客户端服务器端网上的确有很多代码,但是服务器端的配置很少,而MQTT是通过TCP/IP协议连接的,MQTT是协议类型HTTP协议一样,也需要对应的服…

    2022年5月8日
    64
  • 云计算基础之如何学习云计算?

    背景随着云计算的普及,越来越多IDC上的网站与应用开始在云上。那么同时对于我们这些IT从业者来说,也面临着加快学习云计算,不被新技术淘汰的挑战。2011年,云计算正式开始发展。今年是2018年了,是云计算发展的第7个年头了。虽然云计算的前景很好,但它的发展也更多地是在商业应用上,还没能达到学习交流分享的层次。云计算的学习路线、书籍、社区与成熟的嵌入式、互联网行业相比,是非常欠缺的!我们这次…

    2022年4月4日
    32
  • css后代选择器_什么是后代选择器并举例说明

    css后代选择器_什么是后代选择器并举例说明后代选择器集中形式:1.父代*{}从父代中的找到所有子代。2.父代子代1{}是从父代中找到子代1或者父代子代2{}是从父代中找到子代2。3.父代子代1子代

    2022年8月3日
    4
  • ubuntu18.04超级简单的安装wine QQ教程

    第一步打开UbuntuSoftware,搜索wine第二步下载wine和Winetricks,并打开Winetricks(如图)ps:有可能会跳出一些提示框,直接点ok第三步选择安装一个windows应用,并选择qq安装ps:会下载安装包以及一些插件,可能不能一次成功,再进行一次相同的操作即可第四步安装QQ完成ps:这个Win…

    2022年4月6日
    259
  • 什么是DrawCall?「建议收藏」

    前言游戏开发圈里的人一定听过优化游戏要降低DrawCall,这样到底什么是DrawCall呢?Unity中应该如何降低DrawCall,这里就来讲解一下关于DrawCall知识点。1.是谁拖了后腿?通俗的来说就是Cpu:(#`O′)喂你好,是Gpu吗?快点醒醒我这里又有画画的任务了(Cpu调用Gpu的次数),打一个比方比如上传很多文件到百度云或其他地方时,都会把它压缩到一个文件夹里…

    2022年4月5日
    50
  • JAVA之文件操作[通俗易懂]

    JAVA之文件操作[通俗易懂]Console此类包含多个方法,可访问与当前Java虚拟机关联的基于字符的控制台设备(如果有)。虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。如果此虚拟机具

    2022年10月26日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号