洛克王国卡小游戏1

复制代码
package day01;
import javax.swing.*;
import javax.swing.border.CompoundBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;

//主界面
public class buzong extends JFrame implements ActionListener {

    static HashMap<String, String> xinggege = new HashMap<>();
    static ArrayList<String> sjxg = new ArrayList<>();

    static {
        try {
            BufferedReader duqu = new BufferedReader(new FileReader("D:\\bc2\\kaixinge\\xinggewangfdang\\xingge"));
            String uz;
            while ((uz = duqu.readLine()) != null) {
                String[] s = uz.split(" ");
                xinggege.put(s[0], s[s.length - 1]);
                sjxg.add(s[0]);
            }
            duqu.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //文本框
    JTextField xinge = new JTextField("", 2);

    //文本框2
    JTextField xinge1 = new JTextField(" ");

    Random r = new Random();

    //创建按钮对象
    JButton kaijiang = new JButton("捕捉");

    //创建按钮对象2
    JButton kaijiang1 = new JButton("返回");

    int kaiguan = 0;

   //创建下拉列表对象
    JComboBox<String> congwu = new JComboBox<>();

    public buzong() throws HeadlessException {

        //主界面
        extracted();

        //菜单
//        extracted5();

        //文本框字体
        extracted2();

        //按钮
        extracted3();

        //下拉框
        extracted4();

        //背景图片
        extracted1();

        //设置界面是否显示
        setVisible(true);
    }

    private void extracted5() {

        //创建菜单对象
        JMenuBar tishikuaang = new JMenuBar();
        //创建菜单对象二级对象
        JMenu gn = new JMenu("功能");
        //创建菜单对象三级对象
        JMenuItem gyuwom = new JMenuItem ("关于我们");
        //把三级菜单对象放到菜单二级对象
        gn.add(gyuwom);
        //把二级菜单对象放到菜单对象
        tishikuaang.add(gn);
        //把菜单对象添加到界面
        setJMenuBar(tishikuaang);


    }

    private void extracted4() {

        congwu.setBounds(165,0,120,30);

        if (kaiguan < 1) {
            try {
                BufferedReader duqu = new BufferedReader(new FileReader("D:\\bc2\\kaixinge\\xinggewangfdang\\捕获种宠物"));
                String uz;
                while ((uz = duqu.readLine()) != null) {
                    congwu.addItem(uz);
                }
                duqu.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

        congwu.addActionListener(this);
        getContentPane().add(congwu);
    }

    private void extracted3() {

        //设置按钮宽高和大小
        kaijiang.setBounds(100, 300, 100, 50);
        //绑定监听
        kaijiang.addActionListener(this);
        //设置字体样式大小
        kaijiang.setFont(new Font("微软雅黑", 1, 25));

        //设置按钮不可点击
        // kaijiang.setEnabled(false);

        //设置按钮背景颜色
        kaijiang.setBackground(Color.WHITE);

        //去除按钮背景
//        kaijiang.setContentAreaFilled(false);

        //添加到界面
        getContentPane().add(kaijiang);

//-----------------------------------------------------------------------------------------------
        //设置按钮宽高和大小
        kaijiang1.setBounds(0, 0, 70, 40);
        //绑定监听
        kaijiang1.addActionListener(this);
        //设置字体样式大小
        kaijiang1.setFont(new Font("微软雅黑", 1, 14));
       //设置按钮字体颜色
        kaijiang1.setForeground(Color.WHITE);
        //去除按钮背景
       kaijiang1.setContentAreaFilled(false);

        //添加到界面
        getContentPane().add(kaijiang1);

    }

    private void extracted2() {
        //删除已经出现的文字
        this.getContentPane().removeAll();
        //设置边框位置大小
        xinge.setBounds(100, 100, 100, 50);
        //设置字体样式
        xinge.setFont(new Font("汉仪菱心体简", 1, 35));
        //设置字体是否居中
        xinge.setHorizontalAlignment(SwingConstants.CENTER);
        //设置字体颜色
        xinge.setForeground(Color.ORANGE);
        //设置文本边框样式
        xinge.setBorder(new CompoundBorder());
        //设置是否可编辑
        xinge.setEditable(false);
        /*添加文本框背景颜色
        xinge.setBackground(Color.red);*/
//------------------------------------------------------------------------
        //设置边框位置大小
        xinge1.setBounds(45, 160, 200, 50);
        //设置字体样式
        xinge1.setFont(new Font("微软雅黑", 1, 20));
        //设置字体是否居中
        xinge1.setHorizontalAlignment(SwingConstants.CENTER);
        //设置字体颜色
        //  xinge1.setForeground(Color.ORANGE);
        //设置文本边框样式
        xinge1.setBorder(new CompoundBorder());
        //设置是否可编辑
        xinge1.setEditable(false);
        /*添加文本框背景颜色
        xinge.setBackground(Color.red);*/

        //刷新图片
        this.getContentPane().repaint();
        //添加进界面
        getContentPane().add(xinge);
        getContentPane().add(xinge1);
    }

    private void extracted1() {

        //创建图片对象
        JLabel tishiyuju = new JLabel("请选择你要抓宠物");
        //设置图片位置
        tishiyuju.setBounds(155,20,150,50);
        //设置字体
        tishiyuju.setFont(new Font("微软雅黑",1,16));

        //设置字体颜色
        tishiyuju.setForeground(Color.red);

        //添加到界面
        getContentPane().add(tishiyuju);


        JLabel beijin = new JLabel(new ImageIcon("D:\\bc2\\kaixinge\\wendang\\驱动.png"));
        beijin.setBounds(-8, -10, 300, 500);
        getContentPane().add(beijin);
    }

    private void extracted() {
        //设置界面大小
        setSize(300, 500);
        //设置标题
        setTitle("洛克王国性格模拟器");
        //设置关闭方式
        setDefaultCloseOperation(3);
        //取消默认的居中放置,只有取消了才会按照XY轴的形式添加组件
        setLayout(null);
        //让界面一直置顶
        setAlwaysOnTop(true);
        //设置界面居中
        setLocationRelativeTo(null);
        //设置是否可拉伸
        setResizable(false);
        //设置图标
        setIconImage(Toolkit.getDefaultToolkit().getImage("D:\\bc2\\kaixinge\\wendang\\a446b83a1502cec2933a65aec324384.png"));

        /*//设置背景颜色
        this.getContentPane().setBackground(new Color(178,178,178));*/

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        Object source = e.getSource();
        if (source == kaijiang) {
           kaiguan++;

           int i = r.nextInt(sjxg.size());

           //修改文本框
           xinge.setText(sjxg.get(i));

           //修改文本框
           xinge1.setText(xinggege.get(sjxg.get(i)));

        }else if (source == congwu ){
            kaiguan++;
            xinge.setText(" ");
            xinge1.setText(" ");
        }
        if (source == kaijiang1 ){
            new  login();
            kaiguan = 0 ;
            setVisible(false);
        }

    }
}
相关推荐
海盗猫鸥24 分钟前
C++入门基础篇(1)
开发语言·c++·学习
专注成就自我32 分钟前
java使用easypoi模版导出word详细步骤
java·开发语言·word
.生产的驴1 小时前
SpringBoot AOP切入点表达式
spring boot·后端·python
多多*1 小时前
SpringBoot 启动流程六
java·开发语言·spring boot·后端·spring
让你三行代码QAQ1 小时前
SpringSecurity初始化过程
java·开发语言
逆水寻舟1 小时前
算法学习记录2
python·学习·算法
Mr_Richard2 小时前
Java动态代理的实现方式
java·开发语言
B站计算机毕业设计超人2 小时前
计算机毕业设计Python深度学习美食推荐系统 美食可视化 美食数据分析大屏 美食爬虫 美团爬虫 机器学习 大数据毕业设计 Django Vue.js
大数据·python·深度学习·机器学习·数据分析·课程设计·推荐算法
码农超哥同学2 小时前
Python面试题:请解释 `lambda` 函数是什么,并举一个例子
开发语言·python·面试·编程
sssjjww2 小时前
python输出日志out.log相关问题(缓存机制)
java·python·缓存