S
69XXX视频最新资源分享:探寻光影背后的极致视觉盛宴与感官共鸣
首页
速度
优化工具
☰
首页
速度
收录
工具
首页
/
速度优化
/
探寻“美一女一无一精一品”的深层意蕴,解锁女性魅力新维度
网站优化
破防了!“啊你TM别舔了”全网刷屏:这届年轻人终于决定不再卑微?
探秘“xaxkinowaswasxilxilxk38”:数字时代的未知疆域与无限可能
2026-06-12 05:03:27
阅读时长:8分钟
562次阅读
核心内容摘要
16岁,下载2025最新版:我的青春,我的未来,我来定义!
预期实现功能V
0准备数据 找到 单词与翻译的对照数据 存入到文件中在程序中读取文件中的数据V
0:1:随机抽取单词去掉其中某个字母要求用户输入这个字母填空2给出中文翻译输入单词 实现拼写3抽取单词给出4个选项 要求选择V
0:错题记忆将之间出错的题在新的练习再重复出现刷题的规划15天一轮模式选择CET-4/6高考 中考 等
功能实现先从最简洁的界面开始大概界面预期效果如下可以看到这里我们需要创建JFrame窗口对象然后添加标签JLabel和按钮JButton组件为了方便区分我们把初始窗口写到showUI方法中由于后续点击按钮后要进行窗体刷新操作为了便于编写我们导入一个面板JPanel组件在面板上进行操作public void showUI() { //wl.setPanel(panel); wl.setWordsUI(this); JFrame jf new JFrame(背单词); jf.setTitle(背单词); jf.setSize(500,
; jf.setLocationRelativeTo(null);//窗体居中显示到屏幕正中间 jf.setDefaultCloseOperation(
; //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel.setLayout(null);//没有布局所有的组件需要自己设置位置和大小 JLabel jl new JLabel(请选择题库); JButton jbu new JButton(CET-
; JButton jbu2 new JButton(CET-
; Font font new Font(微软雅黑, Font.BOLD,
;//设置字体 jl.setFont(font); jbu.setFont(font); jbu
setFont(font); panel.add(jl);//添加组件 panel.add(jbu); panel.add(jbu
; jl.setBounds(150, 100, 200,
;//调整位置 jbu.setBounds(150, 150, 200,
; jbu
setBounds(150, 200, 200,
; jbu.addActionListener(wl); jbu
addActionListener(wl); jf.add(panel);//添加面板 jf.setVisible(true);//可见 }初始界面设置完成后需要编写对应的响应操作我们可以创建一个WordListener监听类来编写对应的响应操作JButton组件对应的监听器为动作监听器ActionListener注意需要引用接口当我们点击按钮时触发以下判断注意这里的文件在项目同级文件夹下这里我们读取文件的方式为行读取先字符读取自动补全后将行读取操作放到字符读取第一个while循环内并将字符串根据#拆分成两部分分别存入engList数组和chnList数组内if(s.equals(CET-
){ //加载四级词库 File file new File(words/CET-
txt); //文件读取 //单个字节 FileReader fr null; try { fr new FileReader(file); //读取一行 BufferedReader br new BufferedReader(fr); while(true){ String line br.readLine(); if(linenull){ break; } //拆分字符串 String[] eng_chn line.split(#); engList.add(eng_chn[0]); chnList.add(eng_chn[1]); } } catch (FileNotFoundException ex) { throw new RuntimeException(ex); } catch (IOException ex) { throw new RuntimeException(ex); } //刷新界面 panel.removeAll();//移除 String wordgetWord(); UI.showUI2(word); Font font new Font(微软雅黑, Font.BOLD,
; /* JButton jbu new JButton(hello); jbu.setBounds(150,170,200,
; jbu.setFont(font); panel.add(jbu); */ //刷新 组件 panel.repaint(); panel.revalidate(); //出题 }getword函数作用为获取随机单词并挖空内容如下public String getWord(){ int sizeengList.size(); wordIndexran.nextInt(size); String wordengList.get(wordIndex); int word_lenword.length(); int indexran.nextInt(word_len); cword.charAt(index); String vwordword.substring(0,index)_word.substring(index1,word_len); return vword; }showUI2函数作用为显示新的标签挖空单词、输入框和按钮代码如下public void showUI2(String vword) { JLabel jlanew JLabel(请猜出单词缺失的字母); JLabel jl new JLabel(vword); JTextField jtf new JTextField(
; JButton jbu new JButton(提交); JButton jbu3 new JButton(下一个); Font font new Font(微软雅黑, Font.BOLD,
; jl.setFont(font); jtf.setFont(font); jbu.setFont(font); jbu
setFont(font); jla.setFont(font); jla.setBounds(150,0,300,
; jl.setBounds(150,50,300,
; jtf.setBounds(150,100,200,
; jbu.setBounds(150,200,200,
; jbu
setBounds(150,150,200,
; panel.add(jla); panel.add(jl); panel.add(jtf); panel.add(jbu); panel.add(jbu
; jbu
addActionListener(wl); jbu.addActionListener(wl); //将界面的组件对象的地址 传一份给监听器中声明的组件变量名 使得我们点击按钮时可以调用这些组件 设置文本 获取文本 wl.setWordsJla(jl); wl.setChJtf(jtf); }tips.由于showUI这里的标签、输入框和按钮需要重复使用所以需要传到监听类中方便后续使用、刷新和读取其他情况判断如下else if(s.equals(提交)){ String chchJtf.getText(); if (ch.length()
{ JOptionPane.showMessageDialog(panel,请输入答案); return; } char ncch.charAt(
; String wordengList.get(wordIndex); String chnchnList.get(wordIndex); if(cnc){ JOptionPane.showMessageDialog(panel,恭喜你回答正确 word chn); }else{ JOptionPane.showMessageDialog(panel,很抱歉回答错误 word chn); } }else if(s.equals(下一个)){ //下一题 String wordSgetWord(); wordJla.setText(wordS);//显示 chJtf.setText();//清空 }
完整代码添加了两种模式package HolidayMainPackage.day0125; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.util.ArrayList; import java.util.Random; //退出 保存功能每过五秒自动保存一次 //优化 public class WordsListener implements ActionListener { //绝对路径 //相对路径 ArrayListString engList new ArrayList(); ArrayListString chnList new ArrayList(); ArrayListString transList new ArrayList();//我自己的单词历史记录 //编号 猜对的次数 单词 中文(写一个单词类把这些属性存入类似于c语言结构体和结构体数组) JPanel panel; mainV1 UI; JLabel wordJla; JTextField chJtf; Random rannew Random(); char c; int wordIndex; int pattern; public void setWordsUI(mainV1 ui){ this.UI ui; this.panel ui.panel; } public void setWordsJla(JLabel jl) { this.wordJla jl; } public void setChJtf(JTextField jtf) { this.chJtf jtf; } Override public void actionPerformed(ActionEvent e) { String s e.getActionCommand(); if(s.equals(CET-
){ //加载四级词库 File file new File(words/CET-
txt); //文件读取 //单个字节 FileReader fr null; try { fr new FileReader(file); //读取一行 BufferedReader br new BufferedReader(fr); while(true){ String line br.readLine(); if(linenull){ break; } //拆分字符串 String[] eng_chn line.split(#); engList.add(eng_chn[0]); chnList.add(eng_chn[1]); } } catch (FileNotFoundException ex) { throw new RuntimeException(ex); } catch (IOException ex) { throw new RuntimeException(ex); } //刷新界面 panel.removeAll();//移除 String wordgetWord(); UI.showUI2(word); Font font new Font(微软雅黑, Font.BOLD,
; /* JButton jbu new JButton(hello); jbu.setBounds(150,170,200,
; jbu.setFont(font); panel.add(jbu); */ //刷新 组件 panel.repaint(); panel.revalidate(); //出题 }else if(s.equals(提交)){ String chchJtf.getText(); if (ch.length()
{ JOptionPane.showMessageDialog(panel,请输入答案); return; } if(pattern
{ pattern1(ch); }else if(pattern
{ pattern2(ch); }else{ JOptionPane.showMessageDialog(panel,请选择题库); } }else if(s.equals(下一个)){ //下一题 pattern ran.nextInt(
; System.out.println(pattern); if(pattern
{ panel.removeAll();//移除 String wordgetWord(); UI.showUI2(word); }else if(pattern
{ panel.removeAll();//移除 String wordgetChinese(); UI.showUI2(word); System.out.println(pattern); }else{ JOptionPane.showMessageDialog(panel,请选择题库); } /*String wordSgetWord(); wordJla.setText(wordS);//显示 chJtf.setText();//清空 */ // 缺少这两行 panel.revalidate(); panel.repaint(); } } public String getWord(){ int sizeengList.size(); wordIndexran.nextInt(size); String wordengList.get(wordIndex); int word_lenword.length(); int indexran.nextInt(word_len); cword.charAt(index); return word.substring(0,index)_word.substring(index1,word_len); } public String getChinese(){ int sizechnList.size(); wordIndexran.nextInt(size); return chnList.get(wordIndex); } //字母填空 public void pattern1(String ch){ char ncch.charAt(
; String wordengList.get(wordIndex); String chnchnList.get(wordIndex); if(cnc){ JOptionPane.showMessageDialog(panel,恭喜你回答正确\n word chn); }else{ JOptionPane.showMessageDialog(panel,很抱歉回答错误\n word chn); } } public void pattern2(String ch){ String ncengList.get(wordIndex); String wordengList.get(wordIndex); String chnchnList.get(wordIndex); if(ch.equals(nc)){ JOptionPane.showMessageDialog(panel,恭喜你回答正确\n word chn); }else{ JOptionPane.showMessageDialog(panel,很抱歉回答错误\n word chn); } } }package HolidayMainPackage.day0125; import javax.swing.*; import java.awt.*; import java.util.Random; public class mainV1 { JPanel panel new JPanel(); WordsListener wl new WordsListener(); public void showUI() { //wl.setPanel(panel); wl.setWordsUI(this); JFrame jf new JFrame(背单词); jf.setTitle(背单词); jf.setSize(500,
; jf.setLocationRelativeTo(null);//窗体居中显示到屏幕正中间 jf.setDefaultCloseOperation(
; //jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel.setLayout(null);//没有布局所有的组件需要自己设置位置和大小 JLabel jl new JLabel(请选择题库); JButton jbu new JButton(CET-
; JButton jbu2 new JButton(CET-
; Font font new Font(微软雅黑, Font.BOLD,
; jl.setFont(font); jbu.setFont(font); jbu
setFont(font); panel.add(jl); panel.add(jbu); panel.add(jbu
; jl.setBounds(150, 100, 200,
; jbu.setBounds(150, 150, 200,
; jbu
setBounds(150, 200, 200,
; jbu.addActionListener(wl); jbu
addActionListener(wl); jf.add(panel); jf.setVisible(true); } public void showUI2(String vword) { JLabel jlanew JLabel(请猜出单词缺失的字母); JLabel jl new JLabel(vword); JTextField jtf new JTextField(
; JButton jbu new JButton(提交); JButton jbu3 new JButton(下一个); Font font new Font(微软雅黑, Font.BOLD,
; jl.setFont(font); jtf.setFont(font); jbu.setFont(font); jbu
setFont(font); jla.setFont(font); jla.setBounds(150,0,300,
; jl.setBounds(150,50,300,
; jtf.setBounds(150,100,200,
; jbu.setBounds(150,200,200,
; jbu
setBounds(150,150,200,
; panel.add(jla); panel.add(jl); panel.add(jtf); panel.add(jbu); panel.add(jbu
; jbu
addActionListener(wl); jbu.addActionListener(wl); //将界面的组件对象的地址 传一份给监听器中声明的组件变量名 使得我们点击按钮时可以调用这些组件 设置文本 获取文本 wl.setWordsJla(jl); wl.setChJtf(jtf); } public static void main(String[] args) { mainV1 main new mainV1(); main.showUI(); } }未完后续会更新V
0的选择模式和V
0模式相关记忆功能
光棍影院yy111111con-光棍影院应用
相关标签
打造个性化虚拟伙伴:DyberPet开源框架零基础入门指南
《鬼谷子》完绝(孙悟空)《鬼谷子》殷商后裔复国间谍学院教材
企业架构问题篇之一文讲透企业架构、数字化转型与数智化的“三角关系”(1)
5个Templater核心功能技巧:从入门到精通
Java毕设选题推荐:基于springboot的校园生活互动平台大学生社交平台【附源码、mysql、文档、调试+代码讲解+全bao等】
电脑突然出现下面错误,是因为开的网页程序太多了吗?如何解决——内存占满-概率较大——safesvr.exe-应用程序错误应用程序无法正常启动(0xc0000142)。请单击“确定”关闭应用程序,
ECharts地图进阶:手把手教你添加南海诸岛缩略图与十段线(附完整坐标数据)
Qwen-Image-2512-SDNQ MATLAB下载安装集成:科研工作流优化
Chord - Ink Shadow 模型版本管理与回滚实战
RAG:Native RAG,向量与Embedding,向量模型本地部署,向量间相似度计算
新手必看:示波器探头阻抗匹配的5个常见误区及正确使用方法
GME多模态向量效果展示:看它如何用“人生不是裁决书”搜出惊艳视觉图
霜儿-汉服-造相Z-Turbo学术应用:使用LaTeX撰写论文并插入AI生成示意图
.net mvc中怎样实现网页选择文件夹并上传超大附件?
🔍
📑
文章目录
二、凝脂幻梦:3D生奶油同人艺术的极致巅峰与视觉感官的觉醒
三、日本最新免费资源网站
四、深度睡眠的艺术:超碰任你睡如何重塑你的感官巅峰与生活质感
五、辶喿扌畐藏在生僻笔画里的“人间清醒”与“终极浪漫”
🔥
热门优化文章
探秘“www污污污”:一场穿越感官的数字狂欢
2026-05-16 23:19:13
《小南大雷擦狙击》:当命运的枪声响起,你听见的是救赎还是毁灭?
2026-05-16 23:19:13
🛠️
实用工具推荐
“上下文“是你所需要的全部
Qwen3-VL-Reranker-8B参数详解:torch_dtype选择对推理速度与精度权衡
相关优化文章 推荐
10-vite 中处理静态资源的方法
2026-06-12 05:03:27 4分钟阅读
Nano-Banana Studio惊艳案例:赛博科技风夹克拆解图生成效果展示
2026-06-12 05:03:27 9分钟阅读
计算机视觉的进化之路:从像素到认知的智能革命
2026-06-12 05:03:27 2分钟阅读
↑
百度百家号客服电话人工服务
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3