private JPanel makeContentPanel() { JPanel pathPanel = new JPanel(); pathPanel.setLayout(new BoxLayout(pathPanel, BoxLayout.Y_AXIS)); pathPanel.add(Box.createVerticalStrut(STRUT_SIZE)); JPanel panel = new JPanel(); panel.add(new JLabel(Bundle.getMessage("PathTitle", _block.getDisplayName()))); pathPanel.add(panel); _pathListModel = new PathListModel(); _pathList = new JList<OPath>(); _pathList.setModel(_pathListModel); _pathList.addListSelectionListener(this); _pathList.setCellRenderer(new PathCellRenderer()); JScrollPane pane = new JScrollPane(_pathList); pathPanel.add(pane); pathPanel.add(Box.createVerticalStrut(STRUT_SIZE)); panel = new JPanel(); panel.setLayout(new FlowLayout()); JButton clearButton = new JButton(Bundle.getMessage("buttonClearSelection")); clearButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent a) { clearListSelection(); } }); clearButton.setToolTipText(Bundle.getMessage("ToolTipClearList")); panel.add(clearButton); pathPanel.add(panel); pathPanel.add(Box.createVerticalStrut(STRUT_SIZE)); panel = new JPanel(); panel.add( CircuitBuilder.makeTextBoxPanel(false, _pathName, "pathName", true, "TooltipPathName")); _pathName.setPreferredSize(new Dimension(300, _pathName.getPreferredSize().height)); pathPanel.add(panel); panel = new JPanel(); JButton addButton = new JButton(Bundle.getMessage("buttonAddPath")); addButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent a) { addPath(); } }); addButton.setToolTipText(Bundle.getMessage("ToolTipAddPath")); panel.add(addButton); JButton changeButton = new JButton(Bundle.getMessage("buttonChangeName")); changeButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent a) { changePathName(); } }); changeButton.setToolTipText(Bundle.getMessage("ToolTipChangeName")); panel.add(changeButton); JButton deleteButton = new JButton(Bundle.getMessage("buttonDeletePath")); deleteButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent a) { deletePath(); } }); deleteButton.setToolTipText(Bundle.getMessage("ToolTipDeletePath")); panel.add(deleteButton); pathPanel.add(panel); pathPanel.add(Box.createVerticalStrut(STRUT_SIZE)); JPanel pp = new JPanel(); // pp.setLayout(new BoxLayout(pp, BoxLayout.X_AXIS)); _length.setText("0.0"); pp.add(CircuitBuilder.makeTextBoxPanel(false, _length, "length", true, "TooltipPathLength")); _length.setPreferredSize(new Dimension(100, _length.getPreferredSize().height)); _length.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { _pathChange = true; } }); _units = new JToggleButton("", !_block.isMetric()); _units.setToolTipText(Bundle.getMessage("TooltipPathLength")); _units.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { changeUnits(); } }); pp.add(_units); pathPanel.add(pp); pathPanel.add(Box.createVerticalStrut(STRUT_SIZE)); panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); JLabel l = new JLabel(Bundle.getMessage("enterNewPath")); l.setAlignmentX(JComponent.LEFT_ALIGNMENT); panel.add(l); l = new JLabel(Bundle.getMessage("selectPathIcons")); l.setAlignmentX(JComponent.LEFT_ALIGNMENT); panel.add(l); l = new JLabel(Bundle.getMessage("pressAddButton")); l.setAlignmentX(JComponent.LEFT_ALIGNMENT); panel.add(l); panel.add(Box.createVerticalStrut(STRUT_SIZE / 2)); l = new JLabel(Bundle.getMessage("selectPath")); l.setAlignmentX(JComponent.LEFT_ALIGNMENT); panel.add(l); l = new JLabel(Bundle.getMessage("editPathIcons")); l.setAlignmentX(JComponent.LEFT_ALIGNMENT); panel.add(l); panel.add(Box.createVerticalStrut(STRUT_SIZE / 2)); l = new JLabel(Bundle.getMessage("throwPathTO")); l.setAlignmentX(JComponent.LEFT_ALIGNMENT); panel.add(l); l = new JLabel(Bundle.getMessage("holdShiftDown")); l.setAlignmentX(JComponent.LEFT_ALIGNMENT); panel.add(l); JPanel p = new JPanel(); p.add(panel); pathPanel.add(p); pathPanel.add(Box.createVerticalStrut(STRUT_SIZE)); pathPanel.add(MakeButtonPanel()); changeUnits(); return pathPanel; }