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

📄 viewimplment.java

📁 java界面例子java界面例子java界面例子
💻 JAVA
字号:
package com.Implment;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Properties;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.JTree;
import javax.swing.border.LineBorder;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;

import com.inter.IView;

/**
 * @概要: <br>
 * @ViewImplment
 * @author 顾士杰
 * @version 1.0 2008 2008/01/21 10:37:51
 * @since jdk1.5
 */
public class ViewImplment extends JFrame implements IView {
	private JMenuBar menu;
	private JPanel left;
	private JPanel right;
	private JPanel rightup;
	private JPanel rightdown;
	private JTree mediatree;
	private JTree tree;
	private JTable mediatable;
	private JScrollPane sleft;
	private JScrollPane sright;
	private MediaTableModel mediatablemodel;
	private Hashtable<String, String[]> mediahash;
	private DefaultMutableTreeNode selectionNode;
	private Object selectionObj;
	private JMFSample jmf;
	private JMFSample jmfpanel;
	private File file;

	public ViewImplment() {
		InitialComp();
		InstallComp();
	}

	private void InitialComp() {
		file = new File("d:\\clock.avi");
		mediahash = new MediaHash();
		jmfpanel = new JMFSample(file);
		//jmfpanel.play();  //播放视频
		//
		/*
		 * Enumeration<String> eee = mediahash.keys(); Vector<String> v = new
		 * Vector(); Vector vname = new Vector(); for(int i=0;i<mediahash.get("a").length;i++){
		 * 
		 * v.add(0,mediahash.get("a")[i]); }
		 */

		mediatablemodel = new MediaTableModel();
		/*
		 * mediatablemodel.addTableModelListener(new TableModelListener() {
		 * 
		 * public void tableChanged(TableModelEvent e) {
		 * mediatablemodel.fireTableDataChanged(); }
		 * 
		 * });
		 */

		menu = new JMenuBar();
		left = new JPanel();
		right = new JPanel();
		rightup = new JPanel();
		rightdown = new JPanel();
		mediatree = new JTree(mediahash);
		mediatable = new JTable(mediatablemodel);
		sleft = new JScrollPane(left);
		sright = new JScrollPane(right);

	}

	private void InstallComp() {
		mediatable.setPreferredScrollableViewportSize(new Dimension(600, 70));
		JScrollPane smeidaable = new JScrollPane(mediatable);

		menu.add(new JMenu("操作"));
		menu.add(new JMenu("帮助"));
		menu.setBackground(Color.white);

		left.setBackground(Color.white);
		right.setBackground(Color.white);
		rightup.setBackground(Color.white);
		//rightdown.setBackground(Color.white);
		jmfpanel.setBackground(Color.white);

		this.setJMenuBar(menu);
		this.setLayout(new BorderLayout());
		right.setLayout(new BorderLayout());
		this.add(sleft, BorderLayout.WEST);
		this.add(sright, BorderLayout.CENTER);

		right.add(rightup, BorderLayout.NORTH);
		right.add(jmfpanel);

		left.add(mediatree);

		left.setBorder(new LineBorder(Color.lightGray, 2, true));
		rightup.add(smeidaable);
		rightup.setBorder(new LineBorder(Color.lightGray, 2, true));
		//rightdown.setBorder(new LineBorder(Color.lightGray, 2, true));
		jmfpanel.setBorder(new LineBorder(Color.lightGray, 2, true));
		
		JSplitPane splitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
				true, sleft, sright);
		splitpane.setOneTouchExpandable(true);
		splitpane.setDividerSize(8);
		splitpane.setDividerLocation(150);
		getContentPane().add(splitpane);

		JSplitPane splitpane2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true,
				rightup, jmfpanel);
		splitpane2.setOneTouchExpandable(true);
		splitpane2.setDividerSize(8);
		splitpane2.setDividerLocation(100);
		right.add(splitpane2);

		// *********************************************************************************************
		mediatree.addTreeSelectionListener(new TreeSelectionListener() {

			public void valueChanged(TreeSelectionEvent e) {
				ArrayList al = new ArrayList();
				tree = (JTree) e.getSource();
				selectionNode = (DefaultMutableTreeNode) tree
						.getLastSelectedPathComponent();// 得到选中的节点,这个节点可以直接和Sring做比较
				
				
				selectionObj = selectionNode.getUserObject();// 得到该节点所存放的对象

				File file = new File("propertiefile\\maintypes.properties");
				String path1 = file.getAbsolutePath();
				Properties pis = new Properties();
				FileInputStream fis;
				try {
					fis = new FileInputStream(path1);

					pis.load(fis);
				} catch (IOException ee) {

					ee.printStackTrace();
				}

				Enumeration eee = pis.keys();
				while (eee.hasMoreElements()) {
					String s = (String) eee.nextElement();
					if (selectionObj.equals(s)) {
						String path = pis.getProperty(s);
						Properties pis2 = new Properties();
						FileInputStream fis2;
						try {
							fis2 = new FileInputStream(path);

							pis2.load(fis2);
						} catch (IOException ee) {

							ee.printStackTrace();
						}
						Enumeration eeee = pis2.keys();
						while (eeee.hasMoreElements()) {
							al.add(eeee.nextElement());
						}

						mediatablemodel.setmediatablelist(al);

					}
				}

				mediatablemodel.fireTableDataChanged();	//通知JTABLE的模型,刷新数据

			}

		});

		// ***********************************************************************************************

		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

		this.setTitle("远程教育平台视频系统");
		this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
		this.setSize(dim.width * 3 / 4, dim.height * 3 / 4);
		this.setLocationRelativeTo(null);

		this.setVisible(true);

	}

	public void updata() {
		
	}

	public static void main(String[] args) {
		new ViewImplment();

	}

}

⌨️ 快捷键说明

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