Search in sources :

Example 91 with JTableHeader

use of javax.swing.table.JTableHeader in project jc64 by ice00.

the class JDisassemblerFrame method 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.
 */
@SuppressWarnings("unchecked")
private // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
void initComponents() {
    jPopupMenuData = new javax.swing.JPopupMenu();
    jMenuItemByteHex = new javax.swing.JMenuItem();
    jMenuItemByteDec = new javax.swing.JMenuItem();
    jMenuItemByteBin = new javax.swing.JMenuItem();
    jMenuItemByteChar = new javax.swing.JMenuItem();
    jSeparatorByte = new javax.swing.JPopupMenu.Separator();
    jMenuItemWord = new javax.swing.JMenuItem();
    jMenuItemWordSwapped = new javax.swing.JMenuItem();
    jSeparatorWord = new javax.swing.JPopupMenu.Separator();
    jMenuItemTribyte = new javax.swing.JMenuItem();
    jMenuItemLong = new javax.swing.JMenuItem();
    jSeparatorPopUpMenu0 = new javax.swing.JPopupMenu.Separator();
    jMenuItemAddress = new javax.swing.JMenuItem();
    jMenuItemStackWord = new javax.swing.JMenuItem();
    jSeparatorPopUpMenu1 = new javax.swing.JPopupMenu.Separator();
    jMenuItemSpriteMono = new javax.swing.JMenuItem();
    jMenuItemSpriteMulti = new javax.swing.JMenuItem();
    jSeparatorSprite = new javax.swing.JPopupMenu.Separator();
    jMenuItemText = new javax.swing.JMenuItem();
    jMenuItemNumText = new javax.swing.JMenuItem();
    jMenuItemTextZero = new javax.swing.JMenuItem();
    jMenuItemtextHighOne = new javax.swing.JMenuItem();
    jMenuItemtextShifted = new javax.swing.JMenuItem();
    jMenuItemTextScreen = new javax.swing.JMenuItem();
    jMenuItemTextPetascii = new javax.swing.JMenuItem();
    jPopupMenuConstant = new javax.swing.JPopupMenu();
    jMenuItemConstant0 = new javax.swing.JMenuItem();
    jMenuItemConstant1 = new javax.swing.JMenuItem();
    jMenuItemConstant2 = new javax.swing.JMenuItem();
    jMenuItemConstant3 = new javax.swing.JMenuItem();
    jMenuItemConstant4 = new javax.swing.JMenuItem();
    jMenuItemConstant5 = new javax.swing.JMenuItem();
    jMenuItemConstant6 = new javax.swing.JMenuItem();
    jMenuItemConstant7 = new javax.swing.JMenuItem();
    jMenuItemConstant8 = new javax.swing.JMenuItem();
    jMenuItemConstant9 = new javax.swing.JMenuItem();
    jMenuItemConstantClear_ = new javax.swing.JMenuItem();
    jPopupMenuSaveAs = new javax.swing.JPopupMenu();
    jMenuItemSaveAsDasm = new javax.swing.JMenuItem();
    jMenuItemSaveAsTmpx = new javax.swing.JMenuItem();
    jMenuItemSaveAsCa65 = new javax.swing.JMenuItem();
    jMenuItemSaveAsAcme = new javax.swing.JMenuItem();
    jMenuItemSaveAsKickAssembler = new javax.swing.JMenuItem();
    jMenuItemSaveAsTass64 = new javax.swing.JMenuItem();
    jPopupMenuMemory = new javax.swing.JPopupMenu();
    jMenuItemCopy = new javax.swing.JMenuItem();
    jMenuItemPaste = new javax.swing.JMenuItem();
    jSeparatorMem1 = new javax.swing.JPopupMenu.Separator();
    jMenuItemFindAddr = new javax.swing.JMenuItem();
    jMenuItemFindSeq = new javax.swing.JMenuItem();
    jSeparatorMem2 = new javax.swing.JPopupMenu.Separator();
    jMenuItemCode = new javax.swing.JMenuItem();
    jMenuItemData = new javax.swing.JMenuItem();
    jMenuDataSel = new javax.swing.JMenu();
    jMenuItemByteHex2 = new javax.swing.JMenuItem();
    jMenuItemByteDec2 = new javax.swing.JMenuItem();
    jMenuItemByteBin2 = new javax.swing.JMenuItem();
    jMenuItemByteChar2 = new javax.swing.JMenuItem();
    jSeparatorByte2 = new javax.swing.JPopupMenu.Separator();
    jMenuItemWord2 = new javax.swing.JMenuItem();
    jMenuItemWordSwapped2 = new javax.swing.JMenuItem();
    jSeparatorWord2 = new javax.swing.JPopupMenu.Separator();
    jMenuItemTribyte2 = new javax.swing.JMenuItem();
    jMenuItemLong2 = new javax.swing.JMenuItem();
    jSeparatorPopUpMenu2 = new javax.swing.JPopupMenu.Separator();
    jMenuItemAddress2 = new javax.swing.JMenuItem();
    jMenuItemStackWord2 = new javax.swing.JMenuItem();
    jSeparatorPopUpMenu3 = new javax.swing.JPopupMenu.Separator();
    jMenuItemSpriteMono2 = new javax.swing.JMenuItem();
    jMenuItemSpriteMulti2 = new javax.swing.JMenuItem();
    jSeparatorSprite2 = new javax.swing.JPopupMenu.Separator();
    jMenuItemText2 = new javax.swing.JMenuItem();
    jMenuItemNumText2 = new javax.swing.JMenuItem();
    jMenuItemTextZero2 = new javax.swing.JMenuItem();
    jMenuItemtextHighOne2 = new javax.swing.JMenuItem();
    jMenuItemtextShifted2 = new javax.swing.JMenuItem();
    jMenuItemTextScreen2 = new javax.swing.JMenuItem();
    jMenuItemTextPetascii2 = new javax.swing.JMenuItem();
    jMenuItemGarbage = new javax.swing.JMenuItem();
    jPanelToolBar = new javax.swing.JPanel();
    jToolBarFile = new javax.swing.JToolBar();
    jButtonNewProject = new javax.swing.JButton();
    jButtonOpenProject = new javax.swing.JButton();
    jButtonClose = new javax.swing.JButton();
    jButtonSaveProject = new javax.swing.JButton();
    jButtonSaveProjectAs = new javax.swing.JButton();
    jButtonMPR = new javax.swing.JButton();
    jButtonMerge = new javax.swing.JButton();
    jButtonExit = new javax.swing.JButton();
    jToolBarMemory = new javax.swing.JToolBar();
    jButtonClearDMem = new javax.swing.JButton();
    jButtonClearUMem = new javax.swing.JButton();
    jButtonClearDLabel = new javax.swing.JButton();
    jButtonAddUserComm = new javax.swing.JButton();
    jButtonAddUserBlock = new javax.swing.JButton();
    jButtonAddUserLabel = new javax.swing.JButton();
    jButtonAddUserLabelOp = new javax.swing.JButton();
    jButtonMarkCode = new javax.swing.JButton();
    jButtonMarkData = new javax.swing.JButton();
    jButtonMarkGarbage = new javax.swing.JButton();
    jButtonMarkConstant = new javax.swing.JButton();
    jButtonMarkPlus = new javax.swing.JButton();
    jButtonMarkMinus = new javax.swing.JButton();
    jButtonMarkLow = new javax.swing.JButton();
    jButtonMarkLowHigh = new javax.swing.JButton();
    jButtonMarkBoth = new javax.swing.JButton();
    jButtonMarkHighLow = new javax.swing.JButton();
    jButtonMarkMax = new javax.swing.JButton();
    jButtonWizard = new javax.swing.JButton();
    jToolBarOption = new javax.swing.JToolBar();
    jButtonConfigure = new javax.swing.JButton();
    jButtonSIDLD = new javax.swing.JButton();
    jButtonViewProject = new javax.swing.JButton();
    jButtonViewLabels = new javax.swing.JButton();
    jToolBarSource = new javax.swing.JToolBar();
    jButtonFindMem = new javax.swing.JButton();
    jButtonDisassemble = new javax.swing.JButton();
    jButtonAssemble = new javax.swing.JButton();
    jButtonFindDis = new javax.swing.JButton();
    jButtonExportAsDiss = new javax.swing.JButton();
    jButtonFindSource = new javax.swing.JButton();
    jButtonExportAsSource = new javax.swing.JButton();
    jButtonExportAsSource1 = new javax.swing.JButton();
    jToolBarPerformance = new javax.swing.JToolBar();
    heapView = new sw_emulator.swing.HeapView();
    jToolBarPerc = new javax.swing.JToolBar();
    jPanelPerc = new sw_emulator.swing.JPanelPerc();
    jSplitPaneExternal = new javax.swing.JSplitPane();
    jSplitPaneInternal = new javax.swing.JSplitPane();
    jScrollPaneLeft = new javax.swing.JScrollPane();
    rSyntaxTextAreaDis = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea();
    jScrollPaneRight = new javax.swing.JScrollPane();
    rSyntaxTextAreaSource = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea();
    jScrollPaneMemory = new javax.swing.JScrollPane();
    jTableMemory = new javax.swing.JTable() {

        String[] hh = { "Memory address location in Hex", "Disassembler automatic comment", "User manual comment", "Disassembler automatic label", "User manual label", "User global comment", "Related location and data type", "Value in memory" };

        @Override
        protected JTableHeader createDefaultTableHeader() {
            return new JTableHeader(columnModel) {

                @Override
                public String getToolTipText(MouseEvent e) {
                    // int col = columnAtPoint(e.getPoint());
                    int index = columnModel.getColumnIndexAtX(e.getPoint().x);
                    int realIndex = columnModel.getColumn(index).getModelIndex();
                    return hh[realIndex];
                }
            };
        }

        // Implement table cell tool tips.
        public String getToolTipText(MouseEvent e) {
            String tip = null;
            java.awt.Point p = e.getPoint();
            int rowIndex = rowAtPoint(p);
            int colIndex = columnAtPoint(p);
            int realColumnIndex = convertColumnIndexToModel(colIndex);
            try {
                MemoryDasm memory = dataTableModelMemory.getData()[rowIndex];
                switch(dataTableModelMemory.columns[realColumnIndex]) {
                    case ID:
                        if (!memory.isInside)
                            tip = "Memory outside of the program";
                        else if (memory.isCode)
                            tip = "Memory marked as code (" + getAreaCodeSize(memory.address) + "/" + Shared.ShortToExe(jTableMemory.getSelectedRowCount()) + ")";
                        else if (memory.isData)
                            tip = "Memory marked as data (" + getAreaDataSize(memory.address) + "/" + Shared.ShortToExe(jTableMemory.getSelectedRowCount()) + ")";
                        else if (memory.isGarbage)
                            tip = "Memory marked as garbage (" + getAreaGarbageSize(memory.address) + "/" + Shared.ShortToExe(jTableMemory.getSelectedRowCount()) + ")";
                        else
                            tip = "Memory not marked as code or data";
                        break;
                    case DC:
                        if ((Boolean) getValueAt(rowIndex, colIndex))
                            tip = memory.dasmComment;
                        break;
                    case UC:
                        if ((Boolean) getValueAt(rowIndex, colIndex))
                            tip = memory.userComment;
                        break;
                    case DL:
                        if ((Boolean) getValueAt(rowIndex, colIndex))
                            tip = memory.dasmLocation;
                        break;
                    case UL:
                        if ((Boolean) getValueAt(rowIndex, colIndex))
                            tip = memory.userLocation;
                        break;
                    case UB:
                        if ((Boolean) getValueAt(rowIndex, colIndex))
                            tip = "<html>" + memory.userBlockComment.replace("\n", "<br>") + "</html>";
                        break;
                    case RE:
                        if (memory.type != ' ') {
                            MemoryDasm mem = dataTableModelMemory.getData()[memory.related];
                            switch(memory.type) {
                                case '+':
                                    if (mem.userLocation != null && !"".equals(mem.userLocation))
                                        tip = mem.userLocation + "+" + (memory.address - memory.related);
                                    else if (mem.dasmLocation != null && !"".equals(mem.dasmLocation))
                                        tip = mem.dasmLocation + "+" + (memory.address - memory.related);
                                    else
                                        tip = "$" + Shared.ShortToExe(mem.address) + "+" + (memory.address - memory.related);
                                    break;
                                case '-':
                                    if (mem.userLocation != null && !"".equals(mem.userLocation))
                                        tip = mem.userLocation + (memory.address - memory.related);
                                    else if (mem.dasmLocation != null && !"".equals(mem.dasmLocation))
                                        tip = mem.dasmLocation + (memory.address - memory.related);
                                    else
                                        tip = "$" + Shared.ShortToExe(mem.address) + (memory.address - memory.related);
                                    break;
                                default:
                                    if (mem.userLocation != null && !"".equals(mem.userLocation))
                                        tip = "#" + memory.type + mem.userLocation;
                                    else if (mem.dasmLocation != null && !"".equals(mem.dasmLocation))
                                        tip = "#" + memory.type + mem.dasmLocation;
                                    else
                                        tip = "#" + memory.type + "$" + Shared.ShortToExe(mem.address);
                            }
                        } else if (memory.dataType != null) {
                            tip = memory.dataType.getDescription();
                        }
                        break;
                }
            } catch (RuntimeException e1) {
            // catch null pointer exception if mouse is over an empty line
            }
            return tip;
        }
    };
    jMenuBar = new javax.swing.JMenuBar();
    jMenuFile = new javax.swing.JMenu();
    jMenuItemNewProject = new javax.swing.JMenuItem();
    jSeparatorProject1 = new javax.swing.JPopupMenu.Separator();
    jMenuItemOpenProject = new javax.swing.JMenuItem();
    jMenuRecent = new javax.swing.JMenu();
    jMenuItemRecent1 = new javax.swing.JMenuItem();
    jMenuItemRecent2 = new javax.swing.JMenuItem();
    jMenuItemRecent3 = new javax.swing.JMenuItem();
    jMenuItemRecent4 = new javax.swing.JMenuItem();
    jMenuItemRecent5 = new javax.swing.JMenuItem();
    jMenuItemRecent6 = new javax.swing.JMenuItem();
    jMenuItemRecent7 = new javax.swing.JMenuItem();
    jMenuItemRecent8 = new javax.swing.JMenuItem();
    jMenuItemRecent9 = new javax.swing.JMenuItem();
    jMenuItemCloseProject = new javax.swing.JMenuItem();
    jSeparatorProject2 = new javax.swing.JPopupMenu.Separator();
    jMenuItemSaveProject = new javax.swing.JMenuItem();
    jMenuItemSaveAsProject = new javax.swing.JMenuItem();
    jSeparatorProject3 = new javax.swing.JPopupMenu.Separator();
    jMenuItemMPR = new javax.swing.JMenuItem();
    jMenuItem2 = new javax.swing.JMenuItem();
    jMenuItemExit = new javax.swing.JMenuItem();
    jMenuMemory = new javax.swing.JMenu();
    jMenuItemClearDMem = new javax.swing.JMenuItem();
    jMenuItemClearUMem = new javax.swing.JMenuItem();
    jMenuItemClearDLabel = new javax.swing.JMenuItem();
    jSeparator4 = new javax.swing.JPopupMenu.Separator();
    jMenuItemAddComment = new javax.swing.JMenuItem();
    jMenuItemAddBlock = new javax.swing.JMenuItem();
    jMenuItemUserLabel = new javax.swing.JMenuItem();
    jMenuItemUserLabelOp = new javax.swing.JMenuItem();
    jSeparator3 = new javax.swing.JPopupMenu.Separator();
    jMenuItemMarkCode = new javax.swing.JMenuItem();
    jMenuItemMarkData = new javax.swing.JMenuItem();
    jSubMenu = new javax.swing.JMenu();
    jMenuItemByteHex1 = new javax.swing.JMenuItem();
    jMenuItemByteDec1 = new javax.swing.JMenuItem();
    jMenuItemByteBin1 = new javax.swing.JMenuItem();
    jMenuItemByteChar1 = new javax.swing.JMenuItem();
    jSeparatorByte1 = new javax.swing.JPopupMenu.Separator();
    jMenuItemWord1 = new javax.swing.JMenuItem();
    jMenuItemWordSwapped1 = new javax.swing.JMenuItem();
    jSeparatorWord1 = new javax.swing.JPopupMenu.Separator();
    jMenuItemTribyte1 = new javax.swing.JMenuItem();
    jMenuItemLong1 = new javax.swing.JMenuItem();
    jSeparator5 = new javax.swing.JPopupMenu.Separator();
    jMenuItemAddress1 = new javax.swing.JMenuItem();
    jMenuItemStackWord1 = new javax.swing.JMenuItem();
    jSeparator6 = new javax.swing.JPopupMenu.Separator();
    jMenuItemSpriteMono1 = new javax.swing.JMenuItem();
    jMenuItemSpriteMulti1 = new javax.swing.JMenuItem();
    jSeparatorSprite1 = new javax.swing.JPopupMenu.Separator();
    jMenuItemText1 = new javax.swing.JMenuItem();
    jMenuItemNumText1 = new javax.swing.JMenuItem();
    jMenuItemTextZero1 = new javax.swing.JMenuItem();
    jMenuItemtextHighOne1 = new javax.swing.JMenuItem();
    jMenuItemtextShifted1 = new javax.swing.JMenuItem();
    jMenuItemTextScreen1 = new javax.swing.JMenuItem();
    jMenuItemTextPetascii1 = new javax.swing.JMenuItem();
    jMenuItemMarkGarbage = new javax.swing.JMenuItem();
    jSubMenuC = new javax.swing.JMenu();
    jMenuItemConstant0b = new javax.swing.JMenuItem();
    jMenuItemConstant1b = new javax.swing.JMenuItem();
    jMenuItemConstant2b = new javax.swing.JMenuItem();
    jMenuItemConstant3b = new javax.swing.JMenuItem();
    jMenuItemConstant4b = new javax.swing.JMenuItem();
    jMenuItemConstant5b = new javax.swing.JMenuItem();
    jMenuItemConstant6b = new javax.swing.JMenuItem();
    jMenuItemConstant7b = new javax.swing.JMenuItem();
    jMenuItemConstant8b = new javax.swing.JMenuItem();
    jMenuItemConstant9b = new javax.swing.JMenuItem();
    jMenuItemConstantClear = new javax.swing.JMenuItem();
    jMenuItemPlus = new javax.swing.JMenuItem();
    jMenuItemMinus = new javax.swing.JMenuItem();
    jMenuItemMemLow = new javax.swing.JMenuItem();
    jMenuItemMemLowHigh = new javax.swing.JMenuItem();
    jMenuItemMemBoth = new javax.swing.JMenuItem();
    jMenuItemMemHighLow = new javax.swing.JMenuItem();
    jMenuItemMemHigh = new javax.swing.JMenuItem();
    jMenuItemWizard = new javax.swing.JMenuItem();
    jMenuOption = new javax.swing.JMenu();
    jMenuItemConfigure = new javax.swing.JMenuItem();
    jMenuItemSIDLD = new javax.swing.JMenuItem();
    jSeparatorOption = new javax.swing.JPopupMenu.Separator();
    jMenuItemViewProject = new javax.swing.JMenuItem();
    jMenuItemViewLabels = new javax.swing.JMenuItem();
    jMenuSource = new javax.swing.JMenu();
    jMenuItem1 = new javax.swing.JMenuItem();
    jMenuItemDiss = new javax.swing.JMenuItem();
    jMenuItemAssembly = new javax.swing.JMenuItem();
    jSeparator1 = new javax.swing.JPopupMenu.Separator();
    jMenuItemFindDis = new javax.swing.JMenuItem();
    jMenuItemDissSaveAs = new javax.swing.JMenuItem();
    jSeparator2 = new javax.swing.JPopupMenu.Separator();
    jMenuItemFindSource = new javax.swing.JMenuItem();
    jMenuItemSourceSaveAs = new javax.swing.JMenuItem();
    jMenuSub = new javax.swing.JMenu();
    jMenuItemSaveAsDasm1 = new javax.swing.JMenuItem();
    jMenuItemSaveAsTmpx1 = new javax.swing.JMenuItem();
    jMenuItemSaveAsCa66 = new javax.swing.JMenuItem();
    jMenuItemSaveAsAcme1 = new javax.swing.JMenuItem();
    jMenuItemSaveAsKickAssembler1 = new javax.swing.JMenuItem();
    jMenuItemSaveAsTass65 = new javax.swing.JMenuItem();
    jMenuItem3 = new javax.swing.JMenuItem();
    jMenuHelpContents = new javax.swing.JMenu();
    jMenuItemContents = new javax.swing.JMenuItem();
    jSeparatorHelp1 = new javax.swing.JPopupMenu.Separator();
    jMenuItemLicense = new javax.swing.JMenuItem();
    jMenuItemCredits = new javax.swing.JMenuItem();
    jMenuItemAbout = new javax.swing.JMenuItem();
    jSeparatorHelp2 = new javax.swing.JPopupMenu.Separator();
    jMenuItemImportLabels = new javax.swing.JMenuItem();
    jMenuItemRefactorLabels = new javax.swing.JMenuItem();
    jMenuItemAutComment = new javax.swing.JMenuItem();
    jMenuItemAutLabel = new javax.swing.JMenuItem();
    jSeparatorHelp3 = new javax.swing.JPopupMenu.Separator();
    jMenuUndo = new javax.swing.JMenu();
    jMenuItemUndo1 = new javax.swing.JMenuItem();
    jMenuItemUndo2 = new javax.swing.JMenuItem();
    jMenuItemUndo3 = new javax.swing.JMenuItem();
    jMenuItemUndo4 = new javax.swing.JMenuItem();
    jMenuItemUndo5 = new javax.swing.JMenuItem();
    jMenuItemUndo6 = new javax.swing.JMenuItem();
    jMenuItemUndo7 = new javax.swing.JMenuItem();
    jMenuItemUndo8 = new javax.swing.JMenuItem();
    jMenuItemUndo9 = new javax.swing.JMenuItem();
    // NOI18N
    jMenuItemByteHex.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/B.png")));
    jMenuItemByteHex.setText("(B) Mark data as Byte (HEX)");
    jMenuItemByteHex.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteHexActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemByteHex);
    // NOI18N
    jMenuItemByteDec.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/D.png")));
    jMenuItemByteDec.setText("(D) Mark data as Byte (DEC)");
    jMenuItemByteDec.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteDecActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemByteDec);
    // NOI18N
    jMenuItemByteBin.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/Y.png")));
    jMenuItemByteBin.setText("(Y) Mark data as Byte (BIN)");
    jMenuItemByteBin.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteBinActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemByteBin);
    // NOI18N
    jMenuItemByteChar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/R.png")));
    jMenuItemByteChar.setText("(R) Mark data as Byte (CHAR)");
    jMenuItemByteChar.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteCharActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemByteChar);
    jPopupMenuData.add(jSeparatorByte);
    // NOI18N
    jMenuItemWord.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/W.png")));
    jMenuItemWord.setText("(W) Mark data as Word");
    jMenuItemWord.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemWordActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemWord);
    // NOI18N
    jMenuItemWordSwapped.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/P.png")));
    jMenuItemWordSwapped.setText("(P) Mark data as Word Swapped");
    jMenuItemWordSwapped.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemWordSwappedActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemWordSwapped);
    jPopupMenuData.add(jSeparatorWord);
    // NOI18N
    jMenuItemTribyte.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/E.png")));
    jMenuItemTribyte.setText("(E) Mark data as Tribyte");
    jMenuItemTribyte.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTribyteActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemTribyte);
    // NOI18N
    jMenuItemLong.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/L.png")));
    jMenuItemLong.setText("(L) Mark data as Long");
    jMenuItemLong.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemLongActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemLong);
    jPopupMenuData.add(jSeparatorPopUpMenu0);
    // NOI18N
    jMenuItemAddress.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/A.png")));
    jMenuItemAddress.setText("(A) Mark data as Address");
    jMenuItemAddress.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAddressActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemAddress);
    // NOI18N
    jMenuItemStackWord.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/S.png")));
    jMenuItemStackWord.setText("(S) Mark data as Stack Word");
    jMenuItemStackWord.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemStackWordActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemStackWord);
    jPopupMenuData.add(jSeparatorPopUpMenu1);
    // NOI18N
    jMenuItemSpriteMono.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/O.png")));
    jMenuItemSpriteMono.setText("(O) Mark data as Monocromatic Sprite definitions");
    jMenuItemSpriteMono.setToolTipText("");
    jMenuItemSpriteMono.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSpriteMonoActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemSpriteMono);
    // NOI18N
    jMenuItemSpriteMulti.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/F.png")));
    jMenuItemSpriteMulti.setText("(F) Mark data as Multicolor Sprite definitions");
    jMenuItemSpriteMulti.setToolTipText("");
    jMenuItemSpriteMulti.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSpriteMultiActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemSpriteMulti);
    jPopupMenuData.add(jSeparatorSprite);
    // NOI18N
    jMenuItemText.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/T.png")));
    jMenuItemText.setText("(T) Mark data as Text");
    jMenuItemText.setToolTipText("");
    jMenuItemText.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemText);
    // NOI18N
    jMenuItemNumText.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/N.png")));
    jMenuItemNumText.setText("(N) Mark data as Text with # chars before");
    jMenuItemNumText.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemNumTextActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemNumText);
    // NOI18N
    jMenuItemTextZero.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/Z.png")));
    jMenuItemTextZero.setText("(Z) Mark data as text terminated with 0");
    jMenuItemTextZero.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextZeroActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemTextZero);
    // NOI18N
    jMenuItemtextHighOne.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/M.png")));
    jMenuItemtextHighOne.setText("(M) Mark data as Text with high bit 1");
    jMenuItemtextHighOne.setToolTipText("");
    jMenuItemtextHighOne.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemtextHighOneActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemtextHighOne);
    // NOI18N
    jMenuItemtextShifted.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/H.png")));
    jMenuItemtextShifted.setText("(H) Mark data as Text left shifted");
    jMenuItemtextShifted.setToolTipText("");
    jMenuItemtextShifted.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemtextShiftedActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemtextShifted);
    // NOI18N
    jMenuItemTextScreen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/C.png")));
    jMenuItemTextScreen.setText("(C) Mark data as Text converted to screen code");
    jMenuItemTextScreen.setToolTipText("");
    jMenuItemTextScreen.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextScreenActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemTextScreen);
    // NOI18N
    jMenuItemTextPetascii.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/I.png")));
    jMenuItemTextPetascii.setText("(I) Mark data as Text converted to petAscii code");
    jMenuItemTextPetascii.setToolTipText("");
    jMenuItemTextPetascii.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextPetasciiActionPerformed(evt);
        }
    });
    jPopupMenuData.add(jMenuItemTextPetascii);
    // NOI18N
    jMenuItemConstant0.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/0.png")));
    jMenuItemConstant0.setText("Sub-mark cell as of constant 0");
    jMenuItemConstant0.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant0ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant0);
    // NOI18N
    jMenuItemConstant1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/1.png")));
    jMenuItemConstant1.setText("Sub-mark cell as of constant 1");
    jMenuItemConstant1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant1ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant1);
    // NOI18N
    jMenuItemConstant2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/2.png")));
    jMenuItemConstant2.setText("Sub-mark cell as of constant 2");
    jMenuItemConstant2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant2ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant2);
    // NOI18N
    jMenuItemConstant3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/3.png")));
    jMenuItemConstant3.setText("Sub-mark cell as of constant 3");
    jMenuItemConstant3.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant3ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant3);
    // NOI18N
    jMenuItemConstant4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/4.png")));
    jMenuItemConstant4.setText("Sub-mark cell as of constant 4");
    jMenuItemConstant4.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant4ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant4);
    // NOI18N
    jMenuItemConstant5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/5.png")));
    jMenuItemConstant5.setText("Sub-mark cell as of constant 5");
    jMenuItemConstant5.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant5ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant5);
    // NOI18N
    jMenuItemConstant6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/6.png")));
    jMenuItemConstant6.setText("Sub-mark cell as of constant 6");
    jMenuItemConstant6.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant6ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant6);
    // NOI18N
    jMenuItemConstant7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/7.png")));
    jMenuItemConstant7.setText("Sub-mark cell as of constant 7");
    jMenuItemConstant7.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant7ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant7);
    // NOI18N
    jMenuItemConstant8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/8.png")));
    jMenuItemConstant8.setText("Sub-mark cell as of constant 8");
    jMenuItemConstant8.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant8ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant8);
    // NOI18N
    jMenuItemConstant9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/9.png")));
    jMenuItemConstant9.setText("Sub-mark cell as of constant 9");
    jMenuItemConstant9.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant9ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstant9);
    // NOI18N
    jMenuItemConstantClear_.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/0-9.png")));
    jMenuItemConstantClear_.setText("Sub-mark cell as of constant none");
    jMenuItemConstantClear_.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstantClear_ActionPerformed(evt);
        }
    });
    jPopupMenuConstant.add(jMenuItemConstantClear_);
    jMenuItemSaveAsDasm.setText("Save in Dasm format");
    jMenuItemSaveAsDasm.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsDasmActionPerformed(evt);
        }
    });
    jPopupMenuSaveAs.add(jMenuItemSaveAsDasm);
    jMenuItemSaveAsTmpx.setText("Save in TMPx format");
    jMenuItemSaveAsTmpx.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsTmpxActionPerformed(evt);
        }
    });
    jPopupMenuSaveAs.add(jMenuItemSaveAsTmpx);
    jMenuItemSaveAsCa65.setText("Save in CA65 format");
    jMenuItemSaveAsCa65.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsCa65ActionPerformed(evt);
        }
    });
    jPopupMenuSaveAs.add(jMenuItemSaveAsCa65);
    jMenuItemSaveAsAcme.setText("Save in Acme format");
    jMenuItemSaveAsAcme.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsAcmeActionPerformed(evt);
        }
    });
    jPopupMenuSaveAs.add(jMenuItemSaveAsAcme);
    jMenuItemSaveAsKickAssembler.setText("Save in KickAssembler format");
    jMenuItemSaveAsKickAssembler.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsKickAssemblerActionPerformed(evt);
        }
    });
    jPopupMenuSaveAs.add(jMenuItemSaveAsKickAssembler);
    jMenuItemSaveAsTass64.setText("Save in Tass64 format");
    jMenuItemSaveAsTass64.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsTass64ActionPerformed(evt);
        }
    });
    jPopupMenuSaveAs.add(jMenuItemSaveAsTass64);
    jMenuItemCopy.setText("Copy into this instance");
    jMenuItemCopy.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemCopyActionPerformed(evt);
        }
    });
    jPopupMenuMemory.add(jMenuItemCopy);
    jMenuItemPaste.setText("Paste from another instance");
    jMenuItemPaste.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemPasteActionPerformed(evt);
        }
    });
    jPopupMenuMemory.add(jMenuItemPaste);
    jPopupMenuMemory.add(jSeparatorMem1);
    jMenuItemFindAddr.setText("Find address");
    jMenuItemFindAddr.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemFindAddrActionPerformed(evt);
        }
    });
    jPopupMenuMemory.add(jMenuItemFindAddr);
    jMenuItemFindSeq.setText("Find sequences of bytes");
    jMenuItemFindSeq.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemFindSeqActionPerformed(evt);
        }
    });
    jPopupMenuMemory.add(jMenuItemFindSeq);
    jPopupMenuMemory.add(jSeparatorMem2);
    jMenuItemCode.setText("Mark as code");
    jMenuItemCode.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemCodeActionPerformed(evt);
        }
    });
    jPopupMenuMemory.add(jMenuItemCode);
    jMenuItemData.setText("Mark as data");
    jMenuItemData.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemDataActionPerformed(evt);
        }
    });
    jPopupMenuMemory.add(jMenuItemData);
    jMenuDataSel.setText("More specific data selection:");
    // NOI18N
    jMenuItemByteHex2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/B.png")));
    jMenuItemByteHex2.setText("(B) Mark data as Byte (HEX)");
    jMenuItemByteHex2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteHex2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemByteHex2);
    // NOI18N
    jMenuItemByteDec2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/D.png")));
    jMenuItemByteDec2.setText("(D) Mark data as Byte (DEC)");
    jMenuItemByteDec2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteDec2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemByteDec2);
    // NOI18N
    jMenuItemByteBin2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/Y.png")));
    jMenuItemByteBin2.setText("(Y) Mark data as Byte (BIN)");
    jMenuItemByteBin2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteBin2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemByteBin2);
    // NOI18N
    jMenuItemByteChar2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/R.png")));
    jMenuItemByteChar2.setText("(R) Mark data as Byte (CHAR)");
    jMenuItemByteChar2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteChar2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemByteChar2);
    jMenuDataSel.add(jSeparatorByte2);
    // NOI18N
    jMenuItemWord2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/W.png")));
    jMenuItemWord2.setText("(W) Mark data as Word");
    jMenuItemWord2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemWord2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemWord2);
    // NOI18N
    jMenuItemWordSwapped2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/P.png")));
    jMenuItemWordSwapped2.setText("(P) Mark data as Word Swapped");
    jMenuItemWordSwapped2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemWordSwapped2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemWordSwapped2);
    jMenuDataSel.add(jSeparatorWord2);
    // NOI18N
    jMenuItemTribyte2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/E.png")));
    jMenuItemTribyte2.setText("(E) Mark data as Tribyte");
    jMenuItemTribyte2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTribyte2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemTribyte2);
    // NOI18N
    jMenuItemLong2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/L.png")));
    jMenuItemLong2.setText("(L) Mark data as Long");
    jMenuItemLong2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemLong2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemLong2);
    jMenuDataSel.add(jSeparatorPopUpMenu2);
    // NOI18N
    jMenuItemAddress2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/A.png")));
    jMenuItemAddress2.setText("(A) Mark data as Address");
    jMenuItemAddress2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAddress2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemAddress2);
    // NOI18N
    jMenuItemStackWord2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/S.png")));
    jMenuItemStackWord2.setText("(S) Mark data as Stack Word");
    jMenuItemStackWord2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemStackWord2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemStackWord2);
    jMenuDataSel.add(jSeparatorPopUpMenu3);
    // NOI18N
    jMenuItemSpriteMono2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/O.png")));
    jMenuItemSpriteMono2.setText("(O) Mark data as Monocromatic Sprite definitions");
    jMenuItemSpriteMono2.setToolTipText("");
    jMenuItemSpriteMono2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSpriteMono2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemSpriteMono2);
    // NOI18N
    jMenuItemSpriteMulti2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/F.png")));
    jMenuItemSpriteMulti2.setText("(F) Mark data as Multicolor Sprite definitions");
    jMenuItemSpriteMulti2.setToolTipText("");
    jMenuItemSpriteMulti2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSpriteMulti2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemSpriteMulti2);
    jMenuDataSel.add(jSeparatorSprite2);
    // NOI18N
    jMenuItemText2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/T.png")));
    jMenuItemText2.setText("(T) Mark data as Text");
    jMenuItemText2.setToolTipText("");
    jMenuItemText2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemText2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemText2);
    // NOI18N
    jMenuItemNumText2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/N.png")));
    jMenuItemNumText2.setText("(N) Mark data as Text with # chars before");
    jMenuItemNumText2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemNumText2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemNumText2);
    // NOI18N
    jMenuItemTextZero2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/Z.png")));
    jMenuItemTextZero2.setText("(Z) Mark data as text terminated with 0");
    jMenuItemTextZero2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextZero2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemTextZero2);
    // NOI18N
    jMenuItemtextHighOne2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/M.png")));
    jMenuItemtextHighOne2.setText("(M) Mark data as Text with high bit 1");
    jMenuItemtextHighOne2.setToolTipText("");
    jMenuItemtextHighOne2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemtextHighOne2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemtextHighOne2);
    // NOI18N
    jMenuItemtextShifted2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/H.png")));
    jMenuItemtextShifted2.setText("(H) Mark data as Text left shifted");
    jMenuItemtextShifted2.setToolTipText("");
    jMenuItemtextShifted2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemtextShifted2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemtextShifted2);
    // NOI18N
    jMenuItemTextScreen2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/C.png")));
    jMenuItemTextScreen2.setText("(C) Mark data as Text converted to screen code");
    jMenuItemTextScreen2.setToolTipText("");
    jMenuItemTextScreen2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextScreen2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemTextScreen2);
    // NOI18N
    jMenuItemTextPetascii2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/I.png")));
    jMenuItemTextPetascii2.setText("(I) Mark data as Text converted to petAscii code");
    jMenuItemTextPetascii2.setToolTipText("");
    jMenuItemTextPetascii2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextPetascii2ActionPerformed(evt);
        }
    });
    jMenuDataSel.add(jMenuItemTextPetascii2);
    jPopupMenuMemory.add(jMenuDataSel);
    jMenuItemGarbage.setText("Mark as garbage");
    jMenuItemGarbage.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemGarbageActionPerformed(evt);
        }
    });
    jPopupMenuMemory.add(jMenuItemGarbage);
    setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
    setTitle("JC64Dis");
    addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            formMouseEntered(evt);
        }
    });
    addWindowListener(new java.awt.event.WindowAdapter() {

        public void windowClosing(java.awt.event.WindowEvent evt) {
            formWindowClosing(evt);
        }
    });
    jPanelToolBar.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jPanelToolBarMouseEntered(evt);
        }
    });
    jPanelToolBar.setLayout(new javax.swing.BoxLayout(jPanelToolBar, javax.swing.BoxLayout.LINE_AXIS));
    jToolBarFile.setRollover(true);
    // NOI18N
    jButtonNewProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/filenew.png")));
    jButtonNewProject.setToolTipText("New project");
    jButtonNewProject.setFocusable(false);
    jButtonNewProject.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonNewProject.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonNewProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonNewProjectActionPerformed(evt);
        }
    });
    jToolBarFile.add(jButtonNewProject);
    // NOI18N
    jButtonOpenProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/fileopen.png")));
    jButtonOpenProject.setToolTipText("Open project");
    jButtonOpenProject.setFocusable(false);
    jButtonOpenProject.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonOpenProject.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonOpenProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonOpenProjectActionPerformed(evt);
        }
    });
    jToolBarFile.add(jButtonOpenProject);
    // NOI18N
    jButtonClose.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/close.png")));
    jButtonClose.setToolTipText("Close the project");
    jButtonClose.setFocusable(false);
    jButtonClose.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonClose.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonClose.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonCloseActionPerformed(evt);
        }
    });
    jToolBarFile.add(jButtonClose);
    // NOI18N
    jButtonSaveProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/filesave.png")));
    jButtonSaveProject.setToolTipText("Save project");
    jButtonSaveProject.setFocusable(false);
    jButtonSaveProject.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonSaveProject.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonSaveProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonSaveProjectActionPerformed(evt);
        }
    });
    jToolBarFile.add(jButtonSaveProject);
    // NOI18N
    jButtonSaveProjectAs.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/filesaveas.png")));
    jButtonSaveProjectAs.setToolTipText("Save project as");
    jButtonSaveProjectAs.setFocusable(false);
    jButtonSaveProjectAs.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonSaveProjectAs.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonSaveProjectAs.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonSaveProjectAsActionPerformed(evt);
        }
    });
    jToolBarFile.add(jButtonSaveProjectAs);
    // NOI18N
    jButtonMPR.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/create.png")));
    jButtonMPR.setToolTipText("Create a MRP archive");
    jButtonMPR.setFocusable(false);
    jButtonMPR.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMPR.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMPR.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMPRActionPerformed(evt);
        }
    });
    jToolBarFile.add(jButtonMPR);
    // NOI18N
    jButtonMerge.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/merge.png")));
    jButtonMerge.setToolTipText("Collaborative merge");
    jButtonMerge.setFocusable(false);
    jButtonMerge.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMerge.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMerge.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMergeActionPerformed(evt);
        }
    });
    jToolBarFile.add(jButtonMerge);
    // NOI18N
    jButtonExit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/exit.png")));
    jButtonExit.setToolTipText("Exit application");
    jButtonExit.setFocusable(false);
    jButtonExit.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonExit.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonExit.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonExitActionPerformed(evt);
        }
    });
    jToolBarFile.add(jButtonExit);
    jPanelToolBar.add(jToolBarFile);
    jToolBarMemory.setRollover(true);
    // NOI18N
    jButtonClearDMem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/eraser.png")));
    jButtonClearDMem.setToolTipText("Erase daisassembly automatic comment");
    jButtonClearDMem.setFocusable(false);
    jButtonClearDMem.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonClearDMem.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonClearDMem.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonClearDMemActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonClearDMem);
    // NOI18N
    jButtonClearUMem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/eraser1.png")));
    jButtonClearUMem.setToolTipText("Erase user comment");
    jButtonClearUMem.setFocusable(false);
    jButtonClearUMem.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonClearUMem.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonClearUMem.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonClearUMemActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonClearUMem);
    // NOI18N
    jButtonClearDLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/eraser2.png")));
    jButtonClearDLabel.setToolTipText("Erase disassembly automatic label");
    jButtonClearDLabel.setFocusable(false);
    jButtonClearDLabel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonClearDLabel.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonClearDLabel.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonClearDLabelActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonClearDLabel);
    // NOI18N
    jButtonAddUserComm.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/comm.png")));
    jButtonAddUserComm.setToolTipText("Add user comment");
    jButtonAddUserComm.setFocusable(false);
    jButtonAddUserComm.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonAddUserComm.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonAddUserComm.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonAddUserCommActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonAddUserComm);
    // NOI18N
    jButtonAddUserBlock.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/block.png")));
    jButtonAddUserBlock.setToolTipText("Add a block user comment");
    jButtonAddUserBlock.setFocusable(false);
    jButtonAddUserBlock.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonAddUserBlock.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonAddUserBlock.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonAddUserBlockActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonAddUserBlock);
    // NOI18N
    jButtonAddUserLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mem2.png")));
    jButtonAddUserLabel.setToolTipText("Add user label");
    jButtonAddUserLabel.setFocusable(false);
    jButtonAddUserLabel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonAddUserLabel.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonAddUserLabel.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonAddUserLabelActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonAddUserLabel);
    // NOI18N
    jButtonAddUserLabelOp.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mem3.png")));
    jButtonAddUserLabelOp.setToolTipText("Add user label on next word address");
    jButtonAddUserLabelOp.setFocusable(false);
    jButtonAddUserLabelOp.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonAddUserLabelOp.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonAddUserLabelOp.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonAddUserLabelOpActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonAddUserLabelOp);
    // NOI18N
    jButtonMarkCode.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/code.png")));
    jButtonMarkCode.setToolTipText("Mark the selected addresses as code");
    jButtonMarkCode.setFocusable(false);
    jButtonMarkCode.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkCode.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkCode.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButtonMarkCodeMouseEntered(evt);
        }
    });
    jButtonMarkCode.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkCodeActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkCode);
    // NOI18N
    jButtonMarkData.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/data.png")));
    jButtonMarkData.setToolTipText("Mark the selected addresses as data");
    jButtonMarkData.setFocusable(false);
    jButtonMarkData.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkData.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkData.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButtonMarkDataMouseEntered(evt);
        }
    });
    jButtonMarkData.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkDataActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkData);
    // NOI18N
    jButtonMarkGarbage.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/garb.png")));
    jButtonMarkGarbage.setToolTipText("Mark the selected addresses as garbage");
    jButtonMarkGarbage.setFocusable(false);
    jButtonMarkGarbage.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkGarbage.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkGarbage.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButtonMarkGarbageMouseEntered(evt);
        }
    });
    jButtonMarkGarbage.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkGarbageActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkGarbage);
    // NOI18N
    jButtonMarkConstant.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/const.png")));
    jButtonMarkConstant.setToolTipText("Mark the selected addresses as constant");
    jButtonMarkConstant.setFocusable(false);
    jButtonMarkConstant.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkConstant.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkConstant.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButtonMarkConstantMouseEntered(evt);
        }
    });
    jButtonMarkConstant.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkConstantActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkConstant);
    // NOI18N
    jButtonMarkPlus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/plus.png")));
    jButtonMarkPlus.setToolTipText("Mark the selected addresses as +");
    jButtonMarkPlus.setFocusable(false);
    jButtonMarkPlus.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkPlus.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkPlus.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButtonMarkPlusMouseEntered(evt);
        }
    });
    jButtonMarkPlus.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkPlusActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkPlus);
    // NOI18N
    jButtonMarkMinus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/minus.png")));
    jButtonMarkMinus.setToolTipText("Mark the selected addresses as -");
    jButtonMarkMinus.setFocusable(false);
    jButtonMarkMinus.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkMinus.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkMinus.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkMinusActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkMinus);
    // NOI18N
    jButtonMarkLow.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/min.png")));
    jButtonMarkLow.setToolTipText("Assign the selected address as #<");
    jButtonMarkLow.setFocusable(false);
    jButtonMarkLow.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkLow.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkLow.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkLowActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkLow);
    // NOI18N
    jButtonMarkLowHigh.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/minmax.png")));
    jButtonMarkLowHigh.setToolTipText("Assign the 2 selected addresses as #<>");
    jButtonMarkLowHigh.setFocusable(false);
    jButtonMarkLowHigh.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkLowHigh.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkLowHigh.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkLowHighActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkLowHigh);
    // NOI18N
    jButtonMarkBoth.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/both.png")));
    jButtonMarkBoth.setToolTipText("Assign the 2 tables as #<>");
    jButtonMarkBoth.setFocusable(false);
    jButtonMarkBoth.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkBoth.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkBoth.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkBothActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkBoth);
    // NOI18N
    jButtonMarkHighLow.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/maxmin.png")));
    jButtonMarkHighLow.setToolTipText("Assign the 2 selected addresses as #<>");
    jButtonMarkHighLow.setFocusable(false);
    jButtonMarkHighLow.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkHighLow.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkHighLow.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkHighLowActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkHighLow);
    // NOI18N
    jButtonMarkMax.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/max.png")));
    jButtonMarkMax.setToolTipText("Assign the selected address as #>");
    jButtonMarkMax.setFocusable(false);
    jButtonMarkMax.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonMarkMax.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonMarkMax.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonMarkMaxActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonMarkMax);
    // NOI18N
    jButtonWizard.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/wizard.png")));
    jButtonWizard.setToolTipText("Assign using a wizard");
    jButtonWizard.setFocusable(false);
    jButtonWizard.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonWizard.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonWizard.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonWizardActionPerformed(evt);
        }
    });
    jToolBarMemory.add(jButtonWizard);
    jPanelToolBar.add(jToolBarMemory);
    jToolBarOption.setRollover(true);
    // NOI18N
    jButtonConfigure.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/configure.png")));
    jButtonConfigure.setToolTipText("Set general option");
    jButtonConfigure.setFocusable(false);
    jButtonConfigure.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonConfigure.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonConfigure.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonConfigureActionPerformed(evt);
        }
    });
    jToolBarOption.add(jButtonConfigure);
    // NOI18N
    jButtonSIDLD.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mem.png")));
    jButtonSIDLD.setToolTipText("Apply SIDLD flags to memory");
    jButtonSIDLD.setFocusable(false);
    jButtonSIDLD.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonSIDLD.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonSIDLD.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonSIDLDActionPerformed(evt);
        }
    });
    jToolBarOption.add(jButtonSIDLD);
    // NOI18N
    jButtonViewProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/view_detailed.png")));
    jButtonViewProject.setToolTipText("View project");
    jButtonViewProject.setFocusable(false);
    jButtonViewProject.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonViewProject.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonViewProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonViewProjectActionPerformed(evt);
        }
    });
    jToolBarOption.add(jButtonViewProject);
    // NOI18N
    jButtonViewLabels.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/view_label.png")));
    jButtonViewLabels.setToolTipText("View labels");
    jButtonViewLabels.setFocusable(false);
    jButtonViewLabels.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonViewLabels.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonViewLabels.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonViewLabelsActionPerformed(evt);
        }
    });
    jToolBarOption.add(jButtonViewLabels);
    jPanelToolBar.add(jToolBarOption);
    jToolBarSource.setRollover(true);
    // NOI18N
    jButtonFindMem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/finda.png")));
    jButtonFindMem.setToolTipText("Find a memory address");
    jButtonFindMem.setFocusable(false);
    jButtonFindMem.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonFindMem.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonFindMem.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonFindMemActionPerformed(evt);
        }
    });
    jToolBarSource.add(jButtonFindMem);
    // NOI18N
    jButtonDisassemble.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/exec.png")));
    jButtonDisassemble.setToolTipText("Disassemble");
    jButtonDisassemble.setFocusable(false);
    jButtonDisassemble.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonDisassemble.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonDisassemble.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonDisassembleActionPerformed(evt);
        }
    });
    jToolBarSource.add(jButtonDisassemble);
    // NOI18N
    jButtonAssemble.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/assembler.png")));
    jButtonAssemble.setToolTipText("Assemble");
    jButtonAssemble.setFocusable(false);
    jButtonAssemble.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonAssemble.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonAssemble.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonAssembleActionPerformed(evt);
        }
    });
    jToolBarSource.add(jButtonAssemble);
    // NOI18N
    jButtonFindDis.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/findd.png")));
    jButtonFindDis.setToolTipText("Find a text in preview");
    jButtonFindDis.setFocusable(false);
    jButtonFindDis.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonFindDis.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonFindDis.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonFindDisActionPerformed(evt);
        }
    });
    jToolBarSource.add(jButtonFindDis);
    // NOI18N
    jButtonExportAsDiss.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/exportas1.png")));
    jButtonExportAsDiss.setToolTipText("Save preview file");
    jButtonExportAsDiss.setFocusable(false);
    jButtonExportAsDiss.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonExportAsDiss.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonExportAsDiss.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonExportAsDissActionPerformed(evt);
        }
    });
    jToolBarSource.add(jButtonExportAsDiss);
    // NOI18N
    jButtonFindSource.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/finds.png")));
    jButtonFindSource.setToolTipText("Find a text in source");
    jButtonFindSource.setFocusable(false);
    jButtonFindSource.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonFindSource.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonFindSource.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButtonFindSourceMouseEntered(evt);
        }
    });
    jButtonFindSource.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonFindSourceActionPerformed(evt);
        }
    });
    jToolBarSource.add(jButtonFindSource);
    // NOI18N
    jButtonExportAsSource.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/exportas2.png")));
    jButtonExportAsSource.setToolTipText("Save source file");
    jButtonExportAsSource.setFocusable(false);
    jButtonExportAsSource.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonExportAsSource.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonExportAsSource.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButtonExportAsSourceMouseEntered(evt);
        }
    });
    jButtonExportAsSource.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonExportAsSourceActionPerformed(evt);
        }
    });
    jToolBarSource.add(jButtonExportAsSource);
    // NOI18N
    jButtonExportAsSource1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/freeze.png")));
    jButtonExportAsSource1.setToolTipText("Freeze the source");
    jButtonExportAsSource1.setFocusable(false);
    jButtonExportAsSource1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    jButtonExportAsSource1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    jButtonExportAsSource1.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButtonExportAsSource1MouseEntered(evt);
        }
    });
    jButtonExportAsSource1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonExportAsSource1ActionPerformed(evt);
        }
    });
    jToolBarSource.add(jButtonExportAsSource1);
    jPanelToolBar.add(jToolBarSource);
    jToolBarPerformance.setRollover(true);
    jToolBarPerformance.setAlignmentY(0.5F);
    jToolBarPerformance.setMaximumSize(new java.awt.Dimension(128, 38));
    jToolBarPerformance.setMinimumSize(new java.awt.Dimension(128, 38));
    jToolBarPerformance.setPreferredSize(new java.awt.Dimension(128, 38));
    jToolBarPerformance.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jToolBarPerformanceMouseEntered(evt);
        }
    });
    heapView.setMinimumSize(new java.awt.Dimension(128, 38));
    // NOI18N
    heapView.setName("");
    heapView.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            heapViewMouseClicked(evt);
        }
    });
    jToolBarPerformance.add(heapView);
    jPanelToolBar.add(jToolBarPerformance);
    jToolBarPerc.setRollover(true);
    jToolBarPerc.setMaximumSize(new java.awt.Dimension(92, 38));
    jToolBarPerc.setMinimumSize(new java.awt.Dimension(92, 38));
    // NOI18N
    jToolBarPerc.setName("");
    jToolBarPerc.setPreferredSize(new java.awt.Dimension(92, 38));
    jPanelPerc.setMaximumSize(new java.awt.Dimension(74, 36));
    jPanelPerc.setMinimumSize(new java.awt.Dimension(74, 36));
    jPanelPerc.setPreferredSize(new java.awt.Dimension(74, 36));
    jToolBarPerc.add(jPanelPerc);
    jPanelToolBar.add(jToolBarPerc);
    jSplitPaneExternal.setToolTipText("");
    jSplitPaneInternal.setResizeWeight(0.5);
    jSplitPaneInternal.setToolTipText("");
    rSyntaxTextAreaDis.setEditable(false);
    rSyntaxTextAreaDis.setColumns(20);
    rSyntaxTextAreaDis.setRows(5);
    // NOI18N
    rSyntaxTextAreaDis.setFont(new java.awt.Font("Monospaced", 0, 12));
    rSyntaxTextAreaDis.setSyntaxEditingStyle("text/asm6502");
    findDialogDis = new FindDialog(this, new SearchListener() {

        @Override
        public void searchEvent(SearchEvent e) {
            SearchEvent.Type type = e.getType();
            SearchContext context = e.getSearchContext();
            SearchResult result;
            switch(type) {
                // Prevent FindBugs warning later
                default:
                case MARK_ALL:
                    result = SearchEngine.markAll(rSyntaxTextAreaDis, context);
                    break;
                case FIND:
                    result = SearchEngine.find(rSyntaxTextAreaDis, context);
                    if (!result.wasFound()) {
                        UIManager.getLookAndFeel().provideErrorFeedback(rSyntaxTextAreaDis);
                    }
                    break;
            }
        }

        @Override
        public String getSelectedText() {
            return rSyntaxTextAreaDis.getSelectedText();
        }
    });
    rSyntaxTextAreaDis.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK), new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            execute(SOURCE_FINDD);
        }
    });
    // force menu key not working otherwise
    rSyntaxTextAreaDis.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ADD, InputEvent.CTRL_MASK), new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            execute(MEM_PLUS);
        }
    });
    // force menu key not working otherwise
    rSyntaxTextAreaDis.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, InputEvent.CTRL_MASK), new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            execute(MEM_MINUS);
        }
    });
    rSyntaxTextAreaDis.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseReleased(java.awt.event.MouseEvent evt) {
            rSyntaxTextAreaDisMouseReleased(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            rSyntaxTextAreaDisMouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            rSyntaxTextAreaDisMouseEntered(evt);
        }
    });
    rSyntaxTextAreaDis.addKeyListener(new java.awt.event.KeyAdapter() {

        public void keyReleased(java.awt.event.KeyEvent evt) {
            rSyntaxTextAreaDisKeyReleased(evt);
        }
    });
    jScrollPaneLeft.setViewportView(rSyntaxTextAreaDis);
    jSplitPaneInternal.setLeftComponent(jScrollPaneLeft);
    rSyntaxTextAreaSource.setEditable(false);
    rSyntaxTextAreaSource.setColumns(20);
    rSyntaxTextAreaSource.setRows(5);
    // NOI18N
    rSyntaxTextAreaSource.setFont(new java.awt.Font("Monospaced", 0, 12));
    rSyntaxTextAreaSource.setSyntaxEditingStyle("text/asm6502");
    findDialogSource = new FindDialog(this, new SearchListener() {

        @Override
        public void searchEvent(SearchEvent e) {
            SearchEvent.Type type = e.getType();
            SearchContext context = e.getSearchContext();
            SearchResult result;
            switch(type) {
                // Prevent FindBugs warning later
                default:
                case MARK_ALL:
                    result = SearchEngine.markAll(rSyntaxTextAreaSource, context);
                    break;
                case FIND:
                    result = SearchEngine.find(rSyntaxTextAreaSource, context);
                    if (!result.wasFound()) {
                        UIManager.getLookAndFeel().provideErrorFeedback(rSyntaxTextAreaSource);
                    }
                    break;
            }
        }

        @Override
        public String getSelectedText() {
            return rSyntaxTextAreaSource.getSelectedText();
        }
    });
    rSyntaxTextAreaSource.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK), new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            execute(SOURCE_FINDS);
        }
    });
    rSyntaxTextAreaSource.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseReleased(java.awt.event.MouseEvent evt) {
            rSyntaxTextAreaSourceMouseReleased(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            rSyntaxTextAreaSourceMouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            rSyntaxTextAreaSourceMouseEntered(evt);
        }
    });
    jScrollPaneRight.setViewportView(rSyntaxTextAreaSource);
    jSplitPaneInternal.setRightComponent(jScrollPaneRight);
    jSplitPaneExternal.setRightComponent(jSplitPaneInternal);
    jScrollPaneMemory.setPreferredSize(new java.awt.Dimension(200, 403));
    jTableMemory.setModel(dataTableModelMemory);
    jTableMemory.setDefaultRenderer(Integer.class, memoryTableCellRenderer);
    jTableMemory.getColumnModel().getColumn(0).setPreferredWidth(310);
    InputMap im = this.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
    ActionMap am = this.getRootPane().getActionMap();
    // add custom action
    im.put(KeyStroke.getKeyStroke("control F"), "find");
    am.put("find", new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent ae) {
            execute(SOURCE_FINDA);
        }
    });
    ((InputMap) UIManager.get("Table.ancestorInputMap")).put(KeyStroke.getKeyStroke("control F"), "none");
    // add custom action
    im.put(KeyStroke.getKeyStroke(KeyEvent.VK_HOME, InputEvent.ALT_DOWN_MASK), "home");
    am.put("home", new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent ae) {
            altHome();
        }
    });
    im.put(KeyStroke.getKeyStroke(KeyEvent.VK_END, InputEvent.ALT_DOWN_MASK), "end");
    am.put("end", new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent ae) {
            altEnd();
        }
    });
    jTableMemory.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mousePressed(java.awt.event.MouseEvent evt) {
            jTableMemoryMousePressed(evt);
        }

        public void mouseReleased(java.awt.event.MouseEvent evt) {
            jTableMemoryMouseReleased(evt);
        }
    });
    jScrollPaneMemory.setViewportView(jTableMemory);
    jSplitPaneExternal.setLeftComponent(jScrollPaneMemory);
    jMenuBar.addMouseListener(new java.awt.event.MouseAdapter() {

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jMenuBarMouseEntered(evt);
        }
    });
    jMenuFile.setText("File");
    jMenuItemNewProject.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemNewProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/filenew.png")));
    jMenuItemNewProject.setMnemonic('n');
    jMenuItemNewProject.setText("New Project");
    jMenuItemNewProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemNewProjectActionPerformed(evt);
        }
    });
    jMenuFile.add(jMenuItemNewProject);
    jMenuFile.add(jSeparatorProject1);
    jMenuItemOpenProject.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemOpenProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/fileopen.png")));
    jMenuItemOpenProject.setMnemonic('o');
    jMenuItemOpenProject.setText("Open Project");
    jMenuItemOpenProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemOpenProjectActionPerformed(evt);
        }
    });
    jMenuFile.add(jMenuItemOpenProject);
    jMenuRecent.setText("Open Recent Project");
    jMenuRecent.addMenuListener(new javax.swing.event.MenuListener() {

        public void menuSelected(javax.swing.event.MenuEvent evt) {
            jMenuRecentMenuSelected(evt);
        }

        public void menuDeselected(javax.swing.event.MenuEvent evt) {
        }

        public void menuCanceled(javax.swing.event.MenuEvent evt) {
        }
    });
    jMenuItemRecent1.setEnabled(false);
    jMenuItemRecent1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent1ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent1);
    jMenuItemRecent2.setEnabled(false);
    jMenuItemRecent2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent2ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent2);
    jMenuItemRecent3.setEnabled(false);
    jMenuItemRecent3.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent3ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent3);
    jMenuItemRecent4.setEnabled(false);
    jMenuItemRecent4.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent4ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent4);
    jMenuItemRecent5.setEnabled(false);
    jMenuItemRecent5.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent5ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent5);
    jMenuItemRecent6.setEnabled(false);
    jMenuItemRecent6.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent6ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent6);
    jMenuItemRecent7.setEnabled(false);
    jMenuItemRecent7.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent7ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent7);
    jMenuItemRecent8.setEnabled(false);
    jMenuItemRecent8.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent8ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent8);
    jMenuItemRecent9.setEnabled(false);
    jMenuItemRecent9.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRecent9ActionPerformed(evt);
        }
    });
    jMenuRecent.add(jMenuItemRecent9);
    jMenuFile.add(jMenuRecent);
    jMenuItemCloseProject.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemCloseProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/close.png")));
    jMenuItemCloseProject.setMnemonic('c');
    jMenuItemCloseProject.setText("Close Project");
    jMenuItemCloseProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemCloseProjectActionPerformed(evt);
        }
    });
    jMenuFile.add(jMenuItemCloseProject);
    jMenuFile.add(jSeparatorProject2);
    jMenuItemSaveProject.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemSaveProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/filesave.png")));
    jMenuItemSaveProject.setMnemonic('s');
    jMenuItemSaveProject.setText("Save Project");
    jMenuItemSaveProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveProjectActionPerformed(evt);
        }
    });
    jMenuFile.add(jMenuItemSaveProject);
    jMenuItemSaveAsProject.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemSaveAsProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/filesaveas.png")));
    jMenuItemSaveAsProject.setMnemonic('v');
    jMenuItemSaveAsProject.setText("Save Project As");
    jMenuItemSaveAsProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsProjectActionPerformed(evt);
        }
    });
    jMenuFile.add(jMenuItemSaveAsProject);
    jMenuFile.add(jSeparatorProject3);
    jMenuItemMPR.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMPR.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/create.png")));
    jMenuItemMPR.setText("Create a MPR archive");
    jMenuItemMPR.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMPRActionPerformed(evt);
        }
    });
    jMenuFile.add(jMenuItemMPR);
    jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItem2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/merge.png")));
    jMenuItem2.setMnemonic('r');
    jMenuItem2.setText("Collaborative merge");
    jMenuItem2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItem2ActionPerformed(evt);
        }
    });
    jMenuFile.add(jMenuItem2);
    jMenuItemExit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemExit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/exit.png")));
    jMenuItemExit.setMnemonic('x');
    jMenuItemExit.setText("Exit");
    jMenuItemExit.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemExitActionPerformed(evt);
        }
    });
    jMenuFile.add(jMenuItemExit);
    jMenuBar.add(jMenuFile);
    jMenuMemory.setText("Memory");
    jMenuItemClearDMem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemClearDMem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/eraser.png")));
    jMenuItemClearDMem.setMnemonic('a');
    jMenuItemClearDMem.setText("Clear disassembly automatic comment");
    jMenuItemClearDMem.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemClearDMemActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemClearDMem);
    jMenuItemClearUMem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemClearUMem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/eraser1.png")));
    jMenuItemClearUMem.setMnemonic('m');
    jMenuItemClearUMem.setText("Clear user comment");
    jMenuItemClearUMem.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemClearUMemActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemClearUMem);
    jMenuItemClearDLabel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemClearDLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/eraser2.png")));
    jMenuItemClearDLabel.setMnemonic('r');
    jMenuItemClearDLabel.setText("Clear disassembly automatic label");
    jMenuItemClearDLabel.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemClearDLabelActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemClearDLabel);
    jMenuMemory.add(jSeparator4);
    jMenuItemAddComment.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SEMICOLON, 0));
    // NOI18N
    jMenuItemAddComment.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/comm.png")));
    jMenuItemAddComment.setMnemonic('u');
    jMenuItemAddComment.setText("Add user comment");
    jMenuItemAddComment.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAddCommentActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemAddComment);
    jMenuItemAddBlock.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SEMICOLON, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemAddBlock.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/block.png")));
    jMenuItemAddBlock.setMnemonic('b');
    jMenuItemAddBlock.setText("Add user block comment");
    jMenuItemAddBlock.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAddBlockActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemAddBlock);
    jMenuItemUserLabel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemUserLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/mem2.png")));
    jMenuItemUserLabel.setMnemonic('l');
    jMenuItemUserLabel.setText("Add user label");
    jMenuItemUserLabel.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUserLabelActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemUserLabel);
    jMenuItemUserLabelOp.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemUserLabelOp.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/mem3.png")));
    jMenuItemUserLabelOp.setMnemonic('n');
    jMenuItemUserLabelOp.setText("Add user label on next address");
    jMenuItemUserLabelOp.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUserLabelOpActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemUserLabelOp);
    jMenuMemory.add(jSeparator3);
    jMenuItemMarkCode.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMarkCode.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/code.png")));
    jMenuItemMarkCode.setMnemonic('c');
    jMenuItemMarkCode.setText("Mark as code");
    jMenuItemMarkCode.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMarkCodeActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMarkCode);
    jMenuItemMarkData.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMarkData.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/data.png")));
    jMenuItemMarkData.setMnemonic('d');
    jMenuItemMarkData.setText("Mark as data");
    jMenuItemMarkData.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMarkDataActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMarkData);
    jSubMenu.setText("(more specific data selection)");
    jMenuItemByteHex1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_B, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemByteHex1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/B.png")));
    jMenuItemByteHex1.setMnemonic('b');
    jMenuItemByteHex1.setText("(B) Mark data as Byte (HEX)");
    jMenuItemByteHex1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteHex1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemByteHex1);
    jMenuItemByteDec1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemByteDec1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/D.png")));
    jMenuItemByteDec1.setMnemonic('d');
    jMenuItemByteDec1.setText("(D) Mark data as Byte (DEC)");
    jMenuItemByteDec1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteDec1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemByteDec1);
    jMenuItemByteBin1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Y, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemByteBin1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/Y.png")));
    jMenuItemByteBin1.setMnemonic('y');
    jMenuItemByteBin1.setText("(Y) Mark data as Byte (BIN)");
    jMenuItemByteBin1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteBin1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemByteBin1);
    jMenuItemByteChar1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemByteChar1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/R.png")));
    jMenuItemByteChar1.setMnemonic('r');
    jMenuItemByteChar1.setText("(R) Mark data as Byte (CHAR)");
    jMenuItemByteChar1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemByteChar1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemByteChar1);
    jSubMenu.add(jSeparatorByte1);
    jMenuItemWord1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemWord1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/W.png")));
    jMenuItemWord1.setMnemonic('w');
    jMenuItemWord1.setText("(W) Mark data as Word");
    jMenuItemWord1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemWord1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemWord1);
    jMenuItemWordSwapped1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemWordSwapped1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/P.png")));
    jMenuItemWordSwapped1.setMnemonic('p');
    jMenuItemWordSwapped1.setText("(P) Mark data as Word Swapped");
    jMenuItemWordSwapped1.setToolTipText("");
    jMenuItemWordSwapped1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemWordSwapped1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemWordSwapped1);
    jSubMenu.add(jSeparatorWord1);
    jMenuItemTribyte1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemTribyte1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/E.png")));
    jMenuItemTribyte1.setText("(E) Mark data as Tribyte");
    jMenuItemTribyte1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTribyte1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemTribyte1);
    jMenuItemLong1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemLong1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/L.png")));
    jMenuItemLong1.setMnemonic('l');
    jMenuItemLong1.setText("(L) Mark data as Long");
    jMenuItemLong1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemLong1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemLong1);
    jSubMenu.add(jSeparator5);
    jMenuItemAddress1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemAddress1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/A.png")));
    jMenuItemAddress1.setMnemonic('a');
    jMenuItemAddress1.setText("(A) Mark data as Address");
    jMenuItemAddress1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAddress1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemAddress1);
    jMenuItemStackWord1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemStackWord1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/S.png")));
    jMenuItemStackWord1.setMnemonic('s');
    jMenuItemStackWord1.setText("(S) Mark data as Stack Word");
    jMenuItemStackWord1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemStackWord1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemStackWord1);
    jSubMenu.add(jSeparator6);
    jMenuItemSpriteMono1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemSpriteMono1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/O.png")));
    jMenuItemSpriteMono1.setMnemonic('o');
    jMenuItemSpriteMono1.setText("(O) Mark data as Monocromatic Sprite definitions");
    jMenuItemSpriteMono1.setToolTipText("");
    jMenuItemSpriteMono1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSpriteMono1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemSpriteMono1);
    jMenuItemSpriteMulti1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemSpriteMulti1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/F.png")));
    jMenuItemSpriteMulti1.setMnemonic('f');
    jMenuItemSpriteMulti1.setText("(F) Mark data as Multicolor Sprite definitions");
    jMenuItemSpriteMulti1.setToolTipText("");
    jMenuItemSpriteMulti1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSpriteMulti1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemSpriteMulti1);
    jSubMenu.add(jSeparatorSprite1);
    jMenuItemText1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemText1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/T.png")));
    jMenuItemText1.setMnemonic('t');
    jMenuItemText1.setText("(T) Mark data as Text");
    jMenuItemText1.setToolTipText("");
    jMenuItemText1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemText1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemText1);
    jMenuItemNumText1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemNumText1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/N.png")));
    jMenuItemNumText1.setMnemonic('n');
    jMenuItemNumText1.setText("(N) Mark data as Text with # chars before");
    jMenuItemNumText1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemNumText1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemNumText1);
    jMenuItemTextZero1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemTextZero1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/Z.png")));
    jMenuItemTextZero1.setMnemonic('z');
    jMenuItemTextZero1.setText("(Z) Mark data as text terminated with 0");
    jMenuItemTextZero1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextZero1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemTextZero1);
    jMenuItemtextHighOne1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemtextHighOne1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/M.png")));
    jMenuItemtextHighOne1.setMnemonic('m');
    jMenuItemtextHighOne1.setText("(M) Mark data as Text with high bit 1");
    jMenuItemtextHighOne1.setToolTipText("");
    jMenuItemtextHighOne1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemtextHighOne1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemtextHighOne1);
    jMenuItemtextShifted1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemtextShifted1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/H.png")));
    jMenuItemtextShifted1.setMnemonic('h');
    jMenuItemtextShifted1.setText("(H) Mark data as Text left shifted");
    jMenuItemtextShifted1.setToolTipText("");
    jMenuItemtextShifted1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemtextShifted1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemtextShifted1);
    jMenuItemTextScreen1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemTextScreen1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/C.png")));
    jMenuItemTextScreen1.setMnemonic('c');
    jMenuItemTextScreen1.setText("(C) Mark data as Text converted to screen code");
    jMenuItemTextScreen1.setToolTipText("");
    jMenuItemTextScreen1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextScreen1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemTextScreen1);
    jMenuItemTextPetascii1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemTextPetascii1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/I.png")));
    jMenuItemTextPetascii1.setMnemonic('i');
    jMenuItemTextPetascii1.setText("(I) Mark data as Text converted to petAscii code");
    jMenuItemTextPetascii1.setToolTipText("");
    jMenuItemTextPetascii1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemTextPetascii1ActionPerformed(evt);
        }
    });
    jSubMenu.add(jMenuItemTextPetascii1);
    jMenuMemory.add(jSubMenu);
    jMenuItemMarkGarbage.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_G, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMarkGarbage.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/garb.png")));
    jMenuItemMarkGarbage.setMnemonic('g');
    jMenuItemMarkGarbage.setText("Mark as garbage");
    jMenuItemMarkGarbage.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMarkGarbageActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMarkGarbage);
    jSubMenuC.setText("Sub-mark a cell");
    jMenuItemConstant0b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_0, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant0b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/0.png")));
    jMenuItemConstant0b.setText("as of constant 0");
    jMenuItemConstant0b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant0bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant0b);
    jMenuItemConstant1b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_1, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant1b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/1.png")));
    jMenuItemConstant1b.setText("as of constant 1");
    jMenuItemConstant1b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant1bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant1b);
    jMenuItemConstant2b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_2, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant2b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/2.png")));
    jMenuItemConstant2b.setText("as of constant 2");
    jMenuItemConstant2b.setToolTipText("");
    jMenuItemConstant2b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant2bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant2b);
    jMenuItemConstant3b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_3, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant3b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/3.png")));
    jMenuItemConstant3b.setText("as of constant 3");
    jMenuItemConstant3b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant3bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant3b);
    jMenuItemConstant4b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_4, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant4b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/4.png")));
    jMenuItemConstant4b.setText("as of constant 4");
    jMenuItemConstant4b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant4bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant4b);
    jMenuItemConstant5b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_5, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant5b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/5.png")));
    jMenuItemConstant5b.setText("as of constant 5");
    jMenuItemConstant5b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant5bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant5b);
    jMenuItemConstant6b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_6, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant6b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/6.png")));
    jMenuItemConstant6b.setText("as of constant 6");
    jMenuItemConstant6b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant6bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant6b);
    jMenuItemConstant7b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_7, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant7b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/7.png")));
    jMenuItemConstant7b.setText("as of constant 7");
    jMenuItemConstant7b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant7bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant7b);
    jMenuItemConstant8b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_8, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant8b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/8.png")));
    jMenuItemConstant8b.setText("as of constant 8");
    jMenuItemConstant8b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant8bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant8b);
    jMenuItemConstant9b.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_9, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstant9b.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/9.png")));
    jMenuItemConstant9b.setText("as of constant 9");
    jMenuItemConstant9b.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstant9bActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstant9b);
    jMenuItemConstantClear.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_BACK_SPACE, java.awt.event.InputEvent.ALT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConstantClear.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/0-9.png")));
    jMenuItemConstantClear.setText("reset to none");
    jMenuItemConstantClear.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConstantClearActionPerformed(evt);
        }
    });
    jSubMenuC.add(jMenuItemConstantClear);
    jMenuMemory.add(jSubMenuC);
    jMenuItemPlus.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ADD, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemPlus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/plus.png")));
    jMenuItemPlus.setText("Assign the selected address as +");
    jMenuItemPlus.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemPlusActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemPlus);
    jMenuItemMinus.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMinus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/minus.png")));
    jMenuItemMinus.setText("Assign the selected address as -");
    jMenuItemMinus.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMinusActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMinus);
    jMenuItemMemLow.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_1, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMemLow.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/min.png")));
    jMenuItemMemLow.setText("Assign the selected address as #<");
    jMenuItemMemLow.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMemLowActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMemLow);
    jMenuItemMemLowHigh.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_2, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMemLowHigh.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/minmax.png")));
    jMenuItemMemLowHigh.setText("Assign the 2 selected addresses as #<>");
    jMenuItemMemLowHigh.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMemLowHighActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMemLowHigh);
    jMenuItemMemBoth.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_3, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMemBoth.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/minmax.png")));
    jMenuItemMemBoth.setText("Assign the 2 tables as #<>");
    jMenuItemMemBoth.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMemBothActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMemBoth);
    jMenuItemMemHighLow.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_4, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMemHighLow.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/maxmin.png")));
    jMenuItemMemHighLow.setText("Assign the 2 selected addresses as #><");
    jMenuItemMemHighLow.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMemHighLowActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMemHighLow);
    jMenuItemMemHigh.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_RIGHT, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemMemHigh.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/max.png")));
    jMenuItemMemHigh.setText("Assign the selected address as #>");
    jMenuItemMemHigh.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemMemHighActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemMemHigh);
    jMenuItemWizard.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemWizard.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/wizard.png")));
    jMenuItemWizard.setText("Assign using wizard");
    jMenuItemWizard.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemWizardActionPerformed(evt);
        }
    });
    jMenuMemory.add(jMenuItemWizard);
    jMenuBar.add(jMenuMemory);
    jMenuOption.setText("Option");
    jMenuOption.setToolTipText("");
    jMenuItemConfigure.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemConfigure.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/configure.png")));
    jMenuItemConfigure.setMnemonic('o');
    jMenuItemConfigure.setText("General Option");
    jMenuItemConfigure.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemConfigureActionPerformed(evt);
        }
    });
    jMenuOption.add(jMenuItemConfigure);
    jMenuItemSIDLD.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemSIDLD.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/mem.png")));
    jMenuItemSIDLD.setMnemonic('e');
    jMenuItemSIDLD.setText("Apply SIDLD flags to memory");
    jMenuItemSIDLD.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSIDLDActionPerformed(evt);
        }
    });
    jMenuOption.add(jMenuItemSIDLD);
    jMenuOption.add(jSeparatorOption);
    jMenuItemViewProject.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_J, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemViewProject.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/view_detailed.png")));
    jMenuItemViewProject.setMnemonic('j');
    jMenuItemViewProject.setText("View Project");
    jMenuItemViewProject.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemViewProjectActionPerformed(evt);
        }
    });
    jMenuOption.add(jMenuItemViewProject);
    jMenuItemViewLabels.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_B, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemViewLabels.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/view_label.png")));
    jMenuItemViewLabels.setMnemonic('b');
    jMenuItemViewLabels.setText("View labels");
    jMenuItemViewLabels.setToolTipText("");
    jMenuItemViewLabels.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemViewLabelsActionPerformed(evt);
        }
    });
    jMenuOption.add(jMenuItemViewLabels);
    jMenuBar.add(jMenuOption);
    jMenuSource.setText("Source");
    jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItem1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/finda.png")));
    jMenuItem1.setText("Find memory address");
    jMenuItem1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItem1ActionPerformed(evt);
        }
    });
    jMenuSource.add(jMenuItem1);
    jMenuItemDiss.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemDiss.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/exec.png")));
    jMenuItemDiss.setMnemonic('e');
    jMenuItemDiss.setText("Disassemble");
    jMenuItemDiss.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemDissActionPerformed(evt);
        }
    });
    jMenuSource.add(jMenuItemDiss);
    jMenuItemAssembly.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemAssembly.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/assembler.png")));
    jMenuItemAssembly.setMnemonic('t');
    jMenuItemAssembly.setText("Assemble");
    jMenuItemAssembly.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAssemblyActionPerformed(evt);
        }
    });
    jMenuSource.add(jMenuItemAssembly);
    jMenuSource.add(jSeparator1);
    jMenuItemFindDis.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemFindDis.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/findd.png")));
    jMenuItemFindDis.setText("Find text in preview");
    jMenuItemFindDis.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemFindDisActionPerformed(evt);
        }
    });
    jMenuSource.add(jMenuItemFindDis);
    jMenuItemDissSaveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemDissSaveAs.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/exportas1.png")));
    jMenuItemDissSaveAs.setMnemonic('p');
    jMenuItemDissSaveAs.setText("Export As of preview");
    jMenuItemDissSaveAs.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemDissSaveAsActionPerformed(evt);
        }
    });
    jMenuSource.add(jMenuItemDissSaveAs);
    jMenuSource.add(jSeparator2);
    jMenuItemFindSource.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemFindSource.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/finds.png")));
    jMenuItemFindSource.setText("Find text in source");
    jMenuItemFindSource.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemFindSourceActionPerformed(evt);
        }
    });
    jMenuSource.add(jMenuItemFindSource);
    jMenuItemSourceSaveAs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    // NOI18N
    jMenuItemSourceSaveAs.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/exportas2.png")));
    jMenuItemSourceSaveAs.setMnemonic('s');
    jMenuItemSourceSaveAs.setText("Export As of source");
    jMenuItemSourceSaveAs.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSourceSaveAsActionPerformed(evt);
        }
    });
    jMenuSource.add(jMenuItemSourceSaveAs);
    jMenuSub.setText("(more specific export)");
    jMenuItemSaveAsDasm1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_0, java.awt.event.InputEvent.ALT_DOWN_MASK));
    jMenuItemSaveAsDasm1.setText("Save in Dasm format");
    jMenuItemSaveAsDasm1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsDasm1ActionPerformed(evt);
        }
    });
    jMenuSub.add(jMenuItemSaveAsDasm1);
    jMenuItemSaveAsTmpx1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_1, java.awt.event.InputEvent.ALT_DOWN_MASK));
    jMenuItemSaveAsTmpx1.setText("Save in TMPx format");
    jMenuItemSaveAsTmpx1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsTmpx1ActionPerformed(evt);
        }
    });
    jMenuSub.add(jMenuItemSaveAsTmpx1);
    jMenuItemSaveAsCa66.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_2, java.awt.event.InputEvent.ALT_DOWN_MASK));
    jMenuItemSaveAsCa66.setText("Save in CA65 format");
    jMenuItemSaveAsCa66.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsCa66ActionPerformed(evt);
        }
    });
    jMenuSub.add(jMenuItemSaveAsCa66);
    jMenuItemSaveAsAcme1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_3, java.awt.event.InputEvent.ALT_DOWN_MASK));
    jMenuItemSaveAsAcme1.setText("Save in Acme format");
    jMenuItemSaveAsAcme1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsAcme1ActionPerformed(evt);
        }
    });
    jMenuSub.add(jMenuItemSaveAsAcme1);
    jMenuItemSaveAsKickAssembler1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_4, java.awt.event.InputEvent.ALT_DOWN_MASK));
    jMenuItemSaveAsKickAssembler1.setText("Save in KickAssembler format");
    jMenuItemSaveAsKickAssembler1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsKickAssembler1ActionPerformed(evt);
        }
    });
    jMenuSub.add(jMenuItemSaveAsKickAssembler1);
    jMenuItemSaveAsTass65.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_5, java.awt.event.InputEvent.ALT_DOWN_MASK));
    jMenuItemSaveAsTass65.setText("Save in Tass64 format");
    jMenuItemSaveAsTass65.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemSaveAsTass65ActionPerformed(evt);
        }
    });
    jMenuSub.add(jMenuItemSaveAsTass65);
    jMenuSource.add(jMenuSub);
    // NOI18N
    jMenuItem3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/freeze.png")));
    jMenuItem3.setText("Freeze source");
    jMenuItem3.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItem3ActionPerformed(evt);
        }
    });
    jMenuSource.add(jMenuItem3);
    jMenuBar.add(jMenuSource);
    jMenuHelpContents.setText("Help");
    jMenuItemContents.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0));
    // NOI18N
    jMenuItemContents.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sw_emulator/swing/icons/mini/help_index.png")));
    jMenuItemContents.setMnemonic('h');
    jMenuItemContents.setText("Help contents");
    jMenuItemContents.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemContentsActionPerformed(evt);
        }
    });
    jMenuHelpContents.add(jMenuItemContents);
    jMenuHelpContents.add(jSeparatorHelp1);
    jMenuItemLicense.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    jMenuItemLicense.setMnemonic('l');
    jMenuItemLicense.setText("License");
    jMenuItemLicense.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemLicenseActionPerformed(evt);
        }
    });
    jMenuHelpContents.add(jMenuItemLicense);
    jMenuItemCredits.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    jMenuItemCredits.setMnemonic('d');
    jMenuItemCredits.setText("Credits");
    jMenuItemCredits.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemCreditsActionPerformed(evt);
        }
    });
    jMenuHelpContents.add(jMenuItemCredits);
    jMenuItemAbout.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    jMenuItemAbout.setMnemonic('a');
    jMenuItemAbout.setText("About");
    jMenuItemAbout.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAboutActionPerformed(evt);
        }
    });
    jMenuHelpContents.add(jMenuItemAbout);
    jMenuHelpContents.add(jSeparatorHelp2);
    jMenuItemImportLabels.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    jMenuItemImportLabels.setMnemonic('i');
    jMenuItemImportLabels.setText("Import labels");
    jMenuItemImportLabels.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemImportLabelsActionPerformed(evt);
        }
    });
    jMenuHelpContents.add(jMenuItemImportLabels);
    jMenuItemRefactorLabels.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    jMenuItemRefactorLabels.setMnemonic('t');
    jMenuItemRefactorLabels.setText("Refactor labels");
    jMenuItemRefactorLabels.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemRefactorLabelsActionPerformed(evt);
        }
    });
    jMenuHelpContents.add(jMenuItemRefactorLabels);
    jMenuItemAutComment.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    jMenuItemAutComment.setText("Clear automatic  comment");
    jMenuItemAutComment.setActionCommand("Clear automatic comment");
    jMenuItemAutComment.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAutCommentActionPerformed(evt);
        }
    });
    jMenuHelpContents.add(jMenuItemAutComment);
    jMenuItemAutLabel.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, java.awt.event.InputEvent.SHIFT_DOWN_MASK | java.awt.event.InputEvent.CTRL_DOWN_MASK));
    jMenuItemAutLabel.setText("Clear automatic label");
    jMenuItemAutLabel.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemAutLabelActionPerformed(evt);
        }
    });
    jMenuHelpContents.add(jMenuItemAutLabel);
    jMenuHelpContents.add(jSeparatorHelp3);
    jMenuUndo.setText("Undo");
    jMenuUndo.addMenuListener(new javax.swing.event.MenuListener() {

        public void menuSelected(javax.swing.event.MenuEvent evt) {
            jMenuUndoMenuSelected(evt);
        }

        public void menuDeselected(javax.swing.event.MenuEvent evt) {
        }

        public void menuCanceled(javax.swing.event.MenuEvent evt) {
        }
    });
    jMenuItemUndo1.setEnabled(false);
    jMenuItemUndo1.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo1ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo1);
    jMenuItemUndo2.setToolTipText("");
    jMenuItemUndo2.setEnabled(false);
    jMenuItemUndo2.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo2ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo2);
    jMenuItemUndo3.setEnabled(false);
    jMenuItemUndo3.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo3ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo3);
    jMenuItemUndo4.setEnabled(false);
    jMenuItemUndo4.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo4ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo4);
    jMenuItemUndo5.setToolTipText("");
    jMenuItemUndo5.setEnabled(false);
    jMenuItemUndo5.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo5ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo5);
    jMenuItemUndo6.setToolTipText("");
    jMenuItemUndo6.setEnabled(false);
    jMenuItemUndo6.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo6ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo6);
    jMenuItemUndo7.setEnabled(false);
    jMenuItemUndo7.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo7ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo7);
    jMenuItemUndo8.setEnabled(false);
    jMenuItemUndo8.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo8ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo8);
    jMenuItemUndo9.setToolTipText("");
    jMenuItemUndo9.setEnabled(false);
    jMenuItemUndo9.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItemUndo9ActionPerformed(evt);
        }
    });
    jMenuUndo.add(jMenuItemUndo9);
    jMenuHelpContents.add(jMenuUndo);
    jMenuBar.add(jMenuHelpContents);
    setJMenuBar(jMenuBar);
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jSplitPaneExternal).addComponent(jPanelToolBar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));
    layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(jPanelToolBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jSplitPaneExternal, javax.swing.GroupLayout.DEFAULT_SIZE, 613, Short.MAX_VALUE)));
    pack();
}
Also used : ActionEvent(java.awt.event.ActionEvent) JTableHeader(javax.swing.table.JTableHeader) SearchContext(org.fife.ui.rtextarea.SearchContext) SearchListener(org.fife.rsta.ui.search.SearchListener) AbstractAction(javax.swing.AbstractAction) Font(java.awt.Font) KeyEvent(java.awt.event.KeyEvent) JTable(javax.swing.JTable) InputMap(javax.swing.InputMap) ActionListener(java.awt.event.ActionListener) MemoryDasm(sw_emulator.software.MemoryDasm) FindDialog(org.fife.rsta.ui.search.FindDialog) MouseEvent(java.awt.event.MouseEvent) ActionMap(javax.swing.ActionMap) SearchEvent(org.fife.rsta.ui.search.SearchEvent) SearchResult(org.fife.ui.rtextarea.SearchResult) ActionEvent(java.awt.event.ActionEvent) MouseEvent(java.awt.event.MouseEvent) JScrollPane(javax.swing.JScrollPane)

