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

📄 message.java

📁 桌面管理 可以将桌面的快捷方式集中管理
💻 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 + -