📄 message.java
字号:
package com.deskManager.window.contr;
import com.deskManager.File.Data;
import com.deskManager.File.DataOperationObject;
import com.deskManager.view.MainWindow;
import com.deskManager.view.ProJTabbedPane;
import java.awt.*;
import java.awt.event.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.filechooser.FileSystemView;
import java.io.*;
import javax.swing.border.BevelBorder;
public class Message extends JPanel implements ActionListener, MouseListener {
private static final long serialVersionUID = -6089152369931267258L;
private PopupMenu m_popupMenu = new PopupMenu();
private MenuItem open = new MenuItem("打开");
private MenuItem add = new MenuItem("添加");
private MenuItem cha = new MenuItem("修改");
private MenuItem del = new MenuItem("删除");
private MenuItem flush = new MenuItem("刷新");
private JFrame temp;
private Data te;
public static int count;
public Message(JFrame p, Data d) {
temp = p;
te = d;
m_popupMenu.add(open);
m_popupMenu.addSeparator();
m_popupMenu.add(add);
m_popupMenu.add(cha);
m_popupMenu.add(del);
m_popupMenu.addSeparator();
m_popupMenu.add(flush);
this.add(new JLabel(" "));
if (d.icon== null || d.icon.equals("")) {
JLabel ico = new JLabel();
ico.setIcon(getIcon(d.path));
this.add(ico);
} else {
this.add(new JLabel(new ImageIcon(new ImageIcon(d.icon).getImage().getScaledInstance(50, 50, 0))));
}
this.add(new JLabel(" "));
open.addActionListener(this);
add.addActionListener(this);
cha.addActionListener(this);
del.addActionListener(this);
flush.addActionListener(this);
this.add(m_popupMenu);
this.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) {
m_popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
} // 方法mousePressed结束
@Override
public void mouseReleased(MouseEvent e) {
mousePressed(e);
} // 方法mouseReleased结束
} // 父类型为类MouseAdapter的匿名内部类结束
); // 方法addMouseListener调用结束
this.addMouseListener(this);
this.setToolTipText(te.name);
this.add(new JLabel(te.name));
this.setSize(90, 80);
setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
}
@Override
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == open) {
try {
run(te.path);
} catch (IOException ex) {
Logger.getLogger(Message.class.getName()).log(Level.SEVERE, null, ex);
}
}
if (arg0.getSource() == cha) {
new MessageEdit(temp, te).setVisible(true);
}
if (arg0.getSource() == add) {
Data d = new Data();
new MessageEdit(temp, d).setVisible(true);
}
if (arg0.getSource() == del) {
int i = JOptionPane.showConfirmDialog(temp, "你确定要删除吗?");
if (i == 0) {
try {
new DataOperationObject().del(te);
} catch (Exception ex) {
Logger.getLogger(Message.class.getName()).log(Level.SEVERE, null, ex);
}
try {
MainWindow.sc.setViewportView(new ProJTabbedPane(temp));
} catch (Exception ex) {
Logger.getLogger(MessageEdit.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
if (arg0.getSource() == flush) {
try {
new DataOperationObject().taxis();
MainWindow.sc.setViewportView(new ProJTabbedPane(temp));
} catch (Exception e) {
e.printStackTrace();
}
}
}
public ImageIcon getIcon(String file) {
FileSystemView f = FileSystemView.getFileSystemView();
FileReader fil;
try {
fil = new FileReader(file);
fil.close();
ImageIcon icon = (ImageIcon) f.getSystemIcon(new File(file));
Image m = icon.getImage().getScaledInstance(50, 50, Image.SCALE_SMOOTH);
return new ImageIcon(m);
} catch (IOException ex) {
JOptionPane.showMessageDialog(this, "找不到" + file + "此链接将被删除!", "系统提示", JOptionPane.WARNING_MESSAGE);
new DataOperationObject().del(te);
try {
MainWindow.sc.setViewportView(new ProJTabbedPane(temp));
} catch (Exception ex1) {
Logger.getLogger(MessageEdit.class.getName()).log(Level.SEVERE, null, ex1);
}
return null;
}
}
public void run(String path) throws IOException {
Runtime rn = Runtime.getRuntime();
Process p = null;
p = rn.exec("\"" + path + "\"");
temp.setVisible(false);
p.toString();
}
@Override
public void mouseClicked(MouseEvent e) {
count++;
if (count == 2) {
try {
run(te.path);
} catch (IOException ex) {
Logger.getLogger(Message.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
@Override
public void mouseEntered(MouseEvent e) {
this.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
}
@Override
public void mouseExited(MouseEvent e) {
setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -