swing快速入门(二十九)播放器工具条

2023-12-26 13:44

本文主要是介绍swing快速入门(二十九)播放器工具条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注释很详细,直接上代码

上一篇

新增内容

1.工具条按钮添加响应及图标
2.为控件添加滚动条(通用)
3.在工具按钮之间添加自动间隔
4.设置工具条的可否移动状态(默认可移动)
package swing21_30;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;public class swing_test_27 {//创建JFrameJFrame jFrame = new JFrame("测试工具条");//创建JTextAreaJTextArea jTextArea = new JTextArea(6,35);//创建工具条JToolBar jToolBar = new JToolBar();//创建"上一曲"Action,该Action用于创建工具按钮Action pre = new AbstractAction("上一曲",new ImageIcon("img/pre.png")) {@Overridepublic void actionPerformed(ActionEvent e) {jTextArea.append("上一曲.\n");}};//创建"暂停" ActionAction pause = new AbstractAction("暂停",new ImageIcon("img/pause.png")) {@Overridepublic void actionPerformed(ActionEvent e) {jTextArea.append("暂停播放.\n");}};// 创建"下一曲" ActionAction next = new AbstractAction("下一曲",new ImageIcon("img/next.png")) {@Overridepublic void actionPerformed(ActionEvent e) {jTextArea.append("下一曲.\n");}};public void init(){//给JTextArea添加滚动条jFrame.add(new JScrollPane(jTextArea));//添加滚动条//以Action的形式创建按钮,并将按钮添加到Panel中JButton preBtn = new JButton(pre);//创建按钮JButton pauseBtn = new JButton(pause);//创建按钮JButton nextBtn = new JButton(next);//创建按钮//往工具条中添加Action对象,该对象会转换成工具按钮jToolBar.add(preBtn);//添加按钮jToolBar.addSeparator();//添加分割线jToolBar.add(pauseBtn);//添加按钮jToolBar.addSeparator();//添加分割线jToolBar.add(nextBtn);//添加按钮//使工具条不可移动(默认为可移动)jToolBar.setFloatable(false);//向窗口中添加工具条jFrame.add(jToolBar, BorderLayout.NORTH);//设置窗口的关闭方式jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗口的大小jFrame.pack();jFrame.setVisible(true);}public static void main(String[] args) {//创建对象new swing_test_27().init();}
}

效果演示:

在这里插入图片描述

素材链接:

img-blog.csdnimg.cn/direct/dd6e97578ec0453e94f09ac5d54586de.png
请添加图片描述
img-blog.csdnimg.cn/direct/aaffab8961ca4d498e431e29d539842f.png
请添加图片描述
img-blog.csdnimg.cn/direct/bc7f7f450ed94d86ba39d5ce2aeb2989.png
请添加图片描述

这篇关于swing快速入门(二十九)播放器工具条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/539632

相关文章

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3