appframe.java

来自「JGraph扩展应用。自定义Renderer,自定义视图View实现自定义工作流」· Java 代码 · 共 504 行 · 第 1/2 页

JAVA
504
字号
        mediumPanel4.setLayout(new java.awt.BorderLayout(0, 3));        loadButton.setFont(new java.awt.Font("Dialog", 0, 10));        loadButton.setText("Load from jdraw model");        loadButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                loadButtonActionPerformed(evt);            }        });        mediumPanel4.add(loadButton, java.awt.BorderLayout.CENTER);        saveButton.setFont(new java.awt.Font("Dialog", 0, 10));        saveButton.setText("Save to jdraw model");        saveButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                saveButtonActionPerformed(evt);            }        });        mediumPanel4.add(saveButton, java.awt.BorderLayout.NORTH);        exportButton.setFont(new java.awt.Font("Dialog", 0, 10));        exportButton.setText("Export to PNG image");        exportButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                exportButtonActionPerformed(evt);            }        });        mediumPanel4.add(exportButton, java.awt.BorderLayout.SOUTH);        savePanel.add(mediumPanel4);        mediumPanel1.add(savePanel);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.insets = new java.awt.Insets(10, 5, 5, 5);        ctrlPanel.add(mediumPanel1, gridBagConstraints);        copyleft.setFont(new java.awt.Font("Verdana", 0, 10));        copyleft.setForeground(new java.awt.Color(255, 153, 0));        copyleft.setText("CopyLeft 2005 hysun");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 1;        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 1.0;        gridBagConstraints.insets = new java.awt.Insets(5, 5, 15, 5);        ctrlPanel.add(copyleft, gridBagConstraints);        getContentPane().add(ctrlPanel, java.awt.BorderLayout.WEST);        getContentPane().add(board, java.awt.BorderLayout.CENTER);        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();        setBounds((screenSize.width-786)/2, (screenSize.height-578)/2, 786, 578);    }//GEN-END:initComponents    private void exportButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportButtonActionPerformed        try {            if (filechooser2 == null) {                filechooser2 = new JFileChooser();                filechooser2.setFileFilter(pngFilter);                filechooser2.setMultiSelectionEnabled(false);                filechooser2.setAcceptAllFileFilterUsed(false);            }            int retVal = filechooser2.showSaveDialog(this);            if (retVal != JFileChooser.APPROVE_OPTION)                return;            File file = filechooser2.getSelectedFile();            if (!file.getName().toLowerCase().endsWith(".png")) {                file = new File(file.getAbsolutePath() + ".png");            }            Dimension d = board.getSize();            BufferedImage image = new BufferedImage(d.width, d.height,                                             BufferedImage.TYPE_INT_ARGB);            Graphics2D g = image.createGraphics();            board.paint(g);            g.dispose();            ImageIO.write(image, "png", file);        } catch (Exception e) {            JOptionPane.showMessageDialog(this, e, "Error!", JOptionPane.ERROR_MESSAGE);        }    }//GEN-LAST:event_exportButtonActionPerformed    private void loadButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loadButtonActionPerformed        try {            if (filechooser1 == null) {                filechooser1 = new JFileChooser();                filechooser1.setFileFilter(jdrawFilter);                filechooser1.setMultiSelectionEnabled(false);                filechooser1.setAcceptAllFileFilterUsed(false);            }            int retVal = filechooser1.showOpenDialog(this);            if (retVal != JFileChooser.APPROVE_OPTION)                return;            BufferedReader br = new BufferedReader(new FileReader(filechooser1.getSelectedFile()));            int rgb = Integer.parseInt(br.readLine());            Color fgcolor = new Color(rgb);            board.setForeground(fgcolor);            fgButton.setBackground(fgcolor);            rgb = Integer.parseInt(br.readLine());            Color bgcolor = new Color(rgb);            board.setBackground(bgcolor);            bgButton.setBackground(bgcolor);            weightCombo.setSelectedIndex(Integer.parseInt(br.readLine()));            eraserCombo.setSelectedIndex(Integer.parseInt(br.readLine()));            ArrayList list = new ArrayList();            String str;            while ((str = br.readLine()) != null)                list.add(str);            board.setShapes(list);        } catch (Exception e) {            JOptionPane.showMessageDialog(this, e, "Error!", JOptionPane.ERROR_MESSAGE);        }    }//GEN-LAST:event_loadButtonActionPerformed    private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveButtonActionPerformed        try {            if (filechooser1 == null) {                filechooser1 = new JFileChooser();                filechooser1.setFileFilter(jdrawFilter);                filechooser1.setMultiSelectionEnabled(false);                filechooser1.setAcceptAllFileFilterUsed(false);            }            int retVal = filechooser1.showSaveDialog(this);            if (retVal != JFileChooser.APPROVE_OPTION)                return;            File file = filechooser1.getSelectedFile();            if (!file.getName().toLowerCase().endsWith(".jdw")) {                file = new File(file.getAbsolutePath() + ".jdw");            }            Color fgcolor = board.getForeground();            Color bgcolor = board.getBackground();            PrintWriter pw = new PrintWriter(new FileWriter(file));            pw.println(fgcolor.getRGB());            pw.println(bgcolor.getRGB());            pw.println(weightCombo.getSelectedIndex());            pw.print(eraserCombo.getSelectedIndex());            pw.print(board.getShapes());            pw.close();        } catch (java.io.IOException ioe) {            JOptionPane.showMessageDialog(this, ioe, "Error!", JOptionPane.ERROR_MESSAGE);        }    }//GEN-LAST:event_saveButtonActionPerformed    private void fgButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fgButtonActionPerformed        java.awt.Color color = javax.swing.JColorChooser.showDialog(this,                 "Change Drawing Color", board.getForeground());        if (color != null) {            board.setForeground(color);            fgButton.setBackground(color);        }    }//GEN-LAST:event_fgButtonActionPerformed    private void bgButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bgButtonActionPerformed        java.awt.Color color = javax.swing.JColorChooser.showDialog(this,                 "Change Board Background Color", board.getBackground());        if (color != null) {            board.setBackground(color);            bgButton.setBackground(color);        }    }//GEN-LAST:event_bgButtonActionPerformed    private void eraserComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eraserComboActionPerformed        board.setEraserIndex(eraserCombo.getSelectedIndex());    }//GEN-LAST:event_eraserComboActionPerformed    private void weightComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_weightComboActionPerformed        board.setStrokeIndex(weightCombo.getSelectedIndex());    }//GEN-LAST:event_weightComboActionPerformed    private void clearButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearButtonActionPerformed        board.clearBoard();    }//GEN-LAST:event_clearButtonActionPerformed    private void polygonButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_polygonButtonActionPerformed        board.setTool(DrawingBoard.TOOL_POLYGON);    }//GEN-LAST:event_polygonButtonActionPerformed    private void eraserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eraserButtonActionPerformed        board.setTool(DrawingBoard.TOOL_ERASER);    }//GEN-LAST:event_eraserButtonActionPerformed    private void pencilButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pencilButtonActionPerformed        board.setTool(DrawingBoard.TOOL_PENCIL);    }//GEN-LAST:event_pencilButtonActionPerformed    private void diamondButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_diamondButtonActionPerformed        board.setTool(DrawingBoard.TOOL_DIAMOND);    }//GEN-LAST:event_diamondButtonActionPerformed    private void ovalButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ovalButtonActionPerformed        board.setTool(DrawingBoard.TOOL_OVAL);    }//GEN-LAST:event_ovalButtonActionPerformed    private void rectButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rectButtonActionPerformed        board.setTool(DrawingBoard.TOOL_RECT);    }//GEN-LAST:event_rectButtonActionPerformed    private void lineButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lineButtonActionPerformed        board.setTool(DrawingBoard.TOOL_LINE);    }//GEN-LAST:event_lineButtonActionPerformed        /**     * @param args the command line arguments     */    public static void main(String args[]) {        java.util.Locale.setDefault(java.util.Locale.US);        java.awt.EventQueue.invokeLater(new Runnable() {            public void run() {                new AppFrame().setVisible(true);            }        });    }        // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JButton bgButton;    private DrawingBoard board;    private javax.swing.JButton clearButton;    private javax.swing.JPanel colorPanel;    private javax.swing.JLabel copyleft;    private javax.swing.JPanel ctrlPanel;    private javax.swing.JToggleButton diamondButton;    private javax.swing.JToggleButton eraserButton;    private javax.swing.JComboBox eraserCombo;    private javax.swing.JButton exportButton;    private javax.swing.JButton fgButton;    private javax.swing.JToggleButton lineButton;    private javax.swing.JButton loadButton;    private javax.swing.JPanel mediumPanel1;    private javax.swing.JPanel mediumPanel2;    private javax.swing.JPanel mediumPanel3;    private javax.swing.JPanel mediumPanel4;    private javax.swing.JToggleButton ovalButton;    private javax.swing.JToggleButton pencilButton;    private javax.swing.JToggleButton polygonButton;    private javax.swing.JToggleButton rectButton;    private javax.swing.JButton saveButton;    private javax.swing.JPanel savePanel;    private javax.swing.JPanel sizePanel;    private javax.swing.ButtonGroup toolsGroup;    private javax.swing.JPanel toolsPanel;    private javax.swing.JComboBox weightCombo;    // End of variables declaration//GEN-END:variables    }

⌨️ 快捷键说明

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