소스 검색

color Panel added

dominik.rieder 7 년 전
부모
커밋
d8f7c66260
1개의 변경된 파일66개의 추가작업 그리고 43개의 파일을 삭제
  1. 66 43
      src/ui/view/splitPane.java

+ 66 - 43
src/ui/view/splitPane.java

@@ -5,6 +5,7 @@ import javax.swing.JScrollPane;
 import javax.swing.JPanel;
 
 import java.util.ArrayList;
+import java.util.Hashtable;
 
 import javax.swing.GroupLayout;
 import javax.swing.GroupLayout.Alignment;
@@ -18,6 +19,7 @@ import javax.swing.tree.MutableTreeNode;
 import javax.swing.tree.TreeNode;
 
 import classes.HolonObject;
+import classes.PropertyDataSet;
 import interfaces.GraphListener;
 
 import javax.swing.JTextField;
@@ -25,20 +27,25 @@ import javax.swing.JComboBox;
 import javax.swing.JButton;
 import javax.swing.JTree;
 import java.awt.Color;
+import javax.swing.border.LineBorder;
 
 public class splitPane extends JSplitPane implements GraphListener {
 	private JTextField graphNrTxtField;
 	private JTextField redField;
-	private JTextField blueField;
 	private JTextField greenField;
+	private JTextField blueField;
 	private JTree objectTree;
 	private DefaultTreeModel treeModel;
-	DefaultMutableTreeNode objectsNode;
-	DefaultMutableTreeNode wholeHolon;
+	private DefaultMutableTreeNode objectsNode;
+	private DefaultMutableTreeNode wholeHolon;
+	private Hashtable<String, Hashtable<String, PropertyDataSet>> objectHashtable;
+
 	JLabel showObjectlbl;
 	JLabel showPropertylbl;
 	public splitPane() {
 		
+		objectHashtable = new Hashtable<String, Hashtable<String, PropertyDataSet>>();
+
 		JPanel panel = new JPanel();
 		setLeftComponent(panel);
 		
@@ -64,59 +71,59 @@ public class splitPane extends JSplitPane implements GraphListener {
 		redField = new JTextField();
 		redField.setColumns(10);
 		
-		blueField = new JTextField();
-		blueField.setColumns(10);
-		
 		greenField = new JTextField();
 		greenField.setColumns(10);
 		
-		JLabel lblR = new JLabel("R:");
+		blueField = new JTextField();
+		blueField.setColumns(10);
 		
-		JLabel lblB = new JLabel("B:");
+		JLabel lblR = new JLabel("R:");
 		
 		JLabel lblG = new JLabel("G:");
 		
+		JLabel lblB = new JLabel("B:");
+		
 		JButton btnAdd = new JButton("Add");
 		
 		JPanel colorPanel = new JPanel();
-		colorPanel.setBackground(Color.GRAY);
+		colorPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
+		colorPanel.setBackground(Color.WHITE);
 		GroupLayout gl_panel = new GroupLayout(panel);
 		gl_panel.setHorizontalGroup(
 			gl_panel.createParallelGroup(Alignment.LEADING)
 				.addGroup(gl_panel.createSequentialGroup()
-					.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
+					.addContainerGap()
+					.addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
+						.addComponent(treeScrollPane, GroupLayout.PREFERRED_SIZE, 165, GroupLayout.PREFERRED_SIZE)
 						.addGroup(gl_panel.createSequentialGroup()
-							.addContainerGap()
 							.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
-								.addComponent(treeScrollPane, GroupLayout.DEFAULT_SIZE, 165, Short.MAX_VALUE)
+								.addComponent(lblGraph)
+								.addComponent(lblObject)
+								.addComponent(lblProperty)
+								.addComponent(lblColor)
 								.addGroup(gl_panel.createSequentialGroup()
-									.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
-										.addComponent(lblGraph)
-										.addComponent(lblObject)
-										.addComponent(lblProperty)
-										.addComponent(lblColor)
-										.addGroup(gl_panel.createSequentialGroup()
-											.addComponent(lblR)
-											.addPreferredGap(ComponentPlacement.RELATED)
-											.addComponent(redField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE)))
+									.addComponent(lblR)
 									.addPreferredGap(ComponentPlacement.RELATED)
 									.addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
-										.addComponent(showObjectlbl, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-										.addComponent(showPropertylbl, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-										.addComponent(graphNrTxtField)
-										.addComponent(colorComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+										.addComponent(colorPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+										.addComponent(redField, GroupLayout.DEFAULT_SIZE, 37, Short.MAX_VALUE))))
+							.addPreferredGap(ComponentPlacement.RELATED)
+							.addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
+								.addComponent(showObjectlbl, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+								.addComponent(showPropertylbl, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+								.addComponent(colorComboBox, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+								.addGroup(gl_panel.createSequentialGroup()
+									.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)
+										.addComponent(btnAdd)
 										.addGroup(gl_panel.createSequentialGroup()
-											.addComponent(lblB)
-											.addPreferredGap(ComponentPlacement.RELATED)
-											.addComponent(blueField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE)
-											.addPreferredGap(ComponentPlacement.RELATED)
 											.addComponent(lblG)
 											.addPreferredGap(ComponentPlacement.RELATED)
-											.addComponent(greenField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE))))
-								.addComponent(colorPanel, Alignment.TRAILING, GroupLayout.PREFERRED_SIZE, 150, GroupLayout.PREFERRED_SIZE)))
-						.addGroup(gl_panel.createSequentialGroup()
-							.addGap(67)
-							.addComponent(btnAdd)))
+											.addComponent(greenField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE)))
+									.addPreferredGap(ComponentPlacement.RELATED)
+									.addComponent(lblB)
+									.addPreferredGap(ComponentPlacement.RELATED)
+									.addComponent(blueField, GroupLayout.PREFERRED_SIZE, 37, GroupLayout.PREFERRED_SIZE))
+								.addComponent(graphNrTxtField))))
 					.addContainerGap())
 		);
 		gl_panel.setVerticalGroup(
@@ -144,15 +151,15 @@ public class splitPane extends JSplitPane implements GraphListener {
 					.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
 						.addComponent(lblR)
 						.addComponent(redField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-						.addComponent(lblB)
-						.addComponent(blueField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 						.addComponent(lblG)
-						.addComponent(greenField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
-					.addPreferredGap(ComponentPlacement.UNRELATED)
+						.addComponent(greenField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+						.addComponent(lblB)
+						.addComponent(blueField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+					.addPreferredGap(ComponentPlacement.RELATED)
 					.addComponent(colorPanel, GroupLayout.PREFERRED_SIZE, 33, GroupLayout.PREFERRED_SIZE)
-					.addPreferredGap(ComponentPlacement.RELATED, 53, Short.MAX_VALUE)
+					.addPreferredGap(ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
 					.addComponent(btnAdd)
-					.addGap(34))
+					.addContainerGap())
 		);
 		
 		objectTree = new JTree();
@@ -198,8 +205,18 @@ public class splitPane extends JSplitPane implements GraphListener {
 						 }
 					 }
 					 if(selectedNode.getLevel() == 3){
-						 showObjectlbl.setText(((DefaultMutableTreeNode)selectedNode.getParent()).toString());
-						 showPropertylbl.setText(selectedNode.toString());
+						 String object = ((DefaultMutableTreeNode)selectedNode.getParent()).toString();
+						 String property = selectedNode.toString();
+						 int r = objectHashtable.get(object).get(property).getColor().getRed();
+						 redField.setText(Integer.toString(r));
+						 int g = objectHashtable.get(object).get(property).getColor().getGreen();
+						 greenField.setText(Integer.toString(g));
+						 int b = objectHashtable.get(object).get(property).getColor().getBlue();
+						 blueField.setText(Integer.toString(b));
+						 
+						 showObjectlbl.setText(object);
+						 showPropertylbl.setText(property);
+						 graphNrTxtField.setText(objectHashtable.get(object).get(property).getAssignedGraph());
 					 }
 				 }
 			}
@@ -220,10 +237,16 @@ public class splitPane extends JSplitPane implements GraphListener {
 		if(hlList.size() > 0 && hlList != null){
 			objectsNode.removeAllChildren();
 			for(HolonObject hO : hlList){
-				DefaultMutableTreeNode tmp = new DefaultMutableTreeNode(hO.getName() + " " + hO.getID());
+				Hashtable<String, PropertyDataSet> tmpHash = new Hashtable<String, PropertyDataSet>();
+				String name = hO.getName() + " " + hO.getID();
+				DefaultMutableTreeNode tmp = new DefaultMutableTreeNode(name);
 				tmp.add(new DefaultMutableTreeNode("total Production"));
 				tmp.add(new DefaultMutableTreeNode("total Consumption"));
 				tmp.add(new DefaultMutableTreeNode("number of activated Elements"));
+				tmpHash.put("total Production", new PropertyDataSet());
+				tmpHash.put("total Consumption", new PropertyDataSet());
+				tmpHash.put("number of activated Elements", new PropertyDataSet());
+				objectHashtable.put(name, tmpHash);
 				objectsNode.add(tmp);
 			}
 		}else{