gdx-studio

#libgdx#java#desktop

git clone https://git.pyrossh.dev/gdx-studio

An IDE for creating Games using libgdx and Java supported on all platforms Android, iOS, Desktop


src/gdxstudio/panel/AssetPanel.java
package gdxstudio.panel;
import gdxstudio.Style;

import java.awt.Dimension;
import java.awt.dnd.DragSource;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JComboBox;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.event.ListSelectionEvent;

import scene2d.Asset;
import web.laf.lite.widget.CenterPanel;

final public class AssetPanel extends BaseList {
	private static final long serialVersionUID = 1L;
	
	private static String[] comboText = new String[]{"Font", "Texture", "Animation", "Music", "Sound", "Particle", 
		"Model"};
	private static JComboBox<String> combo = new JComboBox<String>(comboText);
	
	String[] btns = new String[]{
			"New File", "newfile", "Delete", "trash",
	};
	
	DragSource dragSource = new DragSource();

	public AssetPanel(){
		super("Assets", "");
		list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
		JPanel pan = Style.createButtonToolBar(this, btns);
		combo.setPreferredSize(new Dimension(145, 16));
		pan.add(new CenterPanel(combo, false, true));
		add(pan);
		add(scrollPane);
	    combo.addItemListener(new ItemListener(){
			@Override
			public void itemStateChanged(ItemEvent e) {
				updateAsset();
			}
	    });
	}
	
	public void updateAsset(){
		listModel2.clear();
		switch(combo.getSelectedItem().toString()){
			case "Font": 
				for(String names: Asset.fontMap.keys()) 
					listModel2.addElement(names);
				break;
			case "Texture": 
				for(String names: Asset.texMap.keys()) 
					listModel2.addElement(names);
				break;
			case "Music": 
				for(String names: Asset.musicMap.keys()) 
					listModel2.addElement(names);
				break;
			case "Sound": 
				for(String names: Asset.soundMap.keys()) 
					listModel2.addElement(names);
				break;
				//case "Particle": 	
				//	for(String names: Asset.musicMap.keys()) 
				//		assetModel.addElement(names); 
				//	break;
			case "Model": 
				for(Object names: Asset.modelMap.toArray()) 
					listModel2.addElement(names.toString());
				break;
		}
	}

	@Override
	public void actionPerformed(ActionEvent event) {
		this.setVisible(false);
	}

	@Override
	public void valueChanged(ListSelectionEvent arg0) {
		// TODO Auto-generated method stub
		
	}
}