已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
package pintu;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.image.BufferedImage;/import javax.swing.GroupLayout.Alignment; /沿import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;public class pintuu implements ActionListener /动作事件监听private JFrame frame;private JPanel panel;private JButtonx button;private JPanel panel_right;private int level = 4;private JMenuBar menubar;private ImageIcon imageicon;private Image image;private BufferedImage bufferedimage;private BufferedImage image_button;private JLabel label;private JPanel panel_left;private ImageIcon icon_button;private JMenu menu1;private JMenuItem menuitem1_1;private JMenu menu2;private JCheckBoxMenuItem menuitem2_1;private JCheckBoxMenuItem menuitem2_2;private JCheckBoxMenuItem menuitem2_3;private int x=600; /小窗口左上角定点在桌面的位置为600,300private int y=300;private JMenuItem menuitem1_2;private JFileChooser jfc;private String name=pic/001.jpg; /起始图片位置,请自行设置private JPanel panel_menu;private JLabel label1_1;private JLabel label1_2;private JLabel label1_3;private JLabel label2_1;private JLabel label2_2;private JLabel label2_3;public void reset() frame = new JFrame(疯狂拼图); /小窗口名称panel = new JPanel();panel_left = new JPanel();panel_right = new JPanel();panel.setLayout(new GridLayout(0, 2); /GridLayout(int rows, int cols, int hgap, int vgap) , 第一个参数:行数, 第二个参数:列数, 第三个参数:上下的间距 第四个参数:左右的间距, 行和列好像只要设置一个值,menubar = new JMenuBar();menubar.setLayout(new BorderLayout();panel_menu=new JPanel();panel_menu.setLayout(null);/menu1是指开始游戏的菜单, menu2是指等级选择的菜单menu1 = new JMenu(开始游戏); /第一个菜单menuitem1_1=new JMenuItem(重新开始); /下拉菜单menuitem1_2=new JMenuItem(选择图片);menu2=new JMenu(等级选择); /第二个菜单menuitem2_1=new JCheckBoxMenuItem(低级(3); /下拉菜单menuitem2_2=new JCheckBoxMenuItem(高级(4);menuitem2_3=new JCheckBoxMenuItem(自定义);imageicon = new ImageIcon(name); /name里填图片地址,调用构造方法image = imageicon.getImage();bufferedimage=new BufferedImage(252, 405, BufferedImage.TYPE_INT_RGB); /public BufferedImage(int width,int height,int imageType) 左侧图片大小是长252,宽405 /Parameters: /width - width of the created image /height - height of the created image /imageType - type of the created imagebufferedimage.getGraphics().drawImage(image,0,0,252,405,null); /img - 要绘制的指定图像。如果 img 为 null,则此方法不执行任何动作。imageicon.setImage(bufferedimage); /x - x 坐标。 y - y 坐标。 width - 矩形的宽度。 height - 矩形的高度。 observer - 当转换了更多图像时要通知的对象。label=new JLabel(imageicon);panel_left.setLayout(new FlowLayout(FlowLayout.CENTER,0,0);panel_left.add(label);panel.add(panel_left);jfc=new JFileChooser();/label1-1是指“您已经走了”,几个字; label1-2是指中间的数值;label1-3是指“步”;/label2-1是指“时间”,几个字; label2-2是指中间的数值;label2-3是指“秒”;label1_1=new JLabel(您已经走了);label1_1.setBounds(30, 0, 80, 25);label1_2=new JLabel(0);label1_2.setForeground(Color.RED); /设置前景色label1_2.setBounds(120, 0, 40, 25); /移动组件并调整其大小。由 x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。label1_2.setFont(new Font(黑体,Font.BOLD,20);label1_3=new JLabel(步);label1_3.setBounds(160, 0, 30, 25);label2_1=new JLabel(时间);label2_1.setBounds(220, 0, 50, 25);label2_2=new JLabel(0);label2_2.setForeground(Color.RED);label2_2.setBounds(280, 0, 40, 25);label2_2.setFont(new Font(黑体,Font.BOLD,20);label2_3=new JLabel(秒);label2_3.setBounds(330, 0, 30, 25);panel_right.setLayout(new GridLayout(level, level);button = new JButtonxlevel * level;image_button=new BufferedImagelevel*level;for (int i = 0; i level*level/*-1*/; i+) image_buttoni=new BufferedImage(252/level, 405/level, BufferedImage.TYPE_INT_RGB);image_buttoni.getGraphics().drawImage(bufferedimage, 0,0,252/level,405/level,(i%level)*(252/level), (i/level)*(405/level), (i%level+1)*(252/level), (i/level+1)*(405/level),null);icon_button=new ImageIconlevel * level;for (int i = 0; i level * level; i+) buttoni = new JButtonx();icon_buttoni=new ImageIcon(image_buttoni,i+);buttoni.setIcon(icon_buttoni);buttoni.num=i;buttoni.addActionListener(this);panel_right.add(buttoni);buttonlevel*level-1.setVisible(false);panel.add(panel_right);menuitem1_1.addActionListener(this);menuitem1_2.addActionListener(this);menuitem2_1.addActionListener(this);menuitem2_2.addActionListener(this);menuitem2_3.addActionListener(this);menu1.add(menuitem1_1);menu1.add(menuitem1_2);menu2.add(menuitem2_1);menu2.add(menuitem2_2);menu2.add(menuitem2_3);menubar.add(menu1,BorderLayout.WEST);menubar.add(menu2,BorderLayout.EAST);menubar.add(panel_menu);panel_menu.add(label1_1);panel_menu.add(label1_2);panel_menu.add(label1_3);panel_menu.add(label2_1);panel_menu.add(label2_2);panel_menu.add(label2_3);frame.setJMenuBar(menubar);frame.add(panel);frame.setBounds(x, y, 508+4, 459+5);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setResizable(false);frame.setVisible(true);public void actionPerformed(ActionEvent e) if(e.getSource()=menuitem1_1)for (int i = 0; i level*level; i+)buttoni.setVisible(true);int a=new int level*level;int index=level*level;for (int i = 0; i level*level; i+) ai=i;for (int i = 0; i =0)judgemengt(but.num,but.num-level);if(but.num+level=0)judgemengt(but.num,but.num-1);if(but.num%level+1=level-1)judgemengt(but.num,but.num+1);win();public void judgemengt(int i,int j)if(buttonj.isVisible()=false)Icon icontemp_button=buttonj.getIcon();buttonj.setIcon(buttoni.getIcon();buttoni.setIcon(icontemp_button);buttonj.setVisible(true);buttoni.setVisible(fa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 帕金森病临床表现与居家护理
- 城市供水漏损治理及设备改造项目独家项目可行性研究报告模板-申批备案
- 3G IP多媒体子系统呈现业务互通:挑战与突破
- 24Cr2Ni4W合金钢黑色磷化膜:制备工艺优化与性能深度剖析
- 2011年个人所得税改革对居民消费的多维度影响探究
- 物理诊断学综合测试卷一及答案
- 2026麻精药品培训考试试题及答案
- 模板工程雨季施工方案
- 《药品经营质量管理规范》采购员试卷及答案
- 消防设施维护单位消防器材管理制度
- 校园制度文化实施方案
- 骨髓抑制患者的感染护理与预防
- 南网共享公司招聘笔试题库2026
- (2026版)早绝经与绝经女性骨质疏松防治指南解读课件
- 军事通信基础知识
- 专题11 阅读理解一轮复习难点突破2(名师点津+名校模拟)原卷版-2026年高考英语一轮复习知识清单
- 挖掘机司机培训考试题及答案
- 单位食堂劳务外包服务投标方案(技术方案)
- 碘131使用管理制度
- 项目部基坑坍塌应急演练方案
- DB31∕731-2020 船舶修正总吨单位产品能源消耗限额
评论
0/150
提交评论