📄 imageviewer.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 + -