根据以下代码介绍一下实现的界面 public MyPanel() { //监听键盘事件 this.addKeyListener(this); setSize(600, 600); readFile(level); } Image img11 = GameUtil.getImage("/pic/11.gif"); Image imagetx = GameUtil.getImage("/pic/1.png"); Image imageff = GameUtil.getImage("/pic/004.png"); public void paint(Graphics g) { Image[] maping = SetImage.GetImage(level); super.paint(g); for (int i = 0; i < 20; i++) { for (int j = 0; j < 20; j++) { g.drawImage(maping[tempmap[j][i]], i * 30, j * 30, null); } } g.drawImage(img11, 600, 80, null); g.drawImage(imagetx, 620, 550, null); g.drawImage(imagetx, 650, 550, null); g.setColor(new Color(233,150,122)); g.setFont(new Font("幼圆", Font.BOLD, 20)); g.drawString("现在是第" + level + "关", 625, 30); nowlever=level; g.drawString("现在的你,", 605, 220); g.drawString("已经走了:" +nowstep + "步", 605, 240); g.drawString("排行榜", 655, 300); //[排行榜实现 6.22]要有查询操作 返回一个字符数组(排序) g.drawString("第一名:"+id1+" "+"礼物:"+lw1+"步骤"+bz1); order(); for(int i=0;i<sites.size();i++){ g.drawString(sites.get(i),605,330+i*30); } sites.clear(); g.setFont(new Font("幼圆", Font.BOLD, 14)); g.setColor(new Color(255,165,0)); g.drawString("已经得到:" + nowgrift + "分", 605, 260); long usedTimem = (endTime-startTime)/60000; long usedTimes =(endTime-startTime)%60000/1000; Date date = new Date(); g.setColor(new Color(255,140,0)); if(usedTimem>=0||usedTimes>=0) g.drawString("用时:" +usedTimem+ "分钟"+usedTimes+"秒", 605, 280); g.drawString(date.toString(), 600, 590); } //实现排行榜功能取前三名 public void order(){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; conn = JDBCUtils.getConnection(); String sql = "select grift,step,id from user order by grift desc,step asc limit 3 "; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); String s=""; int fc=1; while(rs.next()){ s="第"+fc+"名:"+rs.getNString("id"); sites.add(s); s="得分:"+rs.getInt("grift")+" " +"步数"+rs.getInt("step"); sites.add(s); s=""; fc++; } System.out.println(sites);
时间: 2024-04-08 15:31:28 浏览: 121
mypanel.exe
这段代码实现了一个界面的绘制功能,继承自Panel类,并且实现了KeyListener接口。以下是对代码的简要介绍:
1. 在构造方法中设置了界面的大小并读取了一个文件。
2. 使用GameUtil的getImage方法加载了三张图片,分别是11.gif、1.png和004.png。
3. 重写了paint方法,在其中绘制了地图和其他的图像和文本信息。
4. 使用双重for循环绘制了地图,根据tempmap数组中的数据选择对应的图像进行绘制。
5. 使用drawImage方法绘制了img11、imagetx和imageff三张图片。
6. 设置了字体颜色和样式,使用drawString方法绘制了一些文本信息,包括当前关卡、已经走的步数、排行榜等。
7. 实现了排行榜功能,在order方法中使用JDBC连接数据库,查询前三名的得分和步数,并将结果存入字符数组sites中。
8. 最后在paint方法中使用drawString方法绘制排行榜信息。
需要注意的是,代码中涉及到一些变量和方法的调用,比如level、tempmap、nowstep、nowgrift等,这些变量和方法的定义部分没有提供,可能在其他文件中定义或实现。同时,代码中还使用了JDBCUtils类来获取数据库连接,需要确保该类的正确性和可用性。
希望以上介绍能对您有所帮助!
阅读全文