📄 appframe.java
字号:
/* * AppFrame.java * * Created on April 29, 2005, 7:19 PM */package flow.graph.gui.graph.item.unit;import java.io.File;import java.io.BufferedReader;import java.io.FileReader;import java.io.FileWriter;import java.io.PrintWriter;import java.awt.*;import java.awt.image.*;import javax.imageio.*;import javax.swing.*;import javax.swing.filechooser.*;import java.util.ArrayList;/** * * @author hysun */public class AppFrame extends javax.swing.JFrame { private FileFilter jdrawFilter = new FileFilter() { public boolean accept(java.io.File f) { if (f.isDirectory()) return true; if (f.getName().endsWith(".jdw")) return true; return false; } public String getDescription() { return "jDraw Model File (*.jdw)"; } }; private FileFilter pngFilter = new FileFilter() { public boolean accept(java.io.File f) { if (f.isDirectory()) return true; if (f.getName().endsWith(".png")) return true; return false; } public String getDescription() { return "PNG image file (*.png)"; } }; private JFileChooser filechooser1, filechooser2; public AppFrame() { initComponents(); } /** 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. */ private void initComponents() {//GEN-BEGIN:initComponents java.awt.GridBagConstraints gridBagConstraints; toolsGroup = new javax.swing.ButtonGroup(); ctrlPanel = new javax.swing.JPanel(); mediumPanel1 = new javax.swing.JPanel(); toolsPanel = new javax.swing.JPanel(); mediumPanel2 = new javax.swing.JPanel(); lineButton = new javax.swing.JToggleButton(); rectButton = new javax.swing.JToggleButton(); ovalButton = new javax.swing.JToggleButton(); diamondButton = new javax.swing.JToggleButton(); pencilButton = new javax.swing.JToggleButton(); eraserButton = new javax.swing.JToggleButton(); polygonButton = new javax.swing.JToggleButton(); clearButton = new javax.swing.JButton(); colorPanel = new javax.swing.JPanel(); fgButton = new javax.swing.JButton(); bgButton = new javax.swing.JButton(); sizePanel = new javax.swing.JPanel(); mediumPanel3 = new javax.swing.JPanel(); weightCombo = new javax.swing.JComboBox(); eraserCombo = new javax.swing.JComboBox(); savePanel = new javax.swing.JPanel(); mediumPanel4 = new javax.swing.JPanel(); loadButton = new javax.swing.JButton(); saveButton = new javax.swing.JButton(); exportButton = new javax.swing.JButton(); copyleft = new javax.swing.JLabel(); board = new DrawingBoard(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Java Drawing Board Application"); ctrlPanel.setLayout(new java.awt.GridBagLayout()); ctrlPanel.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED)); mediumPanel1.setLayout(new javax.swing.BoxLayout(mediumPanel1, javax.swing.BoxLayout.Y_AXIS)); toolsPanel.setBorder(new javax.swing.border.TitledBorder("Drawing Tools")); mediumPanel2.setLayout(new java.awt.GridLayout(4, 2, 5, 5)); toolsGroup.add(lineButton); lineButton.setFont(new java.awt.Font("Dialog", 0, 10)); lineButton.setSelected(true); lineButton.setText("Line"); lineButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lineButtonActionPerformed(evt); } }); mediumPanel2.add(lineButton); toolsGroup.add(rectButton); rectButton.setFont(new java.awt.Font("Dialog", 0, 10)); rectButton.setText("Rect"); rectButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { rectButtonActionPerformed(evt); } }); mediumPanel2.add(rectButton); toolsGroup.add(ovalButton); ovalButton.setFont(new java.awt.Font("Dialog", 0, 10)); ovalButton.setText("Oval"); ovalButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ovalButtonActionPerformed(evt); } }); mediumPanel2.add(ovalButton); toolsGroup.add(diamondButton); diamondButton.setFont(new java.awt.Font("Dialog", 0, 10)); diamondButton.setText("Diamond"); diamondButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { diamondButtonActionPerformed(evt); } }); mediumPanel2.add(diamondButton); toolsGroup.add(pencilButton); pencilButton.setFont(new java.awt.Font("Dialog", 0, 10)); pencilButton.setText("Pencil"); pencilButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { pencilButtonActionPerformed(evt); } }); mediumPanel2.add(pencilButton); toolsGroup.add(eraserButton); eraserButton.setFont(new java.awt.Font("Dialog", 0, 10)); eraserButton.setText("Eraser"); eraserButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { eraserButtonActionPerformed(evt); } }); mediumPanel2.add(eraserButton); toolsGroup.add(polygonButton); polygonButton.setFont(new java.awt.Font("Dialog", 0, 10)); polygonButton.setText("Polygon"); polygonButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { polygonButtonActionPerformed(evt); } }); mediumPanel2.add(polygonButton); clearButton.setFont(new java.awt.Font("Dialog", 1, 10)); clearButton.setText("Clear"); clearButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { clearButtonActionPerformed(evt); } }); mediumPanel2.add(clearButton); toolsPanel.add(mediumPanel2); mediumPanel1.add(toolsPanel); colorPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 20, 10)); colorPanel.setBorder(new javax.swing.border.TitledBorder("Color Settings")); fgButton.setBackground(board.getForeground()); fgButton.setToolTipText("Change Drawing Color"); fgButton.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0))); fgButton.setPreferredSize(new java.awt.Dimension(50, 50)); fgButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { fgButtonActionPerformed(evt); } }); colorPanel.add(fgButton); bgButton.setBackground(board.getBackground()); bgButton.setToolTipText("Change Board Background Color"); bgButton.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0))); bgButton.setPreferredSize(new java.awt.Dimension(50, 50)); bgButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bgButtonActionPerformed(evt); } }); colorPanel.add(bgButton); mediumPanel1.add(colorPanel); sizePanel.setBorder(new javax.swing.border.TitledBorder("Size Setttings")); mediumPanel3.setLayout(new java.awt.BorderLayout(0, 3)); weightCombo.setFont(new java.awt.Font("Dialog", 0, 10)); weightCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Stroke Weight 1.0px", "Stroke Weight 2.0px", "Stroke Weight 5.0px", "Stroke Weight 7.5px", "Stroke Weight 10.0px" })); weightCombo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { weightComboActionPerformed(evt); } }); mediumPanel3.add(weightCombo, java.awt.BorderLayout.NORTH); eraserCombo.setFont(new java.awt.Font("Dialog", 0, 10)); eraserCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Eraser Size 15px", "Eraser Size 20px", "Eraser Size 30px", "Eraser Size 50px", "Eraser Size 100px" })); eraserCombo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { eraserComboActionPerformed(evt); } }); mediumPanel3.add(eraserCombo, java.awt.BorderLayout.SOUTH); sizePanel.add(mediumPanel3); mediumPanel1.add(sizePanel); savePanel.setBorder(new javax.swing.border.TitledBorder("File Utilities"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -