洛克王国卡小游戏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);
        }

    }
}
相关推荐
偷光2 小时前
浏览器中的隐藏IDE: Elements (元素) 面板
开发语言·前端·ide·php
DKPT2 小时前
JVM栈溢出和堆溢出哪个先满?
java·开发语言·jvm·笔记·学习
Rock_yzh5 小时前
AI学习日记——参数的初始化
人工智能·python·深度学习·学习·机器学习
gopyer5 小时前
180课时吃透Go语言游戏后端开发6:Go语言的循环语句
开发语言·游戏·golang·循环语句
青衫客366 小时前
基于 Python 构建的安全 gRPC 服务——TLS、mTLS 与 Casbin 授权实战
python·安全·微服务
-dzk-7 小时前
【3DGS复现】Autodl服务器复现3DGS《简单快速》《一次成功》《新手练习复现必备》
运维·服务器·python·计算机视觉·3d·三维重建·三维
楼田莉子8 小时前
Qt开发学习——QtCreator深度介绍/程序运行/开发规范/对象树
开发语言·前端·c++·qt·学习
摩羯座-185690305948 小时前
爬坑 10 年!京东店铺全量商品接口实战开发:从分页优化、SKU 关联到数据完整性闭环
linux·网络·数据库·windows·爬虫·python
ACERT3338 小时前
5.吴恩达机器学习—神经网络的基本使用
人工智能·python·神经网络·机器学习
韩立学长9 小时前
【开题答辩实录分享】以《基于python的奶茶店分布数据分析与可视化》为例进行答辩实录分享
开发语言·python·数据分析