/* * Copyright 2009 Georgios "cyberpython" Migdos cyberpython@gmail.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License * at http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package minijed; import documentcontainer.DocumentContainer; import documentcontainer.DocumentIOManager; import java.awt.Color; import java.awt.Component; import java.awt.Font; import java.awt.GraphicsEnvironment; import java.awt.Point; 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.MouseEvent; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import java.io.UnsupportedEncodingException; import java.util.Arrays; import javax.swing.DefaultListModel; import javax.swing.Timer; import javax.swing.Icon; import javax.swing.JDialog; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextArea; import javax.swing.event.CaretEvent; import javax.swing.event.UndoableEditEvent; import javax.swing.text.Highlighter; import minijava.YourMiniJavaCompiler; import minijed.compiler.infrastructure.MiniJavaCompiler; import minijed.compiler.infrastructure.MiniJavaLexerException; import minijed.compiler.infrastructure.MiniJavaParserException; import minijed.editor.EditorView; import minijed.editor.EditorViewContainer; import minijed.filefilter.MiniJavaFileFilter; /** * The application's main frame. */ public class MiniJedView extends FrameView implements EditorViewContainer, DocumentContainer { private final String applicationTitle = "MiniJed"; private final String KEYWORDS_DEFAULT = "0x002967"; private final String NUMBERS_DEFAULT = "0x016800"; private final String STRINGS_DEFAULT = "0x650067"; private final String OPERATORS_DEFAULT = "0x670001"; private final String COMMENTS_DEFAULT = "0x114e21"; private final String TYPES_DEFAULT = "0x002967"; private final String IDENTIFIERS_DEFAULT = "0x000000"; private final String DEFAULT_TEXT_DEFAULT = "0x000000"; private final Color ERROR_HIGHLIGHT_COLOR = new Color(255, 139, 139); private int newDocumentsCounter; private JFrame frame; private DocumentIOManager ioManager; private EditorView editorView1; private Font editorFont; private String[] editorColors; private Object errorHighlight; private DefaultListModel compilerMessagesModel; private JTextArea tmp; private AppRunner appRunner; public MiniJedView(SingleFrameApplication app) { super(app); preInit(); initComponents(); postInit(); // 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); } } }); } @Action public void showAboutBox() { if (aboutBox == null) { JFrame mainFrame = MiniJedApp.getApplication().getMainFrame(); aboutBox = new MiniJedAboutBox(mainFrame); aboutBox.setLocationRelativeTo(mainFrame); } MiniJedApp.getApplication().show(aboutBox); } private void preInit() { this.getApplication().addExitListener(new ConfirmExit()); this.frame = this.getFrame(); this.newDocumentsCounter = 0; this.errorHighlight = null; this.frame.setTitle(applicationTitle); this.ioManager = new DocumentIOManager(this, null); this.tmp = new JTextArea(); this.compilerMessagesModel = new DefaultListModel(); loadPreferences(); } private void postInit() { this.appRunner = new AppRunner(jEditorPane1); createDocument(); this.jList1.setCellRenderer(new CompilerMessagesListCellRenderer()); this.jList1.setModel(this.compilerMessagesModel); } // <editor-fold defaultstate="collapsed" desc="Settings and preferences"> private void loadPreferences() { loadEditorFont(); loadEditorColors(); } private void loadEditorFont() { editorFont = loadDefaultFont(); } private void loadEditorColors() { this.editorColors = new String[8]; this.editorColors[0] = this.KEYWORDS_DEFAULT; this.editorColors[1] = this.NUMBERS_DEFAULT; this.editorColors[2] = this.STRINGS_DEFAULT; this.editorColors[3] = this.OPERATORS_DEFAULT; this.editorColors[4] = this.COMMENTS_DEFAULT; this.editorColors[5] = this.TYPES_DEFAULT; this.editorColors[6] = this.IDENTIFIERS_DEFAULT; this.editorColors[7] = this.DEFAULT_TEXT_DEFAULT; } private Font loadDefaultFont() { String[] fontsList = {"Liberation Mono", "Courier New"}; final int DEFAULT_SIZE = 14; try { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] familynames = env.getAvailableFontFamilyNames(); Arrays.sort(familynames); int searchResult = 0; int index = 0; int length = fontsList.length; do { searchResult = Arrays.binarySearch(familynames, new String(fontsList[index])); index++; } while ((searchResult < 0) && (index < length)); if (searchResult >= 0) { Font f = new Font(fontsList[index - 1], Font.PLAIN, DEFAULT_SIZE); return f; } else { return new Font("monospaced", Font.PLAIN, DEFAULT_SIZE); } } catch (Exception e) { return new Font("monospaced", Font.PLAIN, DEFAULT_SIZE); } } //</editor-fold> // <editor-fold defaultstate="collapsed" desc="Document I/O"> private void createDocument() { if (this.editorView1 != null) { this.jTabbedPane2.remove(this.editorView1); this.editorView1.setVisible(false); } this.editorView1 = new EditorView(++newDocumentsCounter, this); this.jTabbedPane2.add("Code Editor", this.editorView1); this.editorView1.setVisible(true); this.editorView1.initEditor(this.jPopupMenu1, this.editorFont, this.editorColors); enableDisableUndoRedo(); this.compilerMessagesModel.clear(); } private void createDocument(File f) { if (this.editorView1 != null) { this.jTabbedPane2.remove(this.editorView1); this.editorView1.setVisible(false); } this.editorView1 = new EditorView(f, this); this.jTabbedPane2.add("Code Editor", this.editorView1); this.editorView1.initEditor(this.jPopupMenu1, this.editorFont, this.editorColors); enableDisableUndoRedo(); this.compilerMessagesModel.clear(); } private void insertFile(File f) { if (f != null) { if (editorView1 != null) { try { InputStreamReader reader = new InputStreamReader(new FileInputStream(f), "UTF-8"); StringBuffer buffer = new StringBuffer(); int c = 0; try { while ((c = reader.read()) != -1) { buffer.append((char) c); } } catch (IOException ioe) { } editorView1.insertText(buffer.toString()); } catch (FileNotFoundException fnfe) { } catch (UnsupportedEncodingException uee) { } } } } public void createNew() { try { ioManager.createNew(frame, new MiniJavaFileFilter()); } catch (IOException ioe) { } } public void open() { try { ioManager.open(frame, new MiniJavaFileFilter()); } catch (IOException ioe) { } } public void open(File f) { try { ioManager.open(frame, f, new MiniJavaFileFilter()); } catch (IOException ioe) { } } public boolean save() { try { return ioManager.save(frame, new MiniJavaFileFilter()); } catch (IOException ioe) { return false; } } public boolean saveAs() { try { return ioManager.saveAs(frame, new MiniJavaFileFilter()); } catch (IOException ioe) { return false; } } //</editor-fold> // <editor-fold defaultstate="collapsed" desc="Document editing"> public void undo() { editorView1.undo(); enableDisableUndoRedo(); } public void redo() { editorView1.redo(); enableDisableUndoRedo(); } public void cut() { editorView1.cut(); } public void copy() { editorView1.copy(); } public void paste() { editorView1.paste(); } public void deleteSelection() { editorView1.deleteSelection(); } public void selectAll() { editorView1.selectAll(); } //</editor-fold> // <editor-fold defaultstate="collapsed" desc="GUI updating"> private void enableDisableUndoRedo() { if (editorView1 != null) { boolean canUndo = editorView1.canUndo(); boolean canRedo = editorView1.canRedo(); jButton5.setEnabled(canUndo); jMenuItem6.setEnabled(canUndo); jMenuItem14.setEnabled(canUndo); jButton6.setEnabled(canRedo); jMenuItem7.setEnabled(canRedo); jMenuItem15.setEnabled(canRedo); } } private void enableUndoControls() { if (editorView1 != null) { boolean canUndo = true; jButton5.setEnabled(canUndo); jMenuItem6.setEnabled(canUndo); jMenuItem14.setEnabled(canUndo); } } private void enableDisableTextManipulation() { if (editorView1 != null) { String selectedText = editorView1.getSelectedText(); boolean textIsSelected; if (selectedText != null) { textIsSelected = (selectedText.length() > 0); } else { textIsSelected = false; } jButton7.setEnabled(textIsSelected); jButton8.setEnabled(textIsSelected); jMenuItem8.setEnabled(textIsSelected); jMenuItem9.setEnabled(textIsSelected); jMenuItem16.setEnabled(textIsSelected); jMenuItem17.setEnabled(textIsSelected); } } private void enableDisableSave() { if (editorView1 != null) { boolean canSave = editorView1.isModified(); jButton3.setEnabled(canSave); jMenuItem3.setEnabled(canSave); } } private void updatePositionLabel(int caretX, int caretY) { this.statusMessageLabel.setText("Line " + caretY + ", Char. " + caretX); } //</editor-fold> // <editor-fold defaultstate="collapsed" desc="GUI Dialogs management"> public void showHelpContents() { /* java.awt.Desktop desktop = java.awt.Desktop.getDesktop(); try{ URI a = this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI(); File f = new File(a); String cp = f.getParentFile().getCanonicalPath(); System.out.println(cp); File f2 = new File(cp+File.separator+"help"+File.separator+"index.html"); desktop.open(f2); }catch(Exception e){ System.err.println(e.toString()); } */ } //</editor-fold> // <editor-fold defaultstate="collapsed" desc="EditorViewContainer implementation"> public void notifyDocumentModified(String title, boolean modified) { frame.setTitle(applicationTitle + " - " + title); if (modified) { //statusMessageLabel.setText("Modified"); } else { //statusMessageLabel.setText(""); } enableDisableUndoRedo(); enableDisableSave(); removeErrorHighlight(); } public void notifyCaretChanged(CaretEvent e) { enableDisableTextManipulation(); Point p = editorView1.getCaretPosition(); updatePositionLabel(p.x + 1, p.y + 1); } public void notifyFirstUndoableEditHappened(UndoableEditEvent evt) { enableUndoControls(); } //</editor-fold> // <editor-fold defaultstate="collapsed" desc="DocumentContainer implementation"> public boolean isCurrentDocModified() { return this.editorView1.isModified(); } public void setCurrentDocModified(boolean modified) { this.editorView1.setModified(modified); } public boolean isCurrentDocNew() { return this.editorView1.isNewFile(); } public File getCurrentDocFile() { return this.editorView1.getFile(); } public String getCurrentDocTitle() { return this.editorView1.getTitle(); } public boolean saveDocument(File output) { return this.editorView1.saveFile(output); } public boolean openDocument(File input) { this.createDocument(input); return true; } public boolean newDocument() { this.createDocument(); return true; } public void recentlyAccessedFilesChanged() { } // </editor-fold> // <editor-fold defaultstate="collapsed" desc="Application exit event handling"> class ConfirmExit implements org.jdesktop.application.Application.ExitListener { public boolean canExit(java.util.EventObject e) { Object source = (e != null) ? e.getSource() : null; Component owner = (source instanceof Component) ? (Component) source : null; return queryCloseApp(); } public void willExit(java.util.EventObject e) { } } public boolean queryCloseApp() { if (this.editorView1.isModified()) { int res = ioManager.showModifiedWarning(frame, this.editorView1.getTitle()); if (res == JOptionPane.YES_OPTION) { if (save()) { return true; } return false; } else if (res == JOptionPane.NO_OPTION) { return true; } else { return false; } } else { return true; } } //</editor-fold> // <editor-fold defaultstate="collapsed" desc="Printing"> public void print() { this.editorView1.print(); } //</editor-fold> // <editor-fold defaultstate="collapsed" desc="Compile/Run related"> public void run() { if(this.appRunner.isIdle()){ if (this.compile()) { String srcPath = this.getCurrentDocFile().getAbsolutePath(); int extPosition = srcPath.lastIndexOf("."); String targetPath = srcPath.substring(0, extPosition) + ".class"; File targetFile = new File(targetPath); if (targetFile.isFile()) { this.execute(); } } } } private void showRuntimeWindow() { this.jTabbedPane1.setSelectedIndex(1); this.getFrame().repaint(); } private void execute() { showRuntimeWindow(); File src = this.getCurrentDocFile(); File srcDir = src.getParentFile(); String fname = src.getName(); int extPosition = fname.lastIndexOf("."); String target = fname.substring(0, extPosition); String cmd = "java " + target; appRunner = new AppRunner(jEditorPane1); appRunner.setParams(cmd, srcDir); appRunner.start(); } public boolean compile() { if (save()) { removeErrorHighlight(); this.compilerMessagesModel.clear(); this.jTabbedPane1.setSelectedIndex(0); MiniJavaCompiler compiler = new YourMiniJavaCompiler(); try { this.compilerMessagesModel.addElement(new CompilerMessage("Compiling...")); compiler.compile(new StringReader(this.editorView1.getEditorPane().getText()), this.compilerMessagesModel, this.getCurrentDocFile().getParentFile()); this.compilerMessagesModel.addElement(new CompilerSuccessMessage("Done.")); return true; } catch (MiniJavaLexerException le) { this.compilerMessagesModel.addElement(new CompilerErrorMessage(le.getMessage())); return false; } catch (MiniJavaParserException pe) { int pos = pe.getToken().getPos() - 1; this.compilerMessagesModel.addElement(new CompilerErrorMessage(pe.getToken().getLine(), pos, pos + pe.getToken().getText().length(), pe.getMessage())); return false; } catch (IOException ioe) { this.compilerMessagesModel.addElement(new CompilerErrorMessage(ioe.toString())); return false; } } return false; } public int setErrorHighlight(int line) { removeErrorHighlight(); this.tmp.setText(this.editorView1.getEditorPane().getText()); try { int start = tmp.getLineStartOffset(line - 1); int end = tmp.getLineEndOffset(line - 1); this.errorHighlight = this.editorView1.highlight(start, end, this.ERROR_HIGHLIGHT_COLOR); return start; } catch (Exception e) { return -1; } } public void removeErrorHighlight() { if ((this.editorView1 != null) && (this.errorHighlight != null)) { Highlighter h = this.editorView1.getEditorPane().getHighlighter(); h.removeHighlight(this.errorHighlight); } } public void hilightError(int index) { if (index > -1) { removeErrorHighlight(); Object o = jList1.getModel().getElementAt(index); if (o instanceof CompilerMessage) { CompilerMessage msg = (CompilerMessage) o; int line = msg.getLine(); int start = msg.getStart(); int end = msg.getEnd(); int lineOffset = -1; System.out.println(line); if (line != -1) { lineOffset = setErrorHighlight(line); } if ((start != -1) && (lineOffset != -1)) { JEditorPane editor = this.editorView1.getEditorPane(); int pos = start + lineOffset; editor.setSelectionStart(pos); editor.setSelectionEnd(pos); editor.requestFocus(); } } } } //</editor-fold> public void exit() { this.getApplication().exit(); } /** 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. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { mainPanel = new javax.swing.JPanel(); jToolBar1 = new javax.swing.JToolBar(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jSeparator1 = new javax.swing.JToolBar.Separator(); jButton4 = new javax.swing.JButton(); jSeparator2 = new javax.swing.JToolBar.Separator(); jButton5 = new javax.swing.JButton(); jButton6 = new javax.swing.JButton(); jSeparator3 = new javax.swing.JToolBar.Separator(); jButton7 = new javax.swing.JButton(); jButton8 = new javax.swing.JButton(); jButton9 = new javax.swing.JButton(); jSeparator4 = new javax.swing.JToolBar.Separator(); jButton11 = new javax.swing.JButton(); jButton12 = new javax.swing.JButton(); jSeparator11 = new javax.swing.JToolBar.Separator(); jButton10 = new javax.swing.JButton(); jSplitPane1 = new javax.swing.JSplitPane(); jPanel1 = new javax.swing.JPanel(); jTabbedPane2 = new javax.swing.JTabbedPane(); jPanel2 = new javax.swing.JPanel(); jTabbedPane1 = new javax.swing.JTabbedPane(); jScrollPane1 = new javax.swing.JScrollPane(); jList1 = new javax.swing.JList(); jScrollPane2 = new javax.swing.JScrollPane(); jEditorPane1 = new javax.swing.JEditorPane(); menuBar = new javax.swing.JMenuBar(); javax.swing.JMenu fileMenu = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); jMenuItem2 = new javax.swing.JMenuItem(); jMenuItem3 = new javax.swing.JMenuItem(); jMenuItem4 = new javax.swing.JMenuItem(); jSeparator5 = new javax.swing.JSeparator(); jMenuItem5 = new javax.swing.JMenuItem(); jSeparator6 = new javax.swing.JSeparator(); javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem(); jMenu1 = new javax.swing.JMenu(); jMenuItem6 = new javax.swing.JMenuItem(); jMenuItem7 = new javax.swing.JMenuItem(); jSeparator7 = new javax.swing.JSeparator(); jMenuItem8 = new javax.swing.JMenuItem(); jMenuItem9 = new javax.swing.JMenuItem(); jMenuItem10 = new javax.swing.JMenuItem(); jSeparator8 = new javax.swing.JSeparator(); jMenuItem11 = new javax.swing.JMenuItem(); jMenuItem12 = new javax.swing.JMenuItem(); jMenuItem13 = new javax.swing.JMenuItem(); jMenu2 = new javax.swing.JMenu(); jMenuItem21 = new javax.swing.JMenuItem(); jMenuItem22 = 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(); jPopupMenu1 = new javax.swing.JPopupMenu(); jMenuItem14 = new javax.swing.JMenuItem(); jMenuItem15 = new javax.swing.JMenuItem(); jSeparator9 = new javax.swing.JSeparator(); jMenuItem16 = new javax.swing.JMenuItem(); jMenuItem17 = new javax.swing.JMenuItem(); jMenuItem18 = new javax.swing.JMenuItem(); jSeparator10 = new javax.swing.JSeparator(); jMenuItem19 = new javax.swing.JMenuItem(); jMenuItem20 = new javax.swing.JMenuItem(); mainPanel.setName("mainPanel"); // NOI18N jToolBar1.setFloatable(false); jToolBar1.setRollover(true); jToolBar1.setName("jToolBar1"); // NOI18N org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(minijed.MiniJedApp.class).getContext().getResourceMap(MiniJedView.class); jButton1.setIcon(resourceMap.getIcon("jButton1.icon")); // NOI18N jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N jButton1.setToolTipText(resourceMap.getString("jButton1.toolTipText")); // NOI18N jButton1.setFocusable(false); jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton1.setName("jButton1"); // NOI18N jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jToolBar1.add(jButton1); jButton2.setIcon(resourceMap.getIcon("jButton2.icon")); // NOI18N jButton2.setText(resourceMap.getString("jButton2.text")); // NOI18N jButton2.setToolTipText(resourceMap.getString("jButton2.toolTipText")); // NOI18N jButton2.setFocusable(false); jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton2.setName("jButton2"); // NOI18N jButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); jToolBar1.add(jButton2); jButton3.setIcon(resourceMap.getIcon("jButton3.icon")); // NOI18N jButton3.setText(resourceMap.getString("jButton3.text")); // NOI18N jButton3.setToolTipText(resourceMap.getString("jButton3.toolTipText")); // NOI18N jButton3.setEnabled(false); jButton3.setFocusable(false); jButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton3.setName("jButton3"); // NOI18N jButton3.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt); } }); jToolBar1.add(jButton3); jSeparator1.setName("jSeparator1"); // NOI18N jToolBar1.add(jSeparator1); jButton4.setIcon(resourceMap.getIcon("jButton4.icon")); // NOI18N jButton4.setText(resourceMap.getString("jButton4.text")); // NOI18N jButton4.setToolTipText(resourceMap.getString("jButton4.toolTipText")); // NOI18N jButton4.setFocusable(false); jButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton4.setName("jButton4"); // NOI18N jButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton4ActionPerformed(evt); } }); jToolBar1.add(jButton4); jSeparator2.setName("jSeparator2"); // NOI18N jToolBar1.add(jSeparator2); jButton5.setIcon(resourceMap.getIcon("jButton5.icon")); // NOI18N jButton5.setText(resourceMap.getString("jButton5.text")); // NOI18N jButton5.setToolTipText(resourceMap.getString("jButton5.toolTipText")); // NOI18N jButton5.setEnabled(false); jButton5.setFocusable(false); jButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton5.setName("jButton5"); // NOI18N jButton5.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton5ActionPerformed(evt); } }); jToolBar1.add(jButton5); jButton6.setIcon(resourceMap.getIcon("jButton6.icon")); // NOI18N jButton6.setText(resourceMap.getString("jButton6.text")); // NOI18N jButton6.setToolTipText(resourceMap.getString("jButton6.toolTipText")); // NOI18N jButton6.setEnabled(false); jButton6.setFocusable(false); jButton6.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton6.setName("jButton6"); // NOI18N jButton6.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton6ActionPerformed(evt); } }); jToolBar1.add(jButton6); jSeparator3.setName("jSeparator3"); // NOI18N jToolBar1.add(jSeparator3); jButton7.setIcon(resourceMap.getIcon("jButton7.icon")); // NOI18N jButton7.setText(resourceMap.getString("jButton7.text")); // NOI18N jButton7.setToolTipText(resourceMap.getString("jButton7.toolTipText")); // NOI18N jButton7.setEnabled(false); jButton7.setFocusable(false); jButton7.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton7.setName("jButton7"); // NOI18N jButton7.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton7ActionPerformed(evt); } }); jToolBar1.add(jButton7); jButton8.setIcon(resourceMap.getIcon("jButton8.icon")); // NOI18N jButton8.setText(resourceMap.getString("jButton8.text")); // NOI18N jButton8.setToolTipText(resourceMap.getString("jButton8.toolTipText")); // NOI18N jButton8.setEnabled(false); jButton8.setFocusable(false); jButton8.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton8.setName("jButton8"); // NOI18N jButton8.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton8.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton8ActionPerformed(evt); } }); jToolBar1.add(jButton8); jButton9.setIcon(resourceMap.getIcon("jButton9.icon")); // NOI18N jButton9.setText(resourceMap.getString("jButton9.text")); // NOI18N jButton9.setToolTipText(resourceMap.getString("jButton9.toolTipText")); // NOI18N jButton9.setFocusable(false); jButton9.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton9.setName("jButton9"); // NOI18N jButton9.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton9.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton9ActionPerformed(evt); } }); jToolBar1.add(jButton9); jSeparator4.setName("jSeparator4"); // NOI18N jToolBar1.add(jSeparator4); jButton11.setIcon(resourceMap.getIcon("jButton11.icon")); // NOI18N jButton11.setText(resourceMap.getString("jButton11.text")); // NOI18N jButton11.setToolTipText(resourceMap.getString("jButton11.toolTipText")); // NOI18N jButton11.setFocusable(false); jButton11.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton11.setName("jButton11"); // NOI18N jButton11.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton11.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton11ActionPerformed(evt); } }); jToolBar1.add(jButton11); jButton12.setIcon(resourceMap.getIcon("jButton12.icon")); // NOI18N jButton12.setText(resourceMap.getString("jButton12.text")); // NOI18N jButton12.setFocusable(false); jButton12.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton12.setName("jButton12"); // NOI18N jButton12.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton12.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton12ActionPerformed(evt); } }); jToolBar1.add(jButton12); jSeparator11.setName("jSeparator11"); // NOI18N jToolBar1.add(jSeparator11); javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(minijed.MiniJedApp.class).getContext().getActionMap(MiniJedView.class, this); jButton10.setAction(actionMap.get("showAboutBox")); // NOI18N jButton10.setIcon(resourceMap.getIcon("jButton10.icon")); // NOI18N jButton10.setText(resourceMap.getString("jButton10.text")); // NOI18N jButton10.setToolTipText(resourceMap.getString("jButton10.toolTipText")); // NOI18N jButton10.setFocusable(false); jButton10.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton10.setName("jButton10"); // NOI18N jButton10.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton10.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton10ActionPerformed(evt); } }); jToolBar1.add(jButton10); jSplitPane1.setDividerLocation(300); jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT); jSplitPane1.setResizeWeight(1.0); jSplitPane1.setContinuousLayout(true); jSplitPane1.setDoubleBuffered(true); jSplitPane1.setName("jSplitPane1"); // NOI18N jPanel1.setName("jPanel1"); // NOI18N jTabbedPane2.setName("jTabbedPane2"); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 679, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE) ); jSplitPane1.setTopComponent(jPanel1); jPanel2.setName("jPanel2"); // NOI18N jTabbedPane1.setName("jTabbedPane1"); // NOI18N jScrollPane1.setName("jScrollPane1"); // NOI18N jList1.setBackground(resourceMap.getColor("jList1.background")); // NOI18N jList1.setName("jList1"); // NOI18N jList1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jList1MouseClicked(evt); } }); jScrollPane1.setViewportView(jList1); jTabbedPane1.addTab(resourceMap.getString("jScrollPane1.TabConstraints.tabTitle"), jScrollPane1); // NOI18N jScrollPane2.setName("jScrollPane2"); // NOI18N jEditorPane1.setContentType(resourceMap.getString("jEditorPane1.contentType")); // NOI18N jEditorPane1.setText(resourceMap.getString("jEditorPane1.text")); // NOI18N jEditorPane1.setName("jEditorPane1"); // NOI18N jScrollPane2.setViewportView(jEditorPane1); jTabbedPane1.addTab(resourceMap.getString("jScrollPane2.TabConstraints.tabTitle"), jScrollPane2); // NOI18N javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 679, Short.MAX_VALUE) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE) ); jSplitPane1.setRightComponent(jPanel2); javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); mainPanel.setLayout(mainPanelLayout); mainPanelLayout.setHorizontalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 679, Short.MAX_VALUE) .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 679, Short.MAX_VALUE) ); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 404, Short.MAX_VALUE)) ); menuBar.setName("menuBar"); // NOI18N fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N fileMenu.setName("fileMenu"); // NOI18N jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem1.setIcon(resourceMap.getIcon("jMenuItem1.icon")); // NOI18N jMenuItem1.setText(resourceMap.getString("jMenuItem1.text")); // NOI18N jMenuItem1.setName("jMenuItem1"); // NOI18N jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem1ActionPerformed(evt); } }); fileMenu.add(jMenuItem1); jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem2.setIcon(resourceMap.getIcon("jMenuItem2.icon")); // 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); jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem3.setIcon(resourceMap.getIcon("jMenuItem3.icon")); // NOI18N jMenuItem3.setText(resourceMap.getString("jMenuItem3.text")); // NOI18N jMenuItem3.setName("jMenuItem3"); // NOI18N jMenuItem3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem3ActionPerformed(evt); } }); fileMenu.add(jMenuItem3); jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK)); jMenuItem4.setIcon(resourceMap.getIcon("jMenuItem4.icon")); // NOI18N jMenuItem4.setText(resourceMap.getString("jMenuItem4.text")); // NOI18N jMenuItem4.setName("jMenuItem4"); // NOI18N jMenuItem4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem4ActionPerformed(evt); } }); fileMenu.add(jMenuItem4); jSeparator5.setName("jSeparator5"); // NOI18N fileMenu.add(jSeparator5); jMenuItem5.setIcon(resourceMap.getIcon("jMenuItem5.icon")); // NOI18N jMenuItem5.setText(resourceMap.getString("jMenuItem5.text")); // NOI18N jMenuItem5.setName("jMenuItem5"); // NOI18N jMenuItem5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem5ActionPerformed(evt); } }); fileMenu.add(jMenuItem5); jSeparator6.setName("jSeparator6"); // NOI18N fileMenu.add(jSeparator6); exitMenuItem.setAction(actionMap.get("quit")); // NOI18N exitMenuItem.setIcon(resourceMap.getIcon("exitMenuItem.icon")); // NOI18N exitMenuItem.setName("exitMenuItem"); // NOI18N exitMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { exitMenuItemActionPerformed(evt); } }); fileMenu.add(exitMenuItem); menuBar.add(fileMenu); jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N jMenu1.setName("jMenu1"); // NOI18N jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem6.setIcon(resourceMap.getIcon("jMenuItem6.icon")); // NOI18N jMenuItem6.setText(resourceMap.getString("jMenuItem6.text")); // NOI18N jMenuItem6.setName("jMenuItem6"); // NOI18N jMenuItem6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem6ActionPerformed(evt); } }); jMenu1.add(jMenuItem6); jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Y, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem7.setIcon(resourceMap.getIcon("jMenuItem7.icon")); // NOI18N jMenuItem7.setText(resourceMap.getString("jMenuItem7.text")); // NOI18N jMenuItem7.setName("jMenuItem7"); // NOI18N jMenuItem7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem7ActionPerformed(evt); } }); jMenu1.add(jMenuItem7); jSeparator7.setName("jSeparator7"); // NOI18N jMenu1.add(jSeparator7); jMenuItem8.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem8.setIcon(resourceMap.getIcon("jMenuItem8.icon")); // NOI18N jMenuItem8.setText(resourceMap.getString("jMenuItem8.text")); // NOI18N jMenuItem8.setName("jMenuItem8"); // NOI18N jMenuItem8.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem8ActionPerformed(evt); } }); jMenu1.add(jMenuItem8); jMenuItem9.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem9.setIcon(resourceMap.getIcon("jMenuItem9.icon")); // NOI18N jMenuItem9.setText(resourceMap.getString("jMenuItem9.text")); // NOI18N jMenuItem9.setName("jMenuItem9"); // NOI18N jMenuItem9.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem9ActionPerformed(evt); } }); jMenu1.add(jMenuItem9); jMenuItem10.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem10.setIcon(resourceMap.getIcon("jMenuItem10.icon")); // NOI18N jMenuItem10.setText(resourceMap.getString("jMenuItem10.text")); // NOI18N jMenuItem10.setName("jMenuItem10"); // NOI18N jMenuItem10.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem10ActionPerformed(evt); } }); jMenu1.add(jMenuItem10); jSeparator8.setName("jSeparator8"); // NOI18N jMenu1.add(jSeparator8); jMenuItem11.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem11.setIcon(resourceMap.getIcon("jMenuItem11.icon")); // NOI18N jMenuItem11.setText(resourceMap.getString("jMenuItem11.text")); // NOI18N jMenuItem11.setName("jMenuItem11"); // NOI18N jMenuItem11.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem11ActionPerformed(evt); } }); jMenu1.add(jMenuItem11); jMenuItem12.setIcon(resourceMap.getIcon("jMenuItem12.icon")); // NOI18N jMenuItem12.setText(resourceMap.getString("jMenuItem12.text")); // NOI18N jMenuItem12.setName("jMenuItem12"); // NOI18N jMenuItem12.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem12ActionPerformed(evt); } }); jMenu1.add(jMenuItem12); jMenuItem13.setIcon(resourceMap.getIcon("jMenuItem13.icon")); // NOI18N jMenuItem13.setText(resourceMap.getString("jMenuItem13.text")); // NOI18N jMenuItem13.setName("jMenuItem13"); // NOI18N jMenuItem13.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem13ActionPerformed(evt); } }); jMenu1.add(jMenuItem13); menuBar.add(jMenu1); jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N jMenu2.setName("jMenu2"); // NOI18N jMenuItem21.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK)); jMenuItem21.setIcon(resourceMap.getIcon("jMenuItem21.icon")); // NOI18N jMenuItem21.setText(resourceMap.getString("jMenuItem21.text")); // NOI18N jMenuItem21.setName("jMenuItem21"); // NOI18N jMenuItem21.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem21ActionPerformed(evt); } }); jMenu2.add(jMenuItem21); jMenuItem22.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.ALT_MASK)); jMenuItem22.setIcon(resourceMap.getIcon("jMenuItem22.icon")); // NOI18N jMenuItem22.setText(resourceMap.getString("jMenuItem22.text")); // NOI18N jMenuItem22.setName("jMenuItem22"); // NOI18N jMenuItem22.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem22ActionPerformed(evt); } }); jMenu2.add(jMenuItem22); menuBar.add(jMenu2); helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N helpMenu.setName("helpMenu"); // NOI18N aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N aboutMenuItem.setIcon(resourceMap.getIcon("aboutMenuItem.icon")); // NOI18N aboutMenuItem.setName("aboutMenuItem"); // NOI18N helpMenu.add(aboutMenuItem); menuBar.add(helpMenu); statusPanel.setName("statusPanel"); // NOI18N statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N statusMessageLabel.setName("statusMessageLabel"); // NOI18N statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N progressBar.setName("progressBar"); // NOI18N javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel); statusPanel.setLayout(statusPanelLayout); statusPanelLayout.setHorizontalGroup( statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 679, Short.MAX_VALUE) .addGroup(statusPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(statusMessageLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 497, Short.MAX_VALUE) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(statusAnimationLabel) .addContainerGap()) ); statusPanelLayout.setVerticalGroup( statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(statusPanelLayout.createSequentialGroup() .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(statusMessageLabel) .addComponent(statusAnimationLabel) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(3, 3, 3)) ); jPopupMenu1.setName("jPopupMenu1"); // NOI18N jMenuItem14.setIcon(resourceMap.getIcon("jMenuItem14.icon")); // NOI18N jMenuItem14.setText(resourceMap.getString("jMenuItem14.text")); // NOI18N jMenuItem14.setName("jMenuItem14"); // NOI18N jMenuItem14.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem14ActionPerformed(evt); } }); jPopupMenu1.add(jMenuItem14); jMenuItem15.setIcon(resourceMap.getIcon("jMenuItem15.icon")); // NOI18N jMenuItem15.setText(resourceMap.getString("jMenuItem15.text")); // NOI18N jMenuItem15.setName("jMenuItem15"); // NOI18N jMenuItem15.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem15ActionPerformed(evt); } }); jPopupMenu1.add(jMenuItem15); jSeparator9.setName("jSeparator9"); // NOI18N jPopupMenu1.add(jSeparator9); jMenuItem16.setIcon(resourceMap.getIcon("jMenuItem16.icon")); // NOI18N jMenuItem16.setText(resourceMap.getString("jMenuItem16.text")); // NOI18N jMenuItem16.setName("jMenuItem16"); // NOI18N jMenuItem16.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem16ActionPerformed(evt); } }); jPopupMenu1.add(jMenuItem16); jMenuItem17.setIcon(resourceMap.getIcon("jMenuItem17.icon")); // NOI18N jMenuItem17.setText(resourceMap.getString("jMenuItem17.text")); // NOI18N jMenuItem17.setName("jMenuItem17"); // NOI18N jMenuItem17.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem17ActionPerformed(evt); } }); jPopupMenu1.add(jMenuItem17); jMenuItem18.setIcon(resourceMap.getIcon("jMenuItem18.icon")); // NOI18N jMenuItem18.setText(resourceMap.getString("jMenuItem18.text")); // NOI18N jMenuItem18.setName("jMenuItem18"); // NOI18N jMenuItem18.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem18ActionPerformed(evt); } }); jPopupMenu1.add(jMenuItem18); jSeparator10.setName("jSeparator10"); // NOI18N jPopupMenu1.add(jSeparator10); jMenuItem19.setIcon(resourceMap.getIcon("jMenuItem19.icon")); // NOI18N jMenuItem19.setText(resourceMap.getString("jMenuItem19.text")); // NOI18N jMenuItem19.setName("jMenuItem19"); // NOI18N jMenuItem19.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem19ActionPerformed(evt); } }); jPopupMenu1.add(jMenuItem19); jMenuItem20.setIcon(resourceMap.getIcon("jMenuItem20.icon")); // NOI18N jMenuItem20.setText(resourceMap.getString("jMenuItem20.text")); // NOI18N jMenuItem20.setName("jMenuItem20"); // NOI18N jMenuItem20.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem20ActionPerformed(evt); } }); jPopupMenu1.add(jMenuItem20); setComponent(mainPanel); setMenuBar(menuBar); setStatusBar(statusPanel); }// </editor-fold>//GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed if (jButton1.isEnabled()) { this.createNew(); } }//GEN-LAST:event_jButton1ActionPerformed private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed if (jButton2.isEnabled()) { this.open(); } }//GEN-LAST:event_jButton2ActionPerformed private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed if (jButton3.isEnabled()) { this.save(); } }//GEN-LAST:event_jButton3ActionPerformed private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed if (jButton4.isEnabled()) { this.print(); } }//GEN-LAST:event_jButton4ActionPerformed private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed if (jButton5.isEnabled()) { this.undo(); } }//GEN-LAST:event_jButton5ActionPerformed private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed if (jButton6.isEnabled()) { this.redo(); } }//GEN-LAST:event_jButton6ActionPerformed private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed if (jButton7.isEnabled()) { this.cut(); } }//GEN-LAST:event_jButton7ActionPerformed private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton8ActionPerformed if (jButton8.isEnabled()) { this.copy(); } }//GEN-LAST:event_jButton8ActionPerformed private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton9ActionPerformed if (jButton9.isEnabled()) { this.paste(); } }//GEN-LAST:event_jButton9ActionPerformed private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton10ActionPerformed }//GEN-LAST:event_jButton10ActionPerformed private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed if (jMenuItem1.isEnabled()) { createNew(); } }//GEN-LAST:event_jMenuItem1ActionPerformed private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed if (jMenuItem2.isEnabled()) { open(); } }//GEN-LAST:event_jMenuItem2ActionPerformed private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed if (jMenuItem3.isEnabled()) { save(); } }//GEN-LAST:event_jMenuItem3ActionPerformed private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed if (jMenuItem4.isEnabled()) { saveAs(); } }//GEN-LAST:event_jMenuItem4ActionPerformed private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed }//GEN-LAST:event_exitMenuItemActionPerformed private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed if (jMenuItem6.isEnabled()) { undo(); } }//GEN-LAST:event_jMenuItem6ActionPerformed private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed if (jMenuItem7.isEnabled()) { redo(); } }//GEN-LAST:event_jMenuItem7ActionPerformed private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed if (jMenuItem8.isEnabled()) { cut(); } }//GEN-LAST:event_jMenuItem8ActionPerformed private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem9ActionPerformed if (jMenuItem9.isEnabled()) { copy(); } }//GEN-LAST:event_jMenuItem9ActionPerformed private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem10ActionPerformed if (jMenuItem10.isEnabled()) { paste(); } }//GEN-LAST:event_jMenuItem10ActionPerformed private void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem11ActionPerformed if (jMenuItem11.isEnabled()) { selectAll(); } }//GEN-LAST:event_jMenuItem11ActionPerformed private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem12ActionPerformed if (jMenuItem12.isEnabled()) { deleteSelection(); } }//GEN-LAST:event_jMenuItem12ActionPerformed private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem13ActionPerformed if (jMenuItem13.isEnabled()) { selectAll(); deleteSelection(); } }//GEN-LAST:event_jMenuItem13ActionPerformed private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem14ActionPerformed if (jMenuItem14.isEnabled()) { undo(); } }//GEN-LAST:event_jMenuItem14ActionPerformed private void jMenuItem15ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem15ActionPerformed if (jMenuItem15.isEnabled()) { redo(); } }//GEN-LAST:event_jMenuItem15ActionPerformed private void jMenuItem16ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem16ActionPerformed if (jMenuItem16.isEnabled()) { cut(); } }//GEN-LAST:event_jMenuItem16ActionPerformed private void jMenuItem17ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem17ActionPerformed if (jMenuItem17.isEnabled()) { copy(); } }//GEN-LAST:event_jMenuItem17ActionPerformed private void jMenuItem18ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem18ActionPerformed if (jMenuItem18.isEnabled()) { paste(); } }//GEN-LAST:event_jMenuItem18ActionPerformed private void jMenuItem19ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem19ActionPerformed if (jMenuItem19.isEnabled()) { selectAll(); } }//GEN-LAST:event_jMenuItem19ActionPerformed private void jMenuItem20ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem20ActionPerformed if (jMenuItem20.isEnabled()) { deleteSelection(); } }//GEN-LAST:event_jMenuItem20ActionPerformed private void jMenuItem21ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem21ActionPerformed if (jMenuItem21.isEnabled()) { compile(); } }//GEN-LAST:event_jMenuItem21ActionPerformed private void jList1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jList1MouseClicked if ((evt.getClickCount() == 2) && (evt.getButton() == MouseEvent.BUTTON1)) { hilightError(jList1.getSelectedIndex()); } }//GEN-LAST:event_jList1MouseClicked private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton11ActionPerformed if (jButton11.isEnabled()) { compile(); } }//GEN-LAST:event_jButton11ActionPerformed private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed if (jMenuItem5.isEnabled()) { this.print(); } }//GEN-LAST:event_jMenuItem5ActionPerformed private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton12ActionPerformed this.run(); }//GEN-LAST:event_jButton12ActionPerformed private void jMenuItem22ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem22ActionPerformed this.run(); }//GEN-LAST:event_jMenuItem22ActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton10; private javax.swing.JButton jButton11; private javax.swing.JButton jButton12; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JButton jButton6; private javax.swing.JButton jButton7; private javax.swing.JButton jButton8; private javax.swing.JButton jButton9; private javax.swing.JEditorPane jEditorPane1; private javax.swing.JList jList1; private javax.swing.JMenu jMenu1; private javax.swing.JMenu jMenu2; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JMenuItem jMenuItem10; private javax.swing.JMenuItem jMenuItem11; private javax.swing.JMenuItem jMenuItem12; private javax.swing.JMenuItem jMenuItem13; private javax.swing.JMenuItem jMenuItem14; private javax.swing.JMenuItem jMenuItem15; private javax.swing.JMenuItem jMenuItem16; private javax.swing.JMenuItem jMenuItem17; private javax.swing.JMenuItem jMenuItem18; private javax.swing.JMenuItem jMenuItem19; private javax.swing.JMenuItem jMenuItem2; private javax.swing.JMenuItem jMenuItem20; private javax.swing.JMenuItem jMenuItem21; private javax.swing.JMenuItem jMenuItem22; private javax.swing.JMenuItem jMenuItem3; private javax.swing.JMenuItem jMenuItem4; private javax.swing.JMenuItem jMenuItem5; private javax.swing.JMenuItem jMenuItem6; private javax.swing.JMenuItem jMenuItem7; private javax.swing.JMenuItem jMenuItem8; private javax.swing.JMenuItem jMenuItem9; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPopupMenu jPopupMenu1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JToolBar.Separator jSeparator1; private javax.swing.JSeparator jSeparator10; private javax.swing.JToolBar.Separator jSeparator11; private javax.swing.JToolBar.Separator jSeparator2; private javax.swing.JToolBar.Separator jSeparator3; private javax.swing.JToolBar.Separator jSeparator4; private javax.swing.JSeparator jSeparator5; private javax.swing.JSeparator jSeparator6; private javax.swing.JSeparator jSeparator7; private javax.swing.JSeparator jSeparator8; private javax.swing.JSeparator jSeparator9; private javax.swing.JSplitPane jSplitPane1; private javax.swing.JTabbedPane jTabbedPane1; private javax.swing.JTabbedPane jTabbedPane2; private javax.swing.JToolBar jToolBar1; private javax.swing.JPanel mainPanel; private javax.swing.JMenuBar menuBar; private javax.swing.JProgressBar progressBar; private javax.swing.JLabel statusAnimationLabel; private javax.swing.JLabel statusMessageLabel; private javax.swing.JPanel statusPanel; // End of variables declaration//GEN-END:variables private final Timer messageTimer; private final Timer busyIconTimer; private final Icon idleIcon; private final Icon[] busyIcons = new Icon[15]; private int busyIconIndex = 0; private JDialog aboutBox; }