iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java+swing实现抖音上的表白程序详解
  • 293
分享到

Java+swing实现抖音上的表白程序详解

2024-04-02 19:04:59 293人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.准备工作2.界面窗体的设计与实现3.对按钮加上监听事件4.设置滚按钮的层级为最上面5.为界面添加一首背景音乐6.源代码带你手把手,用 java swing实现抖音上的表白程序

带你手把手,用 java swing实现抖音上的表白程序

1.准备工作

a.需要下载一个带着swing插件的eclipse

b.需要配置好jdk

c.创建一个JFrame的项目(如下图所示的步骤)

d.把资源文件放入与src所在的那个目录

步骤如下:

1.先复制资源文件

2.粘贴文件

3.把jar文件放入Referenced Libraries文件夹下

​ 这第3步的具体操作如何所示

那么如何判断添加是否成功呢?

解答:看Referenced Libraries下面是否出现了刚刚build path的

两个文件,若出现了,则代表添加成功(成功的视图如下所示:)

e.design界面和source界面主要是干嘛的?

source界面用于写源代码,主要是用于写触发按键某一事件,需要进行简单的逻辑判断

design界面是通过可视化界面来帮我们进行界面的基本设计,直接拖拽即可,不用书写那些定义、基本属性的赋值这类的java代码了

2.界面窗体的设计与实现

整体的按钮的布局应该如下图所示

实现过程如下:

​ a.对窗体进行操作

//设置窗体关闭模式 exit-退出程序 do_nothing退出没有任何操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗体的大小和坐标 x y  宽度 高度
setBounds(100, 100, 584, 439);
//居中显示
setLocationRelativeTo(null);
//设置窗体不可拖拽
setResizable(false);
//设置窗体的图标
setIconImage(new ImageIcon("love.png").getImage());

b.在design界面.根据刚刚的布局分布图,把按键移动到合适位置

c.把gif图片设置为相应为相应按钮的图标

lblNewLabel.setIcon(newImageIcon("E:\\Ueclipseworkspace\\love\\gfriend.gif"));

d.对剩下的组件进行颜色的设置

//以button按钮为例,进行颜色的设置
//setforeground是设置控件里面的字体颜色
btnNewButton.setForeground(Color.WHITE);
//setbackground是设置控件里面的背景颜色
btnNewButton.setBackground(Color.PINK);
//setforeground是设置控件里面字体类型以及字体大小
btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 15));

3.对按钮加上监听事件

3.1 对"好的"这个按钮加上鼠标点击事件

3.1.1 在design界面对"好的"按钮添加鼠标点击事件

3.1.2 跳转到resource界面后,对鼠标点击事件加上具体操作

//鼠标点击后就会弹出提示
FrameUtil.msg("好的,老婆我就知道你会同意的");
//结束程序
System.exit(0);

3.2 对"滚"这个按钮加上鼠标进入事件

3.2.1 在design界面对"滚"按钮添加鼠标进入事件

3.2.2 跳转到resource界面后,对鼠标进入事件加上具体操作

//弹出信息框,不断的挽留,不允许它退出程序
FrameUtil.msg("老婆大人,原谅我好吗?");
FrameUtil.msg("我错了,再也不敢把钱不上交了");

3.3 对"滚"这个按钮加上鼠标点击事件(点中随机位置了)

3.3.1 在design界面对"滚"按钮添加鼠标点击事件

3.3.2 跳转到resource界面后,对鼠标点击事件加上具体操作

//当用户点击到滚按钮的随机位置时,也要进行一波挽留操作,不允许拒绝
//弹窗弹出挽留语句
FrameUtil.msg("老婆大人,原谅我好吗?");
FrameUtil.msg("我错了,再也不敢把钱不上交了");

4.设置滚按钮的层级为最上面

无论怎么移动,都是最上层

5.为界面添加一首背景音乐

//前提:需要把他人写好的资源包build path到自己的项目中
//需要在窗体可见之前进行设置
FrameUtil.playMusic("嫁给我.mp3");
//当这首歌的路径和src文件夹同级别时,这样写就可以了
//这个放的位置在方法体外面

6.源代码

package demo;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import com.frame.util.FrameUtil;

import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Random;

public class Love extends JFrame {

	private JPanel contentPane;

	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Love frame = new Love();
					//设置窗体不可见
					
//					FrameUtil.playMusic("嫁给我.mp3");
					frame.setVisible(true);
					
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
		
