Java开发的KTV系统 功能非常齐全 完整源码

今天为大家分享一个java语言编写的KTV系统,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以,数据为MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。

系统框架

利用JDK自带的SWING框架开发。纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档。

主要功能

运行方法

下载源码后,导入到Eclipse或者IDEA中,然后运行Main.java,出现界面即表示程序运行成功

开发背景

随着社会的发展,人类的进步,21世纪人们的生活水平有所提高,为了满足人们对生活的需要,丰富业余生活,娱乐KTV等行业蓬勃发展,在数字化的今天,我们已离不开计算机,为了加强对KTV的管理,我们必须使用计算机来对包厢以及包厢预订进行管理,使KTV管理员对歌曲点播和分配包厢等操作的管理更加有序、到位。

KTV管理系统主要功能模块包括KTV资讯、房间管理、预订管理、商品信息管理等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作。

主要功能

(1)预定管理模块:根据用户的需求,预定对应的房间信息。

(2)员工管理模块:增删改查员工管理员可以根据员工的编号来查询员工的工作岗位,有权对员工的工作进行更改,同时管理员也负责歌曲曲目的分类以及整理。

(3)包间管理模块:包间类型分为四个等级,分别为:豪华包间、大包间、中包间、小包间。根据包间编号可以查询包间的基本信息。

(4)商品管理:对KTV的商品进行日常的维护工作。包括增加、删除、修改

运行效果

关键代码

package frame;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Toolkit;

import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import listener.LoginListener;

import com.sun.awt.AWTUtilities;

public class LoginFrame extends JFrame implements Runnable {
    /**
     * 
     */
    private static final long serialVersionUID = 7635382088464340846L;
    private static LoginFrame loginFrame;
    private static JDialog loginDialog;
    private JTextField jtfUserName;
    private JPasswordField jpfPassword;

    public static LoginFrame instance() {
        if (loginFrame == null)
            loginFrame = new LoginFrame();
        return loginFrame;
    }

    public static JDialog getLoginDialog() {
        if (loginDialog == null)
            loginDialog = new JDialog();
        return loginDialog;
    }

    public LoginFrame() {
        super("登陆系统");

        loginFrame = this;

        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        loginDialog = new JDialog(this);
        jtfUserName = new JTextField();
        jpfPassword = new JPasswordField();
        final ImageButton ensure = new ImageButton("ensure");
        final ImageButton cancel = new ImageButton("cancel");

        loginDialog.setSize(420, 380);
        loginDialog.setLayout(null);
        loginDialog.setUndecorated(true);
        loginDialog.setLocationRelativeTo(null);

        JLabel loginBg = new JLabel(new ImageIcon(this.getClass().getResource(
                "/images/login.png")));
        loginBg.setBounds(0, 0, (int) loginDialog.getWidth(),
                (int) loginDialog.getHeight());
        loginDialog.add(jtfUserName);
        loginDialog.add(jpfPassword);
        loginDialog.add(ensure);
        loginDialog.add(cancel);
        loginDialog.add(loginBg);
        AWTUtilities.setWindowOpaque(loginDialog, false);

        jtfUserName.setBorder(null);
        jtfUserName.setOpaque(false);
        jtfUserName.setForeground(Color.LIGHT_GRAY);
        jpfPassword.setBorder(null);
        jpfPassword.setOpaque(false);
        jpfPassword.setForeground(Color.LIGHT_GRAY);

        jtfUserName.setBounds(40, 110, 340, 50);
        jpfPassword.setBounds(40, 210, 340, 50);
        ensure.setBounds(75, 290, 110, 45);
        cancel.setBounds(235, 290, 110, 45);

        jtfUserName.setSelectionColor(Color.GRAY);
        jpfPassword.setSelectionColor(Color.GRAY);
        jtfUserName.setFont(new Font("微软雅黑", Font.PLAIN, 24));
        jpfPassword.setFont(new Font("微软雅黑", Font.PLAIN, 24));

        LoginListener loginListener = new LoginListener(jtfUserName,
                jpfPassword, ensure, cancel);
        jtfUserName.addActionListener(loginListener);
        jpfPassword.addActionListener(loginListener);
        ensure.addActionListener(loginListener);
        cancel.addActionListener(loginListener);

        ((JPanel) this.getContentPane()).setOpaque(false);
        BackgroundPanel background = new BackgroundPanel();
        getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));

        setSize(screenSize);
        setUndecorated(true);
        setBackground(Color.BLACK);
        setLocationRelativeTo(null);
        setExtendedState(Frame.MAXIMIZED_BOTH);
        setMinimumSize(new Dimension(1024, 768));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setIconImage(new ImageIcon(this.getClass().getResource(
                "/images/icon.png")).getImage());
    }

    public void open() {
        jtfUserName.setText("");
        jpfPassword.setText("");
        jtfUserName.requestFocus();

        setVisible(true);
        loginDialog.setVisible(true);
        if(LoadingFrame.instance().isVisible())
            LoadingFrame.instance().dispose();
    }

    public void easeOpacity(float opacity) {
        if (opacity <= 0) {
            opacity = 0;
            return;
        } else if (opacity > 1) {
            opacity = 1;
        }
        AWTUtilities.setWindowOpacity(loginDialog, opacity);
    }

    public void showMainFrame() {
        MainFrame.instance().open();
    }

    public void exit() {
        System.exit(0);
    }

    @Override
    public void run() {
        instance().open();
    }
}

项目总结

经过半个月的熬夜编码,我终于完成KTV管理系统的设计与开发,达到了预期的目标。在开发的过程中过程中遇到不少困难,通过查阅相关资料,反复琢磨,请教同学,问题最终都得以解决。这个系统主要是我自己开发的,在开发过程中得到了老师和同学的很大帮助,在此对他们表示感谢。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值