📄 componentmenu.java
字号:
lowerRight.add(deleteRow, gridBagConstraints); addColumn.setText("Add Column to Right of Current"); addColumn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { addColumnActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); lowerRight.add(addColumn, gridBagConstraints); deleteColumn.setText("Delete Column With Current"); deleteColumn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { deleteColumnActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); lowerRight.add(deleteColumn, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 9; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; Top.add(lowerRight, gridBagConstraints); lowerLeft.setLayout(new java.awt.GridBagLayout()); selectedMenuName.setText("selected menu"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); lowerLeft.add(selectedMenuName, gridBagConstraints); popupListPane.setPreferredSize(new java.awt.Dimension(200, 70)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 0.25; gridBagConstraints.weighty = 0.1; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); lowerLeft.add(popupListPane, gridBagConstraints); nodeAngleLabel.setText("Angle:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 1, 4); lowerLeft.add(nodeAngleLabel, gridBagConstraints); nodeFunctionLabel.setText("Function:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(1, 4, 1, 4); lowerLeft.add(nodeFunctionLabel, gridBagConstraints); nodeNameLabel.setText("Label:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(1, 4, 1, 4); lowerLeft.add(nodeNameLabel, gridBagConstraints); nodeTextSizeLabel.setText("Label Size:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(1, 4, 1, 4); lowerLeft.add(nodeTextSizeLabel, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(1, 4, 1, 4); lowerLeft.add(nodeTextSize, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(1, 4, 1, 4); lowerLeft.add(nodeName, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(1, 4, 1, 4); lowerLeft.add(nodeFunction, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(4, 4, 1, 4); lowerLeft.add(nodeAngle, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 9; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; Top.add(lowerLeft, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 6; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 0.5; gridBagConstraints.weighty = 0.3; gridBagConstraints.insets = new java.awt.Insets(1, 4, 4, 4); Top.add(cellListPane, gridBagConstraints); jLabel1.setText("Cells:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(4, 40, 1, 4); Top.add(jLabel1, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; Top.add(libraryName, gridBagConstraints); getContentPane().add(Top, java.awt.BorderLayout.CENTER); pack(); }// </editor-fold>//GEN-END:initComponents private void deleteColumnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteColumnActionPerformed if (menuWid <= 1) { Job.getUserInterface().showErrorMessage("There must be at least one column...cannot delete the last one", "Cannot Remove Column"); return; } for(int y=0; y<menuHei; y++) { Object [] newRow = new Object[menuWid-1]; int fill = 0; for(int x=0; x<menuWid; x++) { if (x == menuSelectedX) continue; newRow[fill++] = menuArray[y][x]; } menuArray[y] = newRow; } menuWid--; if (menuSelectedX >= menuWid) menuSelectedX--; menuView.repaint(); showSelected(); showMenuSize(); changed = true; }//GEN-LAST:event_deleteColumnActionPerformed private void addColumnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addColumnActionPerformed for(int y=0; y<menuHei; y++) { Object [] newRow = new Object[menuWid+1]; int fill = 0; for(int x=0; x<menuWid; x++) { newRow[fill++] = menuArray[y][x]; if (x == menuSelectedX) newRow[fill++] = null; } menuArray[y] = newRow; } menuWid++; menuSelectedX++; menuView.repaint(); showSelected(); showMenuSize(); changed = true; }//GEN-LAST:event_addColumnActionPerformed private void deleteRowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteRowActionPerformed if (menuHei <= 1) { Job.getUserInterface().showErrorMessage("There must be at least one row...cannot delete the last one", "Cannot Remove Row"); return; } Object [][] newMenu = new Object[menuHei-1][]; int fill = 0; for(int y=0; y<menuHei; y++) { if (y == menuSelectedY) continue; newMenu[fill++] = menuArray[y]; } menuArray = newMenu; menuHei--; if (menuSelectedY >= menuHei) menuSelectedY--; menuView.repaint(); showSelected(); showMenuSize(); changed = true; }//GEN-LAST:event_deleteRowActionPerformed private void addRowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addRowActionPerformed Object [][] newMenu = new Object[menuHei+1][]; int fill = 0; for(int y=0; y<menuHei; y++) { if (y == menuSelectedY) newMenu[fill++] = new Object[menuWid]; newMenu[fill++] = menuArray[y]; } menuArray = newMenu; menuHei++; menuSelectedY++; menuView.repaint(); showSelected(); showMenuSize(); changed = true; }//GEN-LAST:event_addRowActionPerformed private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_removeButtonActionPerformed if (menuArray[menuSelectedY] == null) menuArray[menuSelectedY] = new Object[menuWid]; Object item = menuArray[menuSelectedY][menuSelectedX]; if (item == null) return; if (item instanceof List) { List popupItems = (List)item; int index = listPopup.getSelectedIndex(); if (index < 0) { Job.getUserInterface().showErrorMessage("Must first select the popup item to be removed from the list", "Cannot Remove"); return; } popupItems.remove(index); if (popupItems.size() == 1) menuArray[menuSelectedY][menuSelectedX] = popupItems.get(0); } else { menuArray[menuSelectedY][menuSelectedX] = null; } menuView.repaint(); showSelected(); changed = true; }//GEN-LAST:event_removeButtonActionPerformed private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addButtonActionPerformed switch (lastListSelected) { case 0: // add a node String nodeName = (String)listNodes.getSelectedValue(); Xml.PrimitiveNode pnp = xTech.findNode(nodeName); addToMenu(pnp); break; case 1: // add an arc String arcName = (String)listArcs.getSelectedValue(); Xml.ArcProto ap = xTech.findArc(arcName); addToMenu(ap); break; case 2: // add a cell String cellName = (String)listCells.getSelectedValue(); String libName = (String)libraryName.getSelectedItem(); addToMenu("LOADCELL " + libName + ":" + cellName); break; case 3: // add a special text String specialName = (String)listSpecials.getSelectedValue(); addToMenu(specialName); break; } }//GEN-LAST:event_addButtonActionPerformed /** Closes the dialog */ private void closeDialog(java.awt.event.WindowEvent evt)//GEN-FIRST:event_closeDialog { setVisible(false); dispose(); }//GEN-LAST:event_closeDialog // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel Top; private javax.swing.JButton addButton; private javax.swing.JButton addColumn; private javax.swing.JButton addRow; private javax.swing.JScrollPane arcListPane; private javax.swing.JScrollPane cellListPane; private javax.swing.JButton deleteColumn; private javax.swing.JButton deleteRow; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JComboBox libraryName; private javax.swing.JPanel lowerLeft; private javax.swing.JPanel lowerRight; private javax.swing.JLabel menuSize; private javax.swing.JTextField nodeAngle; private javax.swing.JLabel nodeAngleLabel; private javax.swing.JComboBox nodeFunction; private javax.swing.JLabel nodeFunctionLabel; private javax.swing.JScrollPane nodeListPane; private javax.swing.JTextField nodeName; private javax.swing.JLabel nodeNameLabel; private javax.swing.JTextField nodeTextSize; private javax.swing.JLabel nodeTextSizeLabel; private javax.swing.JScrollPane popupListPane; private javax.swing.JButton removeButton; private javax.swing.JLabel selectedMenuName; private javax.swing.JScrollPane specialListPane; // End of variables declaration//GEN-END:variables}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -