JAVA SWING

这篇具有很好参考价值的文章主要介绍了JAVA SWING。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

最近在写一个java的小项目,用到了Java swing的技术,本篇博客对Java swing作ava平台的用户界面(UI)工具包。它提供了一组图形用户界面(GUI)组件,例如按钮、文本框、标签等,以及布局管理器,用于创建基于桌面的应用程序。在本篇博客中,我将介绍JavaSwing的基本概念和用法。


一、Java swing概述?

Swing是Java平台的一部分,它的主要目的是提供一个跨平台的用户界面工具包。Swing提供了一组GUI组件和布局管理器,用于构建桌面应用程序。Swing的设计目标是让开发人员能够轻松地创建具有丰富用户界面的应用程序,并且这些应用程序可以在不同的操作系统上运行。

Swing是基于Java AWT(抽象窗口工具包)构建的。AWT是Java平台的另一个用户界面工具包,但它的主要问题是不跨平台。Swing通过提供一组跨平台的GUI组件和布局管理器来解决这个问题。

二、Java swing 的组件

Swing提供了许多GUI组件,包括标签、按钮、文本框、下拉列表、表格等。这些组件都是从JComponent类继承而来的。JComponent类是Swing组件的基类,它提供了一些通用的方法和属性,例如事件处理和边框。

下面是一些常用的Swing组件:

  • JLabel:用于显示文本或图像。
//显示文本
JLabel label = new JLabel("Hello, World!");
  • JButton:用于触发动作事件。
JButton button = new JButton("Click me!");
button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        // 处理按钮点击事件的代码
    }
});
  • JTextField:用于输入文本。
JTextField textField = new JTextField(20);
textField.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        // 处理文本框的回车事件的代码
        String text = textField.getText();
        // 处理文本框输入的代码
    }
});
  • JPasswordField:用于输入密码。
passwordField.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        char[] password = passwordField.getPassword();
        String passwordString = new String(password);
        // 处理密码输入完成后的事件的代码
    }
});
  • JComboBox:用于显示下拉列表。
String[] options = {"Option 1", "Option 2", "Option 3"};
JComboBox<String> comboBox = new JComboBox<>(options);
comboBox.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        String selectedOption = (String) comboBox.getSelectedItem();
        // 处理下拉框选项改变事件的代码
    }
});
  • JTable:用于显示表格数据。

三、Java swing 的布局管理器

Swing提供了各种布局管理器,用于管理组件的位置和大小。布局管理器可以帮助我们在不同的平台上创建具有相同外观的应用程序。

下面是一些常用的布局管理器:

  • FlowLayout:按照组件的添加顺序在容器中排列组件。
  • BorderLayout:将容器划分为5个区域:北、南、东、西和中心。每个区域只能包含一个组件。
  • GridLayout:将容器划分为网格,在每个网格中放置一个组件。
  • GridBagLayout:将容器划分为网格,并且可以更灵活地控制每个组件的大小和位置。

四、Java swing 的事件处理

Swing使用事件驱动模型来处理用户输入事件。当用户与Swing组件交互时,Swing将生成相应的事件,并将其传递给事件处理程序。事件处理程序可以是一个方法、一个内部类或一个独立的对象。

下面是一些常用的Swing事件:

  • ActionEvent:当用户单击按钮或菜单项时触发。
  • KeyEvent:当用户按下或释放键盘上的键时触发。
  • MouseEvent:当用户单击、按下或释放鼠标按钮时触发。
  • WindowEvent:当窗口打开、关闭或失去焦点时触发。

五、Java swing 的示例代码

 下面是一个小球移动的案例:
package com.hspedu.event;

import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.security.Key;

/**
 * 演示小球通过键盘上下左右的移动-》讲解java的事件控制
 */
public class BallMove extends JFrame{//窗口
    MyPanel mp = null;
    public static void main(String[] args) {
        BallMove ballMove = new BallMove();
    }

    public BallMove(){
        mp = new MyPanel();
        this.add(mp);
        this.setSize(400,400);
        //窗口JFrame对像可以监听键盘事件
        this.addKeyListener(mp);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
}
//画板,KeyListener监听键盘事件
class MyPanel extends JPanel implements KeyListener {
    //为了让小球可以移动,把他的左上坐标设置成变量
    int x=10;
    int y=10;
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.fillOval(x,y,20,20);//默认黑色
    }
    //有字符输入时,该方法就会触发
    @Override
    public void keyTyped(KeyEvent e) {

    }
    //当某个键按下时
    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println((char)e.getKeyCode()+"被按下。。。");
        //根据用户按下的不同键来处理小球的移动
        if (e.getKeyCode() == KeyEvent.VK_DOWN){ //KeyEvent.VK_DOWN对应向下的箭头,Java中会给每一个值分配对应的(int)值
            y++;
        }else if(e.getKeyCode() == KeyEvent.VK_UP){//向上的箭头
            y--;
        }else if(e.getKeyCode() == KeyEvent.VK_RIGHT){//右箭头
            x++;
        }else if(e.getKeyCode() == KeyEvent.VK_LEFT){//左箭头
            x--;
        }


        //重绘
        this.repaint();
    }
    //当某个键释放
    @Override
    public void keyReleased(KeyEvent e) {

    }
}

效果图:
通过上下左右键我们可以操作小球移动。这时候想,假如我把小球换成坦克,在画板上设置其它的坦克,再设置一些不可通过的障碍,这样,童年游戏坦克大战的雏形是不是就出来了?
java swing,java,开发语言


总结

Java Swing是Java平台的一个强大的GUI工具包,它提供了一组跨平台的GUI组件和布局管理器,以及事件处理机制。通过使用Swing,我们可以轻松地创建具有丰富用户界面的桌面应用程序。文章来源地址https://www.toymoban.com/news/detail-730410.html

到了这里,关于JAVA SWING的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java实现的五子棋游戏 ~java.awt&java.swing

    作业要求: (1)课题代号: 2 (2)课题名称: 2D 游戏设计 (3)课题要求:设计一种二维游戏(如数独,扫雷,飞机大战,贪食蛇,五子棋等),完成界面设计和必要的游戏功能 以下主要实现的功能有: 一、下棋功能,在棋盘的交点处落子。 二、简单人机对战功能。 1.实现

    2024年02月09日
    浏览(28)
  • Java--基于Swing的登录界面

    运行结果: 代码:  总结: 这是一个简单的学生信息管理系统的Java代码。它创建了一个窗体,包含用户名输入框、密码输入框、角色选择单选按钮组、登录按钮和注册按钮。当用户点击登录按钮时,根据所选的角色执行相应的登录逻辑。如果用户名或密码为空,则提示用户输入

    2024年02月12日
    浏览(31)
  • 【Java课程设计】基于Java Swing 的图书管理系统

    🎁 作者简介 :在校大学生一枚,Java领域新星创作者,Java、Python正在学习中。 💗 个人主页: 我是一棵卷心菜的个人主页 🍂 日常学习网站: 牛客网,可以用来刷算法题、工作内推、面经复习、练习SQL等等,很不错的多功能网站。点击注册学习刷题吧! 📕 自我提醒: 多

    2024年02月07日
    浏览(56)
  • 【Java】Java使用Swing实现一个模拟计算器(有源码)

       📝个人主页:哈__ 期待您的关注  今天翻了翻之前写的代码,发现自己之前还写了一个计算器,今天把我之前写的代码分享出来。  我记得那会儿刚学不会写,写的乱七八糟,但拿来当期末作业还是不错的哈哈。 直接上源码,后上讲解。 计算器上的按键不少,我们都定

    2024年04月11日
    浏览(46)
  • Java——一个使用Java Swing实现的考试系统的窗体类

    这是一个使用Java Swing实现的考试系统的窗体类。主要包括菜单栏、题目内容、选项、按钮等组件,并且实现了开始考试、上一题、下一题和提交按钮的功能。 在窗体的构造方法中,设置了窗体的标题、大小和位置,并调用了init方法和setVisible方法。init方法用于设置初始界面

    2024年02月11日
    浏览(30)
  • Java Swing 简单的登录注册窗口

    最近在学习Java Swing 写了一个简单的登录注册窗口, 该项目包含了对JFrame的创建,和一些组件的练习并且加入了简单的事件监听和简单的用户名密码判断。 登录和注册的页面只画出来了没有进行其他的组件添加 1,Swing是一个为Java设计的GUI工具包。 2,Swing是JAVA基础类的一部分。

    2023年04月26日
    浏览(75)
  • Java的Swing被JavaFX取代了

    JavaFX是Oracle在Java平台上推出的一种富客户端应用程序开发框架,它在功能和外观方面更加先进和强大,逐渐取代了过时的Swing框架。JavaFX提供了丰富的用户界面控件、布局容器、图形绘制、媒体播放和动画等功能,使得开发者能够更加轻松地构建现代化、交互式的桌面应用程

    2024年02月04日
    浏览(25)
  • 我的第一个Java Swing窗体程序

    Java Swing入门之窗体 目录 Java Swing系列 简介 一、Swing组件结构 二、窗体实现 1. 单窗体编写 2.多窗体编写 总结 Swing是一个用于开发Java应用程序用户界面的开发工具包,是由纯Java实现的。以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格,不依赖

    2024年01月16日
    浏览(48)
  • Java Swing大作业--简易员工管理系统

    @Java Swing简易员工管理系统 系统包括管理员登录页面和主页面设计,在主界面包括员工信息的增删改查功能。 开发环境:eclipse 2022-03 Jdk版本:11 数据库:MySQL 1.创建数据库employees。 2.创建管理员表admin并增加数据。 3.创建员工信息表emp并增加数据。 1.基础层BaseDao 2.管理员Ad

    2024年02月09日
    浏览(32)
  • Java AWT Swing(图形化界面编程)(一)

                目录 1.简介 2.Java中的图像化界面----Awt与Swing 一、AWT编程 1.简介 2.AWT的继承体系  3.container容器 3.1container继承体系 3.2.常见API  3.3容器演示一 3.4容器演示二 3.5容器演示三 通常情况下,java语言一般是用来开发后台程序的,所谓的后台程序就是部署在服务器端的程

    2024年02月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包