		FrameUtil.playMusic("嫁给我.mp3");
	}

	
	public Love() {
		//设置窗体的大小
		setTitle("\u9ED1\u51E4\u68A8");
		//设置窗体关闭模式 exit-退出程序 do_nothing退出没有任何操作
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//设置窗体的大小和坐标 x y  宽度 高度
		setBounds(100, 100, 584, 439);
		//剧中显示
		setLocationRelativeTo(null);
		//设置窗体不可拖拽
		setResizable(false);
		//设置窗体的图标
		setIconImage(new ImageIcon("love.png").getImage());
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JButton button = new JButton("\u6EDA");
		
			button.setForeground(Color.WHITE);
			button.setFont(new Font("微软雅黑", Font.BOLD, 15));
			button.setBackground(Color.PINK);
			button.setBounds(396, 273, 113, 27);
			button.addMouseListener(new MouseAdapter() {
				@Override
				public void mouseEntered(MouseEvent arg0) {
					Random random=new Random();
					int x=random.nextInt(480);
					int y=random.nextInt(380);
					button.setBounds(x, y, 113, 27);
				}
				@Override
				public void mouseClicked(MouseEvent e) {
					FrameUtil.msg("老婆大人,原谅我好吗?");
					FrameUtil.msg("我错了,再也不敢把钱不上交了");
				}
			});
			contentPane.add(button);
		
		JLabel lblNewLabel = new JLabel("New label");
		lblNewLabel.setIcon(new ImageIcon("E:\\Ueclipse-workspace\\love\\gfriend.gif"));
		lblNewLabel.setBounds(14, 40, 200, 200);
		contentPane.add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("\u5C0F\u59D0\u59D0\u6211\u559C\u6B22\u4F60\u5F88\u4E45\u4E86");
		lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 20));
		lblNewLabel_1.setForeground(Color.PINK);
		lblNewLabel_1.setBounds(269, 57, 219, 73);
		contentPane.add(lblNewLabel_1);
		
		JLabel label = new JLabel("\u505A\u6211\u5973\u670B\u53CB\u597D\u5417?");
		label.setForeground(Color.RED);
		label.setFont(new Font("微软雅黑", Font.BOLD, 20));
		label.setBounds(269, 167, 219, 73);
		contentPane.add(label);
		
		JButton btnNewButton = new JButton("\u597D\u7684");
		btnNewButton.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				//JOptionPane.showMessageDialog(null,"我的");
				FrameUtil.msg("好的,老婆我就知道你会同意的");
				System.exit(0);
			}
		});
		btnNewButton.setForeground(Color.WHITE);
		btnNewButton.setBackground(Color.PINK);
		btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 15));
		btnNewButton.setBounds(254, 272, 113, 27);
		contentPane.add(btnNewButton);
	}
}

以上就是Java+swing实现抖音上的表白程序详解的详细内容,更多关于Java swing表白程序的资料请关注编程网其它相关文章!

--结束END--

本文标题: Java+swing实现抖音上的表白程序详解

本文链接: https://www.lsjlt.com/news/152587.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java+swing实现抖音上的表白程序详解
    目录1.准备工作2.界面窗体的设计与实现3.对按钮加上监听事件4.设置滚按钮的层级为最上面5.为界面添加一首背景音乐6.源代码带你手把手,用 java swing实现抖音上的表白程序...
    99+
    2022-11-13
  • 怎么用Java+swing实现抖音上的表白程序
    本篇内容介绍了“怎么用Java+swing实现抖音上的表白程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.准备工作a.需要下载一个带着...
    99+
    2023-07-02
  • Java实现超简单抖音去水印的示例详解
    目录一、前言二、原理与步骤三、代码实现四、总结一、前言 抖音去水印方法很简单,以前一直没有去研究,以为搞个去水印还要用到算法去除,直到动手的时候才发现这么简单,不用编程基础都能做。 ...
    99+
    2022-11-13
  • Java实现顺序表的操作详解
    目录一、顺序表是什么二、自定义异常空引用异常下标越界异常三、顺序表的方法顺序表的实现获取顺序表长度顺序表是否为空顺序表是否为满打印顺序表末尾新增元素指定位置新增元素判断是否包含某元素...
    99+
    2022-11-13
  • 微信小程序多表联合查询的实现详解
    目录一对多表设计SQL中的关联查询低码中的表关联自定义连接器中实现表关联查询新建连接器总结一对一的设计一般不常见,只需要设计到主表中即可,避免增加复杂性。一对多的关系比较常见,一的一...
    99+
    2022-11-13
    微信小程序多表联合查询 微信小程序联合查询
  • Java实现线程按序交替执行的方法详解
    目录一、题目描述二、解题思路三、代码详解一、题目描述 题目:有a、b、c三个线程,使得它们按照abc依次执行10次。 二、解题思路 控制执行线程变量flag,利用lock锁来保证线程...
    99+
    2022-11-13
  • 微信小程序微信登录的实现方法详解(JAVA后台)
    目录1. 前提2. 开发流程2.1 小程序端2.2 Java后端接口总结官方文档:https://developers.weixin.qq.com/miniprogram/dev/f...
    99+
    2022-11-13
  • 微信小程序实现下拉刷新和上拉分页效果的方法详解
    目录下拉刷新上拉分页下拉刷新 下拉刷新这个玩意吧,很有用,但是在我博客关联的小程序中,用处不大,也是,我那个小程序一共也没有几个页…… 我这里还是用在首页...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作