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

    }
}
相关推荐
秋の花6 分钟前
【JAVA基础】Java集合基础
java·开发语言·windows
小松学前端9 分钟前
第六章 7.0 LinkList
java·开发语言·网络
可峰科技18 分钟前
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)
开发语言·qt
全栈开发圈22 分钟前
新书速览|Java网络爬虫精解与实践
java·开发语言·爬虫
面试鸭27 分钟前
离谱!买个人信息买到网安公司头上???
java·开发语言·职场和发展
小白学大数据27 分钟前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫
Python大数据分析@31 分钟前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树32 分钟前
简单的签到程序 python笔记
笔记·python
Shy9604181 小时前
Bert完形填空
python·深度学习·bert
上海_彭彭1 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element