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

📄 imageviewer.java

📁 一个java图像浏览器
💻 JAVA
字号:
import javax.swing.*;
import javax.swing.tree.*;
import java.awt.*;
import java.io.*;

;

public class ImageViewer extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JTree jTree = null;

	private JPanel jPanel1 = null;

	private JLabel jLabel1 = null;

	private JTextField jTextField1 = null;

	private JLabel jLabel3 = null;

	private JTextField jTextField3 = null;

	private JButton jButton1 = null;

	private JButton jButton2 = null;

	private JButton jButton3 = null;

	private JButton jButton4 = null;

	private DefaultMutableTreeNode root;

	private Tree treeref;

	private int[] phrase;

	private String[] phraseName;

	private int phraseNumber;

	private int pictureNumber;

	private String category;

	private JScrollPane jScrollPane = null;

	private JScrollPane jScrollPane1 = null;

	private JList jList = null;

	private JPanel jPanel = null;

	private JScrollPane jScrollPane2 = null;

	/**
	 * This is the default constructor
	 */
	public ImageViewer(Tree t, String c) {
		super();
		treeref = t;
		category = c;
		root = t.getRoot();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setContentPane(getJContentPane());
		this.setTitle("ImageViewer");
		this.setBounds(new Rectangle(0, 0, 1024, 768));
		this.setVisible(true);
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJPanel1(), null);
			jContentPane.add(getJScrollPane(), null);
			// jContentPane.add(getJPanel(), null);
			jContentPane.add(getJScrollPane1(), null);
			jContentPane.add(getJScrollPane2(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jTree
	 * 
	 * @return javax.swing.JTree
	 */
	private JTree getJTree() {
		if (jTree == null) {
			jTree = new JTree(root);
			jTree.setScrollsOnExpand(true);
			jTree
					.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
						public void valueChanged(
								javax.swing.event.TreeSelectionEvent e) {
							TreePath tp = e.getPath();
							DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) tp
									.getLastPathComponent();
							node anode = (node) treeNode.getUserObject();
							jTextField1.setText(anode.getDir());
							phrase = anode.getKeywords();
							if (phrase != null) {
								phraseName = new String[phrase.length];
								for (int i = 0; i < phrase.length; i++)
									phraseName[i] = treeref.getPhrase(phrase[i]);
								phraseNumber = 0;
								pictureNumber = 0;
								jList.setListData(phraseName);
								showImage();
							}

						}
					});
		}
		return jTree;
	}

	/**
	 * This method initializes jPanel1
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJPanel1() {
		if (jPanel1 == null) {
			jLabel3 = new JLabel();
			jLabel3.setBounds(new Rectangle(5, 30, 55, 20));
			jLabel3.setText("URL");
			jLabel1 = new JLabel();
			jLabel1.setBounds(new Rectangle(5, 5, 55, 20));
			jLabel1.setText("Location");
			jPanel1 = new JPanel();
			jPanel1.setLayout(null);
			jPanel1.setBounds(new Rectangle(225, 650, 525, 80));
			jPanel1.add(jLabel1, null);
			jPanel1.add(getJTextField1(), null);
			jPanel1.add(jLabel3, null);
			jPanel1.add(getJTextField3(), null);
			jPanel1.add(getJButton1(), null);
			jPanel1.add(getJButton2(), null);
			jPanel1.add(getJButton3(), null);
			jPanel1.add(getJButton4(), null);
		}
		return jPanel1;
	}

	/**
	 * This method initializes jTextField1
	 * 
	 * @return javax.swing.JTextField
	 */
	private JTextField getJTextField1() {
		if (jTextField1 == null) {
			jTextField1 = new JTextField();
			jTextField1.setBounds(new Rectangle(70, 5, 450, 20));
		}
		return jTextField1;
	}

	/**
	 * This method initializes jTextField3
	 * 
	 * @return javax.swing.JTextField
	 */
	private JTextField getJTextField3() {
		if (jTextField3 == null) {
			jTextField3 = new JTextField();
			jTextField3.setBounds(new Rectangle(70, 30, 450, 20));
		}
		return jTextField3;
	}

	/**
	 * This method initializes jButton1
	 * 
	 * @return javax.swing.JButton
	 */
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setText("Previous");
			jButton1.setBounds(new Rectangle(7, 55, 100, 20));
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if (phraseNumber > 0)
						phraseNumber--;
					showImage();
				}
			});
		}
		return jButton1;
	}

	/**
	 * This method initializes jButton2
	 * 
	 * @return javax.swing.JButton
	 */
	private JButton getJButton2() {
		if (jButton2 == null) {
			jButton2 = new JButton();
			jButton2.setText("Next");
			jButton2.setBounds(new Rectangle(113, 56, 100, 20));
			jButton2.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if (phraseNumber < phrase.length)
						phraseNumber++;
					showImage();
				}
			});
		}
		return jButton2;
	}

	/**
	 * This method initializes jButton3
	 * 
	 * @return javax.swing.JButton
	 */
	private JButton getJButton3() {
		if (jButton3 == null) {
			jButton3 = new JButton();
			jButton3.setText("View");
			jButton3.setBounds(new Rectangle(228, 55, 70, 20));
			jButton3.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					try {
						Runtime.getRuntime().exec(
								"rundll32.exe C:/WINDOWS/system32/shimgvw.dll,ImageView_Fullscreen "
										+ category + "/" + phrase[phraseNumber]
										+ "/" + pictureNumber + ".jpg");
					} catch (IOException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				}
			});
		}
		return jButton3;
	}

	/**
	 * This method initializes jButton4
	 * 
	 * @return javax.swing.JButton
	 */
	private JButton getJButton4() {
		if (jButton4 == null) {
			jButton4 = new JButton();
			jButton4.setText("Quit");
			jButton4.setBounds(new Rectangle(305, 55, 60, 20));
			jButton4.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.exit(0);
				}
			});
		}
		return jButton4;
	}

	/**
	 * This method initializes jScrollPane
	 * 
	 * @return javax.swing.JScrollPane
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setBounds(new Rectangle(10, 10, 200, 720));
			jScrollPane.setViewportView(getJTree());
		}
		return jScrollPane;
	}

	private void showImage() {
		jTextField3.setText((phraseNumber + 1) + "/" + phrase.length);
		Viewer[] v = new Viewer[15];
		for (int i = 0; i < 15; i++) {
			v[i] = new Viewer();
			jPanel.add(v[i]);
			v[i]
					.setBounds(new Rectangle((i % 2) * 245, (i / 2) * 185, 240,
							180));
			v[i].setImage(category + "//" + phrase[phraseNumber] + "//" + i
					+ ".jpg");
			v[i].repaint();
		}
		jPanel.setVisible(true);
	}

	/**
	 * This method initializes jScrollPane1
	 * 
	 * @return javax.swing.JScrollPane
	 */
	private JScrollPane getJScrollPane1() {
		if (jScrollPane1 == null) {
			jScrollPane1 = new JScrollPane();
			jScrollPane1.setBounds(new Rectangle(225, 10, 525, 630));
			jScrollPane1
					.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
			jScrollPane1.setViewportView(getJPanel());
		}
		return jScrollPane1;
	}

	/**
	 * This method initializes jList
	 * 
	 * @return javax.swing.JList
	 */
	private JList getJList() {
		if (jList == null) {
			jList = new JList();
			jList
					.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
						public void valueChanged(
								javax.swing.event.ListSelectionEvent e) {
							phraseNumber = jList.getSelectedIndex();
							showImage();
						}
					});
		}
		return jList;
	}

	/**
	 * This method initializes jPanel
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJPanel() {
		if (jPanel == null) {
			jPanel = new JPanel();
			jPanel.setPreferredSize(new Dimension(500, 1480));
		}
		return jPanel;
	}

	/**
	 * This method initializes jScrollPane2
	 * 
	 * @return javax.swing.JScrollPane
	 */
	private JScrollPane getJScrollPane2() {
		if (jScrollPane2 == null) {
			jScrollPane2 = new JScrollPane();
			jScrollPane2.setBounds(new Rectangle(775, 10, 230, 720));
			jScrollPane2.setViewportView(getJList());
		}
		return jScrollPane2;
	}
}

⌨️ 快捷键说明

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