介绍
这期内容当中小编将会给大家带来有关怎么在Java中利用GUI制作一个单词答题游戏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
<强>案例分析强>
1。定义三个面板存放各个组件JPanel
2。定义拆分窗格布局
3。创造三个文本域用来显示和输入
4。定义滚动窗格设置自动换行
5。定义“确定“重置”“退出“按钮
6。给三个按钮添加事件处理
7。定义单词显示区域
8。定义几个数据存放分数答题数
9。设置字体大小和颜色
10。设置布局管理器
实现代码如下:
进口java.awt。*;//导包 进口java.awt.event。*; 进口java.util.Random; 进口javax.swing。*; 公开课Swing_exercise2延伸JFrame{//继承JFrame顶层框架//定义面板 JPanel jp1; JPanel jp2; JPanel jp3;//定义拆分窗格 JSplitPane jsp; JSplitPane jsp1;//定义文本域 JTextArea jta1; TextField jta2; JTextArea jta3;//定义滚动窗格 JScrollPane jspane1; JScrollPane jspane2; JScrollPane jspane3;//定义按钮 JButton jb2; JButton jb3; JButton jb1;//定义显示区域 JLabel jla1;//定义随机函数 随机跑; 私人int西南;//屏幕宽度和高度 私人int sh;//屏幕宽度和高度 私人字符串ch;//随机单词 私人int沼泽;//记录分数 私人int z;//记录正确题数 私人int x;//记录错误题数 私人int太阳;//记录总题数 公共静态void main (String [] args) { Swing_exercise2=新Swing_exercise2 ();//显示界面 } 公共Swing_exercise2()//构造函数 {//字体初始化Times new roman:罗马字样加粗 字体字体=new字体(“时代新roman",字体。大胆的,50); 字体font2=新字体(“时代新roman",字体。大胆、30); 字体font1=新字体(“宋体“,字体。大胆的,20); 字体font4=新字体(“宋体“,字体。大胆,70);//创建随机函数 跑=new随机();//创建面板 jp1=new JPanel (); jp2=new JPanel (); jp3=new JPanel ();//创建多行文本框 jta1=new JTextArea (); jta3=new JTextArea ();//创建单行文本框 jta2=new TextField (10);//设置多行文本框自动换行 jta1.setLineWrap(真正的); jta3.setLineWrap(真正的);//创建滚动窗格 jspane1=new JScrollPane (jta1); jspane2=new JScrollPane (jta2); jspane3=new JScrollPane (jta3);//设置字体样式 jta3.setFont (font1); jta2.setFont (font2); jta1.setFont(字体);//创建拆分窗格 jsp=new JSplitPane (JSplitPane。VERTICAL_SPLIT、jspane1 jspane2); jsp1=new JSplitPane (JSplitPane。HORIZONTAL_SPLIT jspane3, jsp);//分频器布的局 jsp.setDividerLocation (700);//设置拆分窗格分频器初始位置 jsp.setDividerSize (10);//设置分频器大小 jsp1.setDividerLocation (0.5);//设置拆分窗格分频器初始位置 jsp1.setDividerSize (10);//设置分频器大?/设置调整单词显示区 jla1=new JLabel (); jla1.setFont(字体);//初始化显示页面 ch=RandomWords (); jla1.setText (ch); jla1。setSize (sw, sh); jla1。setSize (500、500); jla1.setLocation (ran.nextInt (300), ran.nextInt (200);//设置颜色 jla1.setForeground (Color.green); jla1.setBackground (Color.decode (“# 000 cc"));//创建按钮 jb2=new JButton(“确定“); jb3=new JButton(“退出“); jb1=new JButton(“重置“);//设置布局管理 jp1。setLayout(新BorderLayout ());//设置面板布的局 jp2。setLayout(新FlowLayout (FlowLayout.CENTER)); jp3。setLayout(新BorderLayout ());//添加组件 jp1.add (jsp); jp2.add (jb2); jp2.add (jb1); jp2.add (jb3); jp3.add (jsp1); jta1.add (jla1);//初始化得分数据 分=0; z=0; x=0; 太阳=0;//布置整体面板布的局 这一点。add (jp1 BorderLayout.CENTER); 这一点。add (jp2 BorderLayout.SOUTH); 这一点。add (jp3 BorderLayout.WEST);//设置窗体属性 this.setTitle(“单词游戏“);//设置界面标题 this.setExtendedState (MAXIMIZED_BOTH);//窗口最大化 这一点。setLocation (1000、200);//设置界面初始位置 this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);//设置虚拟机和界面一同关闭 this.setVisible(真正的);//设置界面可视化//空格加鼠标确定事件监听 jb2。addActionListener(新ActionListener () { @Override 公共空间actionPerformed (ActionEvent e) { 如果(jta2.getText () .equals (ch)) { jta1.setText (“;”); jta2.setText (“;”); z=z + 1; 分=分+ 5; 太阳=x + z; jta3.setForeground (Color.blue); jta3.setText(“回答正确“;+ “;得分+ 5”+“作答情况“+”;“+“正确:“+ z +“;“+“错误:“; + x +“;孙总答题:“+ +”;总得分为“+分+“;“;+ “;不要骄傲“); ch=RandomWords (); jla1.setText (ch); jla1.setLocation (ran.nextInt (700), ran.nextInt (300); 其他}{ jta3.setForeground (Color.red); jta1.setText (“;”); jta2.setText (“;”); 分=Fen-2; 如果(Fen怎么在Java中利用GUI制作一个单词答题游戏