スタンプ入れ替えロック
client/StampTreePanel.java の編集
public StampTreePanel(StampTree tree) { ・ ・ if (treeEntity != null && (!treeEntity.equals(IInfoModel.ENTITY_TEXT))) { infoArea = new JTextArea(); infoArea.setMargin(new Insets(3, 2, 3, 2)); infoArea.setLineWrap(true); infoArea.setPreferredSize(new Dimension(250, 40)); Font font = GUIFactory.createSmallFont(); infoArea.setFont(font); ////↓ロックボタンを付ける final JToggleButton lockBtn = new JToggleButton(); lockBtn.setIcon(new ImageIcon(getClass().getResource("/open/dolphin/resources/images/lockOn.gif"))); lockBtn.setSelectedIcon(new ImageIcon(getClass().getResource("/open/dolphin/resources/images/lockOff.gif"))); lockBtn.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); lockBtn.setMaximumSize(new java.awt.Dimension(32, 32)); lockBtn.setMinimumSize(new java.awt.Dimension(32, 32)); lockBtn.setPreferredSize(new java.awt.Dimension(32, 32)); lockBtn.setToolTipText("ツリー内での入れ替えをロックします"); lockBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (lockBtn.isSelected()) { // 選択されていたらロック解除 stampTree.setLocked(false); } else stampTree.setLocked(true); } }); JPanel infoPanel = new JPanel(); infoPanel.setLayout(new BorderLayout()); infoPanel.add(infoArea, BorderLayout.CENTER); infoPanel.add(lockBtn, BorderLayout.EAST); this.add(infoPanel, BorderLayout.SOUTH); // this.add(infoArea, BorderLayout.SOUTH); ////↑
client/StampTree.java の編集
////↓ ツリー入れ替えロック用 public boolean isLocked() { return isLocked; } public void setLocked(boolean locked) { isLocked = locked; } ////↑
client/StampTreeTransferHandler.java の編集
// ツリー入れ替えロック用 private boolean isLocked; public boolean isLocked() { return isLocked; } public void setLocked(boolean locked) { isLocked = locked; }
// FlavorがStampTreeNodeの時 // StampTree 内の DnD // ////↓スタンプ入れ替えが lock されていたら StampTree 内の DnD を禁止 if (tr.isDataFlavorSupported(stampTreeNodeFlavor) && (selected != null) && !isLocked) { ////↑ //if (tr.isDataFlavorSupported(stampTreeNodeFlavor) && (selected != null)) {
« Mac のメニューバー | トップページ | Java 1.6対応 »
「OpenDolphin」カテゴリの記事
- Java 17 への移行(7) - OpenDolphin client の対応 (2023.02.04)
- Java 17 への移行(6) - Hibernate 6 でやらかす(2023.02.03)
- Java 17 への移行(5) - OpenDolphin server の対応(2023.02.02)
- Java 17 への移行(4) - OpenSearch の準備 [ubuntu 編](2023.02.01)
- Java 17 への移行(3) - OpenSearch の準備 [mac 編](2023.01.31)