小白学java——做一个歌手比赛系统(一)

2023-05-16

       

完整代码加实验报告都在https://download.csdn.net/download/qq_39980334/11232331

我已经设置成0积分下载了,有需要的自行下载,有问题的多看看代码和实验报告,我已经记不太清里面的代码的详细细节了。

 歌手比赛系统

对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。2、显示主菜单如下:1)输入选手数据 2)评委打分 3)成绩排序(按平均分)4)数据查询  5)追加学生数据 6)写入数据文件7)退出系统。

这学期的大作业,要求必须用gui界面和数据库,第一次写CSDN,第一次在网上发表文章,有些忐忑呢

 

由于老师讲得比较快加上自己平时练得不够,对我来说完全是从0开始,从页面布局等等,从网上看了一些代码以及看书,现在只做出来了基本的界面,数据库还没连上。

 

 

主界面中间留的空间是想插入一个表格,数据都在表格中,按了成绩排序时就会按照成绩从高到低排序,当添加了数据时可以在表格中看到

 

 代码:

public class SingerManage extends JFrame implements ActionListener{
 JPanel jp1, jp2,jp3;
 JLabel jl1,jl2;
 JButton jb1, jb2, jb3, jb4,jb5,jb6;
 JTable jt = null;
 JScrollPane jsp = null;
 JTextField jtf;
 JTable jt2 = null;
 JScrollPane jsp2 = null;
 
 Connection conn = null;
 PreparedStatement ps = null;
 
 
 public SingerManage(){
  jp1 = new JPanel();
  jtf = new JTextField(10);
  jb1 = new JButton("数据查询");
  jb1.addActionListener(this);
  jl2 = new JLabel("欢迎进入歌手管理系统!");
  
  jp3=new JPanel();
  jl1 = new JLabel("请输入选手数据:");
  
  jp1.add(jl2);
  
  jp3.add(jl1);
  jp3.add(jtf);
  jp3.add(jb1);
  
  jp2 = new JPanel();
  jb2 = new JButton("成绩排序");
  jb2.addActionListener(this);
  jb3 = new JButton("追加数据");
  jb3.addActionListener(this);
  jb4 = new JButton("写入数据文件");
  jb4.addActionListener(this);
  jb5 = new JButton("评委评分");
  jb5.addActionListener(this);
  jb6 = new JButton("退出系统");
  jb6.addActionListener(this);
  
  jp2.add(jb2);
  jp2.add(jb3);
  jp2.add(jb4);
  jp2.add(jb5);
  jp2.add(jb6);
  
  //jt = new JTable(singer);
  jsp = new JScrollPane(jt);
  
  this.add(jsp);
  this.add(jp1, "North");
  this.add(jp2, "South");
  this.add(jp3,"Center");
  
  this.setTitle("歌手管理系统");
  this.setSize(400, 300);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setVisible(true);
  setSize(500,400);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setVisible(true);
 }
 
 public void actionPerformed(ActionEvent e) {
   if(e.getSource()=="数据查询"){
   /*singer=new SingerModel();
  
   jt.setModel(singer);*/
  }else if(e.getSource()==jb3){
   SingerAdd add=new SingerAdd();
  }else if(e.getSource()==jb5){
      Judge jud=new Judge();
  }else if(e.getSource()=="成绩排序"){
   
  }else if(e.getSource()=="写入数据文件"){
   
  }else if(e.getSource()=="退出系统"){
   
  }
 }
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  SingerManage demo = new SingerManage();
 }
 

按了评委评分之后:

 

在这里的界面设计是碰到了一些问题,因为BorderLayout布局只有东、西、南、北、中五种布局,无法同时出现三列。后来看了一些文章,改成了用JPanel的嵌套组织组件,在JFrame中的ContenPane对象,可以使用Container类的getContenPane()方法。

代码:

public class Judge extends JFrame implements ActionListener  {
 JPanel jp1,jp2,jp3,jp4,jp5;
 JLabel jl1, jl2,jl3,jl4;
 JButton jb1, jb2,jb3;
 JTextField jf1, jf2,jf3,jf4;
 JFrame frame=new JFrame();
 Container contentPane=frame.getContentPane();//获得放置组件的容器对象
 //contentPane.setLayout(new GridLayout(1,2));
 @SuppressWarnings("deprecation")
 public Judge(){
  jl1 = new JLabel("请输入选手姓名");
  jl2 = new JLabel("请输入选手编号");
  jl3=new JLabel("请十个评委评分");
  jb2=new JButton("得分");
  jb2.addActionListener(this);
  
  jf1 = new JTextField(10);
  jf2 = new JTextField(10);
  jf3 = new JTextField(10);
  jf4=new JTextField(10);
  //jf4.setEditable(false);
  
  jb1 = new JButton("Random");
  jp1 = new JPanel();
  jp2 = new JPanel();
  jp3 = new JPanel();
  jp5= new JPanel();
  
  jp1.add(jl1);
  jp1.add(jl2);
  jp1.add(jb2);
  
  jp2.add(jf3);
  jp2.add(jf1);
  jp2.add(jf2);
  
  jp3.add(jl3);
  jp3.add(jf4);
  jp3.add(jb1);
  
  
  
  contentPane.setLayout(new GridLayout(2,1));//布局2行1列
  jp1.setLayout(new GridLayout(3, 1));//面板布局3行1列
  jp2.setLayout(new GridLayout(3, 1));//
  jp3.setLayout(new GridLayout(3, 1));//
  jp5.setLayout(new GridLayout(1, 1));//
  
  jp5.add(jp1);//将面板1加入到面板5中
  jp5.add(jp2);//
  jp5.add(jp3);//
  
  contentPane.add(jp5);//将面板5放入框架容器
  
 
  jb1.addActionListener(this);
  
  frame.pack();
  frame.setTitle("评委评分");
  frame.setSize(450,200);
  frame.show();
  
  
  
 }
 public void actionPerformed(ActionEvent e) {
  double n1=Double.parseDouble(jf1.getText());
 
  
  if(e.getSource()==jb1){
   
  }else if(e.getSource()==jb2){
   jf4.setText(n1+"");
   frame.show();
  }
 }

}

 

 按了追加数据之后:

 

 

 代码:

public class SingerAdd extends JDialog implements ActionListener  {
 JPanel jp1,jp2,jp3;
 JLabel jl1, jl2,jl3;
 JButton jb1, jb2;
 JTextField jf1, jf2,jf3;
public SingerAdd(){
  
  
  jl1 = new JLabel("姓名");
  jl2 = new JLabel("编号");
  jl3 =new JLabel("得分");
  
  jf1 = new JTextField();
  jf2 = new JTextField();
  jf3 = new JTextField();
  
  jb1 = new JButton("添加");
  jb2 = new JButton("取消");
  
  jp1 = new JPanel();
  jp2 = new JPanel();
  jp3 = new JPanel();
  
  jp1.setLayout(new GridLayout(4, 1));
  jp2.setLayout(new GridLayout(4, 1));
  
  jp1.add(jl1);
  jp1.add(jl2);
  jp1.add(jl3);
  
  jp2.add(jf1);
  jp2.add(jf2);
  jp2.add(jf3);
  jp3.add(jb1);
  jp3.add(jb2);
  
  this.add(jp1, BorderLayout.WEST);
  this.add(jp2, BorderLayout.CENTER);
  this.add(jp3, BorderLayout.SOUTH);
  
  jb1.addActionListener(this);
  
  this.setTitle("追加数据");
  this.setSize(300, 200);
  this.setVisible(true);

  }

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小白学java——做一个歌手比赛系统(一) 的相关文章

随机推荐

  • c# http请求使用multipart/form-data 方式上传文件及其他参数

    这次的需求是请求java那边的一个excel批量上传的接口 但是他们的接口要求是这样的 于是自己写了个方法 xff1a 调用 xff1a 控制器层 var file 61 this HttpContext Request Files 0 获
  • C++设计模式七、生产者消费者模式(单生产单消费)。

    前言 xff1a 生产者消费者模式在 大话设计模式 一书中并没有涉及 可奈何在工作中很多地方都要用到 此模式的例子基本都相似 xff0c 在网上找了一篇博客 xff08 原文 xff09 xff0c 在此进行剖析 xff0c 写此篇博文学习
  • 网络爬虫-cloudflare五秒等待验证逆向破解

    Cloudflare是国外的一家安全防护公司 xff0c 最近在很多网站上也看到了他的身影 xff0c 比较明显的特征就是让你等待5秒钟以验证你是否是真实的浏览器 以 https www biovision com 为例 另一个明显的特征就
  • VNC的使用

    1 安装 yum install tigervnc server x86 64 2 配置 客户机和远程vnc桌面间的复制粘贴 参考 xff1a VNC怎么和宿主机共享粘贴板 整理 cxcbupt CSDN博客 3 日常使用 1 解决远程桌面
  • WPF异常处理详解

    总目录 文章目录 总目录一 WPF异常1 未捕获异常2 模拟未捕获异常场景 二 处理未捕获异常1 DispatcherUnhandledException 异常捕获2 UnhandledException异常捕获3 UnobservedTa
  • javafx 多线程赛马设计

    根据上一篇博客的内容 xff0c 这篇将展示设计过程 xff1a 二 xff0e 概要设计 2 1 系统流程图 2 2 功能模块图 2 3 赛马程序模拟程序初始化模块 在这一模块当中 xff0c 要求使用者选择当局需要赛马的马匹数量 xff
  • Cannot find module 'vue-loader/lib/plugin'

    安装了 webpack4 的版本之后发现报这个错 Cannot find module vue loader lib plugin 然后上node modules 里找了一下还真没有 plugin xff0c 所以我肯定是 vue load
  • ubuntu16.04 安装配置python3.6

    在Ubuntu下 xff0c 时不时会有这个错误的 add apt repository command not found 这个是缺少程序 xff0c 安装一下就可以了 只是不知道安装的名字 按以下命令走一趟就可以的了 sudo apt
  • 最新最快最简单解决rosdep更新失败问题

    在安装ros的时候 xff0c 最后一步会由于源在国外 xff0c sudo rosdep init会失败 xff0c 其中一种方式是通过加https ghproxy com 代理的方式 xff0c 参考链接 我之前也都是这样做的 xff0
  • 解决wsl无法同步本地代理的dns信息

    问题 本地开了公司的vpn xff0c 使用vscode的remote wsl插件连接wsl1 xff0c 结果wsl里面无法解析公司内部的一些域名 xff0c 查了下发现原来是wsl无法自动同步本地代理的dns信息 wsl2没有这个问题
  • 如何在Oracle官网下载jdk

    Oracle官方网址 xff1a Oracle Cloud Applications and Cloud Platform 注册账号 xff1a 登录进入首页 xff1a 点击Products xff1a 来到Products页面 xff0
  • ubuntu安装字体

    先安装 span class token function sudo span span class token function apt get span span class token function install span y
  • windows 压缩指定目录下每个目录和文件为zip文件的powershell脚本

    某个文件夹下有几十个子文件夹 xff0c 想要单个压缩每个子文件夹备份到云盘 如果手动操作会有点累 xff0c 尝试写个脚本吧 版本 适用于win10 win11 其他版本未测试 一 编写脚本 众所周知windows下有两种自带脚本cmd和
  • SpringMVC的配置和执行流程

    要想成功的配置和调试springmvc xff0c 了解掌握它的执行流程是必不可少的 xff0c 话不多说 xff0c 看下图 xff1a 我们边说执行边讲配置 xff0c 首先 xff0c 想要使用springmvc xff0c 依赖是必
  • Maven安装与配置详解、多镜像节点的配置

    下载 Maven是Apache下面的一个项目 xff0c 官网下载地址 xff1a https maven apache org download cgi 历史版本下载地址 xff1a https archive apache org di
  • 使用FTPClient上传文件到ftp服务器。并解决图片损坏问题。

    1 先借鉴此博客的方法 xff08 此博客的方法上传txt文件没有问题 xff0c 但是上传的图片文件会损坏 xff09 https blog csdn net weixin 37196194 article details 5500166
  • libnet的使用详解

    最近搬砖需要对libnet进行介绍在这里对知识进行汇总 1 libnet简介 在 libnet 出现以前 xff0c 如果要构造数据包并发送到网络中 xff0c 程序员要通过一些复杂的接口来处理 libnet 的出现 xff0c 为程序员提
  • electron启动报错

    一个简单的程序启动居然报错了 xff0c 那就排查原因吧 xff0c 搜索网上的资料没有一个一样的 xff0c 大致类似的说的是electron版本和node不一致 还有说是electron的版本问题 但排查后都不是 xff0c 最后我把m
  • 手把手使用 Egg+TypeScript+mongoDB快速实现增删改查

    创建一个Egg的TS项目 xff08 Egg js官方教程 xff09 安装MogoDB Egg 依赖 span class token function npm span span class token function install
  • 小白学java——做一个歌手比赛系统(一)

    xfeff xfeff 完整代码加实验报告都在https download csdn net download qq 39980334 11232331 我已经设置成0积分下载了 xff0c 有需要的自行下载 xff0c 有问题的多看看代码