javaswing⼊门教程_javaswing基础(菜鸟教程学习)
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.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你别管它是啥,⽤就完事了
javaswing酷炫界面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”。
嗯 虽然⼤部分菜鸟驿站的照抄⼤半,但有⾃⼰的理解和注⼊,所以原创吧原创吧。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论