⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configdialog.java

📁 使用java语言实现的一个简单的游戏
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package SnakeGame;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Font;import java.awt.Frame;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JColorChooser;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;/** * * @author Administrator */public class ConfigDialog extends JDialog {    private Container c;    private JFrame owner;    private OwnPanel[] panel = new OwnPanel[4];    Box box1, box2;    private JButton commitButton,  cancelButton;    Color[] color = new Color[4];    public ConfigDialog(Frame owner) {        this.owner = (JFrame) owner;        this.setSize(400, 200);        this.setResizable(false);        this.setTitle("Config Your Game");        this.c = this.getContentPane();        this.c.setBackground(Color.WHITE);        this.c.setLayout(new FlowLayout());        this.box1 = Box.createVerticalBox();        for (int i = 0; i < panel.length; i++) {            panel[i] = new OwnPanel();            panel[i].addActionListener(new ActionHandler());            this.box1.add(panel[i]);            this.box1.add(Box.createVerticalStrut(4));        }        this.panel[0].setText(" Background");        this.panel[1].setText(" Snake");        this.panel[2].setText(" Bean");        this.panel[3].setText(" EatedBean");        this.panel[0].setBack(ColorGroup.COLOR_BACK);        this.panel[1].setBack(ColorGroup.COLOR_SNAKE);        this.panel[2].setBack(ColorGroup.COLOR_BEAN);        this.panel[3].setBack(ColorGroup.COLOR_EATEDBEAN);        this.box2 = Box.createHorizontalBox();        this.commitButton = new JButton("确定");        this.commitButton.setFont(Font.getFont("Fixedsys"));        this.commitButton.addActionListener(new ActionHandler());        this.cancelButton = new JButton("取消");        this.cancelButton.setFont(Font.getFont("Fixedsys"));        this.cancelButton.addActionListener(new ActionHandler());        this.box2.add(this.commitButton);        this.box2.add(Box.createHorizontalStrut(20));        this.box2.add(this.cancelButton);        this.box1.add(this.box2);        this.c.add(this.box1, BorderLayout.NORTH);        this.setLocation((this.getToolkit().getScreenSize().width - this.getWidth()) / 2,                (this.getToolkit().getScreenSize().height - this.getHeight()) / 2);        this.setVisible(true);    }    public void setOwnerColor(Color temp) {        this.owner.getContentPane().setBackground(temp);    }    private class ActionHandler implements ActionListener {        public void actionPerformed(ActionEvent e) {            for (int i = 0; i < color.length; i++) {                if (e.getSource() == panel[i].reButton()) {                    color[i] = JColorChooser.showDialog(ConfigDialog.this,                            "Choose BackGround Color",                            Color.WHITE);                    if (color[i] != null) {                        panel[i].setBack(color[i]);                    }                }            }            if (e.getSource() == commitButton) {                color[0] = (color[0] == null ? ColorGroup.COLOR_BACK : color[0]);                color[1] = (color[1] == null ? ColorGroup.COLOR_SNAKE : color[1]);                color[2] = (color[2] == null ? ColorGroup.COLOR_BEAN : color[2]);                color[3] = (color[3] == null ? ColorGroup.COLOR_EATEDBEAN : color[3]);                ConfigDialog.this.setVisible(false);                ColorGroup.setCOLOR_BACK(color[0]);                owner.getContentPane().setBackground(color[0]);                ColorGroup.setCOLOR_SNAKE(color[1]);                ColorGroup.setCOLOR_BEAN(color[2]);                ColorGroup.setCOLOR_EATEDBEAN(color[3]);                ConfigDialog.this.dispose();            } else if (e.getSource() == cancelButton) {                ConfigDialog.this.setVisible(false);                ConfigDialog.this.dispose();            }        }    }}class OwnPanel extends JPanel {    private JLabel temp1;    private JTextField temp2;    private JButton temp3;    OwnPanel() {        temp1 = new JLabel();        temp1.setFont(Font.getFont("Fixedsys"));        temp2 = new JTextField();        temp3 = new JButton("Change");        temp3.setFont(Font.getFont("Fixedsys"));        temp2.setEditable(false);        temp2.setColumns(10);        this.add(temp1);        this.add(temp2);        this.add(temp3);        this.setLayout(new GridLayout(1, 3));    }    public void setButtonName(String temp) {        temp3.setName(temp);    }    public void setBack(Color temp) {        temp2.setBackground(temp);    }    public void setText(String temp) {        temp1.setText(temp);    }    public Object reButton() {        return temp3;    }    public void addActionListener(ActionListener ac) {        temp3.addActionListener(ac);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -