databasesyncdesktopview.java#1.2

来自「数据库远程同步软件NetBeans项目源文件 项目采用Jdesktop集成组件」· 2 代码 · 共 383 行 · 第 1/2 页

2
383
字号
/* * DataBaseSyncDesktopView.java */package databasesyncdesktopapplication;import javax.swing.JMenu;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;import javax.swing.JRadioButtonMenuItem;import javax.swing.JSeparator;import org.jdesktop.jdic.tray.SystemTray;import org.jdesktop.jdic.tray.TrayIcon;import org.jdesktop.application.Action;import org.jdesktop.application.ResourceMap;import org.jdesktop.application.SingleFrameApplication;import org.jdesktop.application.FrameView;import org.jdesktop.application.TaskMonitor;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.ImageIcon;import javax.swing.Timer;import javax.swing.Icon;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JOptionPane;/** * The application's main frame. */public class DataBaseSyncDesktopView extends FrameView {    public DataBaseSyncDesktopView(SingleFrameApplication app) {        super(app);        initComponents();        // status bar initialization - message timeout, idle icon and busy animation, etc        ResourceMap resourceMap = getResourceMap();        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");        messageTimer = new Timer(messageTimeout, new ActionListener() {            public void actionPerformed(ActionEvent e) {                statusMessageLabel.setText("");            }        });        messageTimer.setRepeats(false);        int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");        for (int i = 0; i < busyIcons.length; i++) {            busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");        }        busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {            public void actionPerformed(ActionEvent e) {                busyIconIndex = (busyIconIndex + 1) % busyIcons.length;                statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);            }        });        idleIcon = resourceMap.getIcon("StatusBar.idleIcon");        statusAnimationLabel.setIcon(idleIcon);        progressBar.setVisible(false);        // connecting action tasks to status bar via TaskMonitor        TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());        taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {            public void propertyChange(java.beans.PropertyChangeEvent evt) {                String propertyName = evt.getPropertyName();                if ("started".equals(propertyName)) {                    if (!busyIconTimer.isRunning()) {                        statusAnimationLabel.setIcon(busyIcons[0]);                        busyIconIndex = 0;                        busyIconTimer.start();                    }                    progressBar.setVisible(true);                    progressBar.setIndeterminate(true);                } else if ("done".equals(propertyName)) {                    busyIconTimer.stop();                    statusAnimationLabel.setIcon(idleIcon);                    progressBar.setVisible(false);                    progressBar.setValue(0);                } else if ("message".equals(propertyName)) {                    String text = (String) (evt.getNewValue());                    statusMessageLabel.setText((text == null) ? "" : text);                    messageTimer.restart();                } else if ("progress".equals(propertyName)) {                    int value = (Integer) (evt.getNewValue());                    progressBar.setVisible(true);                    progressBar.setIndeterminate(false);                    progressBar.setValue(value);                }            }        });    //    frame =DataBaseSyncDesktopApplication.getApplication().getMainFrame();        init();    }    @Action    public void showAboutBox() {        if (aboutBox == null) {            JFrame mainFrame = DataBaseSyncDesktopApplication.getApplication().getMainFrame();            aboutBox = new DataBaseSyncDesktopAboutBox(mainFrame);            aboutBox.setLocationRelativeTo(mainFrame);        }        DataBaseSyncDesktopApplication.getApplication().show(aboutBox);    }    /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the Form Editor.     */    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents    private void initComponents() {        mainPanel = new javax.swing.JPanel();        jScrollPane1 = new javax.swing.JScrollPane();        jTextArea1 = new javax.swing.JTextArea();        menuBar = new javax.swing.JMenuBar();        javax.swing.JMenu fileMenu = new javax.swing.JMenu();        jMenuItem2 = new javax.swing.JMenuItem();        jMenuItem1 = new javax.swing.JMenuItem();        javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();        javax.swing.JMenu helpMenu = new javax.swing.JMenu();        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();        statusPanel = new javax.swing.JPanel();        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();        statusMessageLabel = new javax.swing.JLabel();        statusAnimationLabel = new javax.swing.JLabel();        progressBar = new javax.swing.JProgressBar();        mainPanel.setName("mainPanel"); // NOI18N        jScrollPane1.setName("jScrollPane1"); // NOI18N        jTextArea1.setColumns(20);        jTextArea1.setRows(5);        jTextArea1.setName("jTextArea1"); // NOI18N        jScrollPane1.setViewportView(jTextArea1);        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);        mainPanel.setLayout(mainPanelLayout);        mainPanelLayout.setHorizontalGroup(            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(mainPanelLayout.createSequentialGroup()                .addContainerGap()                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 390, Short.MAX_VALUE)                .addContainerGap())        );        mainPanelLayout.setVerticalGroup(            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(mainPanelLayout.createSequentialGroup()                .addContainerGap()                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 231, Short.MAX_VALUE)                .addContainerGap())        );        menuBar.setName("menuBar"); // NOI18N        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(databasesyncdesktopapplication.DataBaseSyncDesktopApplication.class).getContext().getResourceMap(DataBaseSyncDesktopView.class);        fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N        fileMenu.setName("fileMenu"); // NOI18N        jMenuItem2.setText(resourceMap.getString("jMenuItem2.text")); // NOI18N        jMenuItem2.setName("jMenuItem2"); // NOI18N        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jMenuItem2ActionPerformed(evt);            }        });        fileMenu.add(jMenuItem2);        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(databasesyncdesktopapplication.DataBaseSyncDesktopApplication.class).getContext().getActionMap(DataBaseSyncDesktopView.class, this);        jMenuItem1.setAction(actionMap.get("AddContextFile")); // NOI18N        jMenuItem1.setName("jMenuItem1"); // NOI18N        fileMenu.add(jMenuItem1);        exitMenuItem.setAction(actionMap.get("quit")); // NOI18N        exitMenuItem.setName("exitMenuItem"); // NOI18N        fileMenu.add(exitMenuItem);        menuBar.add(fileMenu);        helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N        helpMenu.setName("helpMenu"); // NOI18N        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N        aboutMenuItem.setName("aboutMenuItem"); // NOI18N        helpMenu.add(aboutMenuItem);

⌨️ 快捷键说明

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