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

    }
}
相关推荐
晓纪同学30 分钟前
QT-简单视觉框架代码
开发语言·qt
威桑30 分钟前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
飞飞-躺着更舒服33 分钟前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生39 分钟前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
明月看潮生42 分钟前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans44 分钟前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手1 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
算法小白(真小白)1 小时前
低代码软件搭建自学第二天——构建拖拽功能
python·低代码·pyqt
唐小旭1 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
007php0071 小时前
Go语言zero项目部署后启动失败问题分析与解决
java·服务器·网络·python·golang·php·ai编程