GUI.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. package ui.view;
  2. import java.awt.EventQueue;
  3. import javax.swing.JFrame;
  4. import javax.swing.JMenuBar;
  5. import javax.swing.JMenu;
  6. import javax.swing.JMenuItem;
  7. import javax.swing.UIManager;
  8. import javax.swing.UnsupportedLookAndFeelException;
  9. import javax.swing.JTree;
  10. import javax.swing.BoxLayout;
  11. import javax.swing.JSplitPane;
  12. import javax.swing.JScrollPane;
  13. import javax.swing.JTabbedPane;
  14. import javax.swing.JTable;
  15. import javax.swing.tree.DefaultTreeModel;
  16. import javax.swing.tree.DefaultMutableTreeNode;
  17. import javax.swing.JEditorPane;
  18. public class GUI {
  19. private JFrame frame;
  20. private final JMenuBar menuBar = new JMenuBar();
  21. private final JMenu mnNewMenu = new JMenu("File");
  22. private final JMenu mnNewMenu_1 = new JMenu("Edit");
  23. private final JMenu mnNewMenu_2 = new JMenu("Options");
  24. private final JMenu mnNewMenu_3 = new JMenu("View");
  25. private final JMenu mnHelp = new JMenu("Help");
  26. private final JMenuItem mntmOpen = new JMenuItem("Open");
  27. private final JMenuItem mntmNew = new JMenuItem("New");
  28. private final JMenuItem mntmSave = new JMenuItem("Save");
  29. private final JSplitPane splitPane = new JSplitPane();
  30. private final JSplitPane splitPane_1 = new JSplitPane();
  31. private final JScrollPane scrollPane_1 = new JScrollPane();
  32. private final JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
  33. private final JScrollPane scrollPane_2 = new JScrollPane();
  34. private final MyCanvas canvas = new MyCanvas();
  35. private final JTree tree = new JTree();
  36. private final JEditorPane dtrpnHereWillBe = new JEditorPane();
  37. /**
  38. * Launch the application.
  39. */
  40. public static void main(String[] args) {
  41. try {
  42. UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  43. } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
  44. | UnsupportedLookAndFeelException e1) {
  45. // TODO Auto-generated catch block
  46. e1.printStackTrace();
  47. }
  48. EventQueue.invokeLater(new Runnable() {
  49. public void run() {
  50. try {
  51. GUI window = new GUI();
  52. window.frame.setVisible(true);
  53. } catch (Exception e) {
  54. e.printStackTrace();
  55. }
  56. }
  57. });
  58. }
  59. /**
  60. * Create the application.
  61. */
  62. public GUI() {
  63. initialize();
  64. }
  65. /**
  66. * Initialize the contents of the frame.
  67. */
  68. private void initialize() {
  69. frame = new JFrame();
  70. frame.setBounds(100, 100, 805, 486);
  71. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  72. frame.setJMenuBar(menuBar);
  73. menuBar.add(mnNewMenu);
  74. mnNewMenu.add(mntmNew);
  75. mnNewMenu.add(mntmOpen);
  76. mnNewMenu.add(mntmSave);
  77. menuBar.add(mnNewMenu_1);
  78. menuBar.add(mnNewMenu_2);
  79. menuBar.add(mnNewMenu_3);
  80. menuBar.add(mnHelp);
  81. frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.X_AXIS));
  82. frame.getContentPane().add(splitPane);
  83. //Table
  84. String[] columnNames = {"Producer",
  85. "Units",
  86. "Number"};
  87. Object[][] data = {
  88. {"TV", "20",
  89. "1"},
  90. {"PC", "30",
  91. "2"},
  92. {"Fridge", "40",
  93. "1"}
  94. };
  95. JTable table = new JTable(data, columnNames);
  96. table.setCellSelectionEnabled(true);
  97. table.setColumnSelectionAllowed(true);
  98. splitPane.setRightComponent(splitPane_1);
  99. splitPane.setDividerLocation(200);
  100. splitPane_1.setRightComponent(new JScrollPane(table));
  101. splitPane_1.setDividerLocation(400);
  102. tabbedPane.addTab("Modeling", null, canvas, null);
  103. tabbedPane.addTab("Simulation", null, scrollPane_2, null);
  104. dtrpnHereWillBe.setText("Here will be the Simulation");
  105. scrollPane_2.setViewportView(dtrpnHereWillBe);
  106. splitPane_1.setLeftComponent(tabbedPane);
  107. splitPane.setLeftComponent(scrollPane_1);
  108. tree.setModel(new DefaultTreeModel(
  109. new DefaultMutableTreeNode("Components") {
  110. {
  111. DefaultMutableTreeNode node_1;
  112. node_1 = new DefaultMutableTreeNode("PowerPlant");
  113. node_1.add(new DefaultMutableTreeNode("Standart P.P"));
  114. node_1.add(new DefaultMutableTreeNode("Power PowerPlant"));
  115. add(node_1);
  116. node_1 = new DefaultMutableTreeNode("Houses");
  117. node_1.add(new DefaultMutableTreeNode("Hospital"));
  118. node_1.add(new DefaultMutableTreeNode("Standart House"));
  119. node_1.add(new DefaultMutableTreeNode("Castle"));
  120. node_1.add(new DefaultMutableTreeNode("Arena"));
  121. add(node_1);
  122. node_1 = new DefaultMutableTreeNode("Cars");
  123. node_1.add(new DefaultMutableTreeNode("Small Car"));
  124. node_1.add(new DefaultMutableTreeNode("Medium Car"));
  125. node_1.add(new DefaultMutableTreeNode("Big Car"));
  126. node_1.add(new DefaultMutableTreeNode("Invisible Car"));
  127. add(node_1);
  128. }
  129. }
  130. ));
  131. scrollPane_1.setViewportView(tree);
  132. }
  133. }