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

📄 mapchoosedialog.java

📁 这是自己设计的一款java泡泡游戏。 这是自己设计的一款java泡泡游戏。这是自己设计的一款java泡泡游戏
💻 JAVA
字号:
package pp.scence;

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.tree.*;
import like.graphics.*;
import like.scence2D.*;

public class MapChooseDialog extends Dialog 
	implements ActionListener, MouseListener
{
	Scence scence;
	public boolean ifConfirm = false;
	JButton confirmButton,exitButton;
	JScrollPane scrollPane;
	public JTree tree;
	
	Image   backGround;
	ImageIcon confimIcon_0,confimIcon_1;
	ImageIcon exitIcon_0,exitIcon_1;
	
	public MapChooseDialog(Scence scence)
	{
		super(scence,"选择地图",true);
		this.scence = scence;
		this.setSize(506,402);
		this.setLocation(147,99);
		//this.setUndecorated(true);
		
		ImageLoader loader = new ImageLoader(scence,"res\\common\\choose.gif",true);
		backGround = loader.getImage();
		
		//按纽
		confimIcon_1 = (ImageIcon)(scence.getHtpros().get("confirm_1"));
		loader = new ImageLoader(scence,"res\\common\\exit.gif",true);
		exitIcon_1   = new ImageIcon(loader.getImage());
		
		this.setLayout(null);
		confirmButton = new JButton(confimIcon_1);
		this.add(confirmButton);
		confirmButton.setBounds(143,332,108,37);
		confirmButton.addMouseListener(this);
		confirmButton.addActionListener(this);
		
		exitButton = new JButton(exitIcon_1);
		this.add(exitButton);
		exitButton.setBounds(253,332,108,37);
		exitButton.addMouseListener(this);
		exitButton.addActionListener(this);
		
		//树型选择
		File file = new File("maps");
        MyNode root=new MyNode(file);//创建树根节点
        File [] files = file.listFiles();
        for(int i=0;i<files.length;i++)
        {
        	MyNode node = new MyNode(files[i]);
        	root.add(node);
        	if(files[i].isDirectory())
        	{
        		File [] t =files[i].listFiles();
        		for(int j=0;j<t.length;j++)
        		{
        			node.add(new MyNode(t[j]));
        		}
        	}
        }
        tree=new JTree(root);//以根节点为参数创建一个树对象
        DefaultTreeCellRenderer cellRenderer 
        	= (DefaultTreeCellRenderer)tree.getCellRenderer();   
        cellRenderer.setLeafIcon(new ImageIcon("res\\Icon\\leaf.gif"));   
        cellRenderer.setOpenIcon(new ImageIcon("res\\Icon\\open.gif"));   
        cellRenderer.setClosedIcon(new ImageIcon("res\\Icon\\close.gif"));   

        scrollPane = new JScrollPane(); 
        scrollPane.setViewportView(tree);
        this.add(this.scrollPane);
        scrollPane.setBounds(261,124,209,199);
	}
	public void update(Graphics g)
	{
		paint(g);
	}
	
	public void paint(Graphics g)
	{
		g.drawImage(this.backGround,0,25,this);
		this.scrollPane.repaint();
		this.confirmButton.repaint();
		this.exitButton.repaint();
	}
	
	public static File showMapChooseDialog(Scence scence)
    {
        MapChooseDialog me = new MapChooseDialog(scence);
        me.setVisible(true);
        if(me.ifConfirm)
        {
        	return (File)(((MyNode)me.tree.getLastSelectedPathComponent()).getUserObject());
        } 
		return null;
    }
    
	public void actionPerformed(ActionEvent e) 
	{
		if(e.getSource().equals(confirmButton))
		{this.ifConfirm = true;}
		else if(e.getSource().equals(exitButton))
		{this.ifConfirm = false;}
		this.setVisible(false);
		this.dispose();
	}

	public void mouseClicked(MouseEvent e) 
	{
	}

	public void mousePressed(MouseEvent e) 
	{
	}

	public void mouseReleased(MouseEvent e) 
	{
	}
	
	public void mouseEntered(MouseEvent e) 
	{
		((AudioClip)(this.scence.getHtpros().get("enter"))).play();
		/*if(confirmButton.equals(e.getSource()))
		{
			this.confirmButton.setIcon(this.confimIcon_1);
		}
		else if(exitButton.equals(e.getSource()))
		{
			this.exitButton.setIcon(this.exitIcon_1);
		}*/
	}

	public void mouseExited(MouseEvent e) 
	{
		/*if((JButton)e.getSource()==this.confirmButton)
		{
			this.confirmButton.setIcon(this.confimIcon_0);
		}
		else if((JButton)e.getSource()==this.exitButton)
		{
			this.exitButton.setIcon(this.exitIcon_0);
		}*/
	}
}

class MyNode extends DefaultMutableTreeNode
{
	public MyNode(Object obj)
	{
		super(obj);
	}
	public String toString()
	{
		String str = ((File)getUserObject()).getName();
		if(str.length()>4)
			return str.substring(0,str.length()-4);
		else return str;
	}
}

⌨️ 快捷键说明

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