跳至主要內容

基于GUI的简单投票管理系统

holic-x...大约 2 分钟碎片化数据库碎片化

基于GUI的简单投票管理系统

功能说明

​ 简单投票管理系统(java)

​ 设计要求:设计一个如下图所示的投票管理系统,要求输入候选人名单后,点击确认按钮实现使用选择框代表候选人,计选择框的名字就是候选人的名字。点击取消按钮候选人输入框为空,重新输入候选人名单。选中候选人的选择框时,表示给该候选人投一票。点击确定按钮时表示产生一张选票。点击刷新按钮回到程序的初始界面重新设置候选人。根据选择框的状态变化统计出候选人的最后得票数,并可按票选取多少点击排序按钮对候选人进行排序。(其中,最多从候选人中选取3人,如果一张选票选取多于3人,该票就作废票处理。如果一个也没投票,就作弃权处理。程序能显示一共统计了多少选票,并能统计出废票和弃权票的票数。

实现说明

代码设计思路

main程序入口:ForeEntrance.java

常见问题说明:

  • JPanel嵌套:主JPanel需要设置布局格式方能正常显示数据,即分块控制?

面板刷新问题:

/**
     * 刷新面板
     */
public void refreshVoteUI() {
    // 移除当前数据面板中的所有数据
    backgroundPanel.remove(votePanel);
    this.initVoteUI();
    backgroundPanel.add(votePanel);
    backgroundPanel.validate();// 验证
}

面板重新绘制 或者是布局嵌入指定 上中下概念 将面板嵌入指定位置

JPanel jpSouth2;

当你的内容循环添加完记得执行下面语句
jpSouth2.updateUI();
jpSouth2.invalidate(); 
jpSouth2.validate();
jpSouth2.repaint();

公用组件需注意不同场景下的处理,避免共用方法导致数据冲突

区分更新和初始化操作

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3