Example 92 with JTableHeader

use of javax.swing.table.JTableHeader in project MeteoInfo by meteoinfo.

the class RowHeaderRenderer method getTableCellRendererComponent.

@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    ((RowHeaderTableModel) table.getModel()).setRowCount(_refTable.getRowCount());
    JTableHeader header = _refTable.getTableHeader();
    this.setOpaque(true);
    // setBorder(UIManager.getBorder("TableHeader.cellBorder"));//设置为TableHeader的边框类型
    // 让text居中显示
    setHorizontalAlignment(CENTER);
    // 设置背景色为TableHeader的背景色
    setBackground(header.getBackground());
    if (// 当选取单元格时,在row header上设置成选取颜色
    isSelect(row)) {
        setForeground(Color.white);
        setBackground(Color.lightGray);
    } else {
        setForeground(header.getForeground());
    }
    setFont(header.getFont());
    setText(String.valueOf(row + 1));
    return this;
}
Also used : JTableHeader(javax.swing.table.JTableHeader)

Example 93 with JTableHeader

use of javax.swing.table.JTableHeader in project MeteoInfo by meteoinfo.

the class RowHeaderRenderer1 method getTableCellRendererComponent.

@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    int rowCount = _refTable.getRowCount();
    ((RowHeaderTableModel) table.getModel()).setRowCount(rowCount);
    JTableHeader header = _refTable.getTableHeader();
    this.setOpaque(true);
    // setBorder(UIManager.getBorder("TableHeader.cellBorder"));//设置为TableHeader的边框类型
    // 让text居中显示
    setHorizontalAlignment(CENTER);
    // 设置背景色为TableHeader的背景色
    setBackground(header.getBackground());
    if (// 当选取单元格时,在row header上设置成选取颜色
    isSelect(row)) {
        setForeground(Color.white);
        setBackground(Color.lightGray);
    } else {
        setForeground(header.getForeground());
    }
    setFont(header.getFont());
    setText(String.valueOf(rowCount - row - 1));
    return this;
}
Also used : JTableHeader(javax.swing.table.JTableHeader)

Example 94 with JTableHeader

use of javax.swing.table.JTableHeader in project PACOM by smdb21.

the class ImportTasksTable method createDefaultTableHeader.

@Override
protected JTableHeader createDefaultTableHeader() {
    JTableHeader jTableHeader = new JTableHeader(columnModel) {

        private static final long serialVersionUID = 3243436419296546234L;

        @Override
        public String getToolTipText(MouseEvent e) {
            java.awt.Point p = e.getPoint();
            int index = columnModel.getColumnIndexAtX(p.x);
            // int realIndex =
            // columnModel.getColumn(index).getModelIndex();
            // String columnName = (String)
            // columnModel.getColumn(index).getHeaderValue();
            String tip = ImportTaskColumns.getColumns().get(index).getDescription();
            // log.info("Tip = " + tip);
            if (tip != null)
                return tip;
            else
                return super.getToolTipText(e);
        }
    };
    DefaultTableCellRenderer defaultRenderer = (DefaultTableCellRenderer) jTableHeader.getDefaultRenderer();
    if (defaultRenderer instanceof DefaultTableCellRenderer) {
        defaultRenderer.setHorizontalAlignment(SwingConstants.CENTER);
    }
    return jTableHeader;
}
Also used : MouseEvent(java.awt.event.MouseEvent) JTableHeader(javax.swing.table.JTableHeader) DefaultTableCellRenderer(javax.swing.table.DefaultTableCellRenderer)

Example 95 with JTableHeader

use of javax.swing.table.JTableHeader in project mars-sim by mars-sim.

the class TableColumnManager method showPopup.

/*
     *  Show a popup containing items for all the columns found in the
     *  table column manager. The popup will be displayed below the table
     *  header columns that was clicked.
     *
     *  @param  index  index of the table header column that was clicked
     */
private void showPopup(int index) {
    Object headerValue = tcm.getColumn(index).getHeaderValue();
    int columnCount = tcm.getColumnCount();
    JPopupMenu popup = new SelectPopupMenu();
    for (TableColumn tableColumn : allColumns) {
        Object value = tableColumn.getHeaderValue();
        JCheckBoxMenuItem item = new JCheckBoxMenuItem(value.toString());
        item.addActionListener(this);
        try {
            tcm.getColumnIndex(value);
            item.setSelected(true);
            if (columnCount == 1)
                item.setEnabled(false);
        } catch (IllegalArgumentException e) {
            item.setSelected(false);
        }
        popup.add(item);
        if (value == headerValue)
            popup.setSelected(item);
    }
    // Display the popup below the TableHeader
    JTableHeader header = table.getTableHeader();
    Rectangle r = header.getHeaderRect(index);
    popup.show(header, r.x, r.height);
}
Also used : Rectangle(java.awt.Rectangle) JTableHeader(javax.swing.table.JTableHeader) TableColumn(javax.swing.table.TableColumn) JPopupMenu(javax.swing.JPopupMenu) JCheckBoxMenuItem(javax.swing.JCheckBoxMenuItem)

Aggregations

JTableHeader (javax.swing.table.JTableHeader)240 TableColumn (javax.swing.table.TableColumn)59 MouseEvent (java.awt.event.MouseEvent)56 JTable (javax.swing.JTable)53 TableColumnModel (javax.swing.table.TableColumnModel)45 TableCellRenderer (javax.swing.table.TableCellRenderer)38 Component (java.awt.Component)35 MouseAdapter (java.awt.event.MouseAdapter)32 DefaultTableModel (javax.swing.table.DefaultTableModel)29 DefaultTableCellRenderer (javax.swing.table.DefaultTableCellRenderer)28 Color (java.awt.Color)25 JPanel (javax.swing.JPanel)25 JScrollPane (javax.swing.JScrollPane)25 JLabel (javax.swing.JLabel)23 Point (java.awt.Point)22 Dimension (java.awt.Dimension)20 BorderLayout (java.awt.BorderLayout)18 JComponent (javax.swing.JComponent)17 TableModel (javax.swing.table.TableModel)17 JButton (javax.swing.JButton)14