Created
July 6, 2012 05:58
-
-
Save seraphy/3058325 to your computer and use it in GitHub Desktop.
JIDEのDocking FrameworkをJAppletで使う場合の設定例
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
grant codeBase "http://localhost:8080/JideDockingViewAppletSample/-" { | |
permission java.awt.AWTPermission "accessEventQueue"; | |
permission java.awt.AWTPermission "setDropTarget"; | |
permission java.awt.AWTPermission "accessClipboard"; | |
permission java.awt.AWTPermission "acceptDropBetweenAccessControllerContexts"; | |
permission java.awt.AWTPermission "listenToAllAWTEvents"; | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.awt.BorderLayout; | |
import java.awt.Component; | |
import java.awt.Container; | |
import java.awt.Dimension; | |
import javax.swing.Icon; | |
import javax.swing.JApplet; | |
import javax.swing.JList; | |
import javax.swing.JScrollPane; | |
import javax.swing.JTextArea; | |
import javax.swing.JTextField; | |
import javax.swing.SwingUtilities; | |
import javax.swing.UIManager; | |
import com.jidesoft.docking.DefaultDockingManager; | |
import com.jidesoft.docking.DockContext; | |
import com.jidesoft.docking.DockableFrame; | |
import com.jidesoft.docking.DockableHolder; | |
import com.jidesoft.docking.DockingManager; | |
import com.jidesoft.icons.JideIconsFactory; | |
import com.jidesoft.swing.JideScrollPane; | |
/** | |
* JIDEのDocking Frameworkなどは、AWTEventなどのハンドリングのため、 | |
* いくつかの権限が必要であり、サンドボックスでは動作しない。 | |
* .java.policyファイルを設定するか、署名付きアプレットにする必要がある. | |
*/ | |
public class DockingViewApplet extends JApplet implements DockableHolder { | |
private static final long serialVersionUID = 1L; | |
private static DockingManager _dockingManager; | |
@Override | |
public void init() { | |
// Appletの外観をシステムのデフォルトのLook And Feelにする。 | |
try { | |
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); | |
} catch (Exception ex) { | |
// Just accept the default L&F | |
} | |
SwingUtilities.updateComponentTreeUI(this); | |
// (必要なら、ここでJIDEのライセンスを設定) | |
// 既定の初期化処理を行う. | |
super.init(); | |
// Dockingコンテナの設定. | |
// 以下、ほぼJIDEのサンプルのまま | |
Container container = getContentPane(); | |
_dockingManager = new DefaultDockingManager(this, container); | |
_dockingManager.setOutlineMode(DockingManager.FULL_OUTLINE_MODE); | |
_dockingManager.beginLoadLayoutData(); | |
_dockingManager.setInitSplitPriority(DockingManager.SPLIT_EAST_WEST_SOUTH_NORTH); | |
// add all dockable frames | |
_dockingManager.addFrame(createSampleTaskListFrame()); | |
_dockingManager.addFrame(createSampleResourceViewFrame()); | |
_dockingManager.addFrame(createSampleClassViewFrame()); | |
_dockingManager.addFrame(createSampleProjectViewFrame()); | |
_dockingManager.addFrame(createSampleServerFrame()); | |
_dockingManager.addFrame(createSamplePropertyFrame()); | |
_dockingManager.addFrame(createSampleFindResult1Frame()); | |
_dockingManager.addFrame(createSampleFindResult2Frame()); | |
_dockingManager.addFrame(createSampleFindResult3Frame()); | |
_dockingManager.addFrame(createSampleOutputFrame()); | |
_dockingManager.addFrame(createSampleCommandFrame()); | |
_dockingManager.getWorkspace().setAcceptDockableFrame(false); | |
_dockingManager.getWorkspace().setAdjustOpacityOnFly(true); | |
// load layout information from previous session. This indicates the end of beginLoadLayoutData() method above. | |
_dockingManager.loadLayoutData(); | |
//_frame.toFront(); | |
} | |
protected static DockableFrame createDockableFrame(String key, Icon icon) { | |
DockableFrame frame = new DockableFrame(key, icon); | |
frame.setPreferredSize(new Dimension(200, 200)); | |
return frame; | |
} | |
private static JScrollPane createScrollPane(Component component) { | |
JScrollPane pane = new JideScrollPane(component); | |
pane.setVerticalScrollBarPolicy(JideScrollPane.VERTICAL_SCROLLBAR_ALWAYS); | |
return pane; | |
} | |
protected static DockableFrame createSampleProjectViewFrame() { | |
DockableFrame frame = createDockableFrame("Project View", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME1)); | |
frame.getContext().setInitMode(DockContext.STATE_AUTOHIDE); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_EAST); | |
frame.add(createScrollPane(new JTextArea())); | |
return frame; | |
} | |
protected static DockableFrame createSampleClassViewFrame() { | |
DockableFrame frame = createDockableFrame("Class View", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME2)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_EAST); | |
frame.getContext().setInitIndex(1); | |
frame.add(createScrollPane(new JTextArea())); | |
frame.setTitle("Class View - DockingFrameworkDemo"); | |
frame.setTabTitle("Class View"); | |
return frame; | |
} | |
protected static DockableFrame createSampleServerFrame() { | |
DockableFrame frame = createDockableFrame("Server Explorer", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME3)); | |
frame.getContext().setInitMode(DockContext.STATE_AUTOHIDE); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_WEST); | |
frame.getContext().setInitIndex(0); | |
frame.add(createScrollPane(new JTextArea())); | |
frame.setToolTipText("Server"); | |
return frame; | |
} | |
protected static DockableFrame createSampleResourceViewFrame() { | |
DockableFrame frame = createDockableFrame("Resource View", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME4)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_EAST); | |
frame.getContext().setInitIndex(1); | |
frame.add(createScrollPane(new JTextArea())); | |
frame.setTitle("Resource View"); | |
return frame; | |
} | |
protected static DockableFrame createSamplePropertyFrame() { | |
DockableFrame frame = createDockableFrame("Property", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME5)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_WEST); | |
frame.getContext().setInitIndex(0); | |
frame.getContentPane().setLayout(new BorderLayout()); | |
frame.add(createScrollPane(new JTextArea())); | |
return frame; | |
} | |
static int i = 0; | |
protected static DockableFrame createSampleTaskListFrame() { | |
DockableFrame frame = createDockableFrame("Task List", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME6)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_SOUTH); | |
JList list = new JList(new String[]{"Task1", "Task2", "Task3"}); | |
list.setToolTipText("This is a tooltip"); | |
frame.add(createScrollPane(list)); | |
// frame.addAdditionalButtonActions(new AbstractAction("test") { | |
// public void actionPerformed(ActionEvent e) { | |
// System.out.println("Test additional buttons."); | |
// } | |
// }, JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME6)); | |
return frame; | |
} | |
protected static DockableFrame createSampleCommandFrame() { | |
DockableFrame frame = createDockableFrame("Command", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME7)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_SOUTH); | |
frame.getContext().setInitIndex(1); | |
JTextArea textArea = new JTextArea(); | |
frame.add(createScrollPane(textArea)); | |
textArea.setText(">"); | |
return frame; | |
} | |
protected static DockableFrame createSampleOutputFrame() { | |
DockableFrame frame = createDockableFrame("Output", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME8)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_SOUTH); | |
frame.getContext().setInitIndex(0); | |
frame.setLayout(new BorderLayout(2, 2)); | |
frame.add(createScrollPane(new JTextArea())); | |
frame.add(new JTextField(), BorderLayout.AFTER_LAST_LINE); | |
return frame; | |
} | |
protected static DockableFrame createSampleFindResult1Frame() { | |
DockableFrame frame = createDockableFrame("Find Results 1", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME9)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_SOUTH); | |
frame.getContext().setInitIndex(0); | |
JTextArea textArea = new JTextArea(); | |
frame.add(createScrollPane(textArea)); | |
textArea.setText("Find all \"TestDock\", Match case, Whole word, Find Results 1, All Open Documents\n" + | |
"C:\\Projects\\src\\com\\jidesoft\\test\\TestDock.java(1):// TestDock.java : implementation of the TestDock class\n" + | |
"C:\\Projects\\src\\jidesoft\\test\\TestDock.java(8):#import com.jidesoft.test.TestDock;\n" + | |
"C:\\Projects\\src\\com\\jidesoft\\Test.java(10):#import com.jidesoft.test.TestDock;\n" + | |
"Total found: 3 Matching files: 5 Total files searched: 5"); | |
return frame; | |
} | |
protected static DockableFrame createSampleFindResult2Frame() { | |
DockableFrame frame = createDockableFrame("Find Results 2", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME10)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_SOUTH); | |
frame.getContext().setInitIndex(1); | |
JTextArea textArea = new JTextArea(); | |
frame.add(createScrollPane(textArea)); | |
textArea.setText("Find all \"TestDock\", Match case, Whole word, Find Results 2, All Open Documents\n" + | |
"C:\\Projects\\src\\com\\jidesoft\\test\\TestDock.java(1):// TestDock.java : implementation of the TestDock class\n" + | |
"C:\\Projects\\src\\jidesoft\\test\\TestDock.java(8):#import com.jidesoft.test.TestDock;\n" + | |
"C:\\Projects\\src\\com\\jidesoft\\Test.java(10):#import com.jidesoft.test.TestDock;\n" + | |
"Total found: 3 Matching files: 5 Total files searched: 5"); | |
return frame; | |
} | |
protected static DockableFrame createSampleFindResult3Frame() { | |
DockableFrame frame = createDockableFrame("Find Results 3", JideIconsFactory.getImageIcon(JideIconsFactory.DockableFrame.FRAME11)); | |
frame.getContext().setInitMode(DockContext.STATE_FRAMEDOCKED); | |
frame.getContext().setInitSide(DockContext.DOCK_SIDE_CENTER); | |
frame.getContext().setInitIndex(1); | |
frame.add(createScrollPane(new JTextArea())); | |
return frame; | |
} | |
@Override | |
public DockingManager getDockingManager() { | |
return _dockingManager; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment