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

📄 configdialog.java

📁 自己写的java贪吃蛇小游戏。
💻 JAVA
字号:
package SnakeGame;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

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 + -