Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. package view;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Dimension;
  5.  
  6. import javax.swing.ImageIcon;
  7. import javax.swing.JFrame;
  8. import javax.swing.JPanel;
  9. import javax.swing.JScrollPane;
  10. import javax.swing.JSplitPane;
  11. import javax.swing.JTree;
  12. import javax.swing.event.TreeSelectionEvent;
  13. import javax.swing.event.TreeSelectionListener;
  14. import javax.swing.tree.DefaultMutableTreeNode;
  15. import javax.swing.tree.DefaultTreeCellRenderer;
  16. import javax.swing.tree.DefaultTreeModel;
  17. import javax.swing.tree.TreePath;
  18. import javax.swing.tree.TreeSelectionModel;
  19.  
  20. import model.SoftverskaKompanija;
  21. import model.SoftverskiProizvod;
  22. import model.Workspace;
  23. import view.actions.CellEditor;
  24. import view.actions.MyTreeCellRenderer;
  25. import view.listeners.MyTreeSelectionListener;
  26. import view.listeners.MyWindowListener;
  27.  
  28. public class MainFrame extends JFrame {
  29.  
  30. private static MainFrame instance = new MainFrame();
  31. private DefaultTreeModel treeModel;
  32. private JTree tree;
  33. private JPanel workspace;
  34. private MyStatusBar statusBar;
  35.  
  36. private MainFrame() {
  37. setTitle("InstaFram");
  38. Dimension dim = new Dimension(800, 600);
  39. setSize(dim);
  40. setMinimumSize(dim);
  41. setLocationRelativeTo(null);
  42. setJMenuBar(new MyMenuBar());
  43. ImageIcon img = new ImageIcon("icons/app_icon.png");
  44. setIconImage(img.getImage());
  45. initTree();
  46.  
  47. MyToolBar toolbar = new MyToolBar();
  48. add(toolbar, BorderLayout.NORTH);
  49.  
  50. workspace = new JPanel(new BorderLayout());
  51.  
  52. JScrollPane scrol = new JScrollPane(tree);
  53. JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scrol, workspace);
  54. split.setOneTouchExpandable(true);
  55. split.setDividerLocation(200);
  56. add(split, BorderLayout.CENTER);
  57.  
  58. statusBar = new MyStatusBar();
  59. add(statusBar, BorderLayout.SOUTH);
  60.  
  61. addWindowListener(new MyWindowListener());
  62. }
  63.  
  64. public void initTree() {
  65. DefaultMutableTreeNode rootTree = new DefaultMutableTreeNode(new Workspace());
  66. treeModel = new DefaultTreeModel(rootTree);
  67. tree = new JTree(treeModel);
  68. tree.setCellRenderer(new MyTreeCellRenderer());
  69. tree.setEditable(true);
  70. tree.setCellEditor(new CellEditor(tree, null));
  71. tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
  72. tree.addTreeSelectionListener(new MyTreeSelectionListener());
  73. }
  74.  
  75. public static MainFrame getInstance() {
  76. return instance;
  77. }
  78.  
  79. public JTree getTree() {
  80. return this.tree;
  81. }
  82.  
  83. public DefaultTreeModel getModel() {
  84. return this.treeModel;
  85. }
  86.  
  87. public JPanel getWorkspace() {
  88. return workspace;
  89. }
  90.  
  91. public void setWorkspace(JPanel workspace) {
  92. this.workspace = workspace;
  93. }
  94.  
  95. public MyStatusBar getStatusBar() {
  96. return this.statusBar;
  97. }
  98.  
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement