Parcourir la source

Perform some GUI cleanup to match the desired state.

Sam Jaffe il y a 5 ans
Parent
commit
a56a59fdcb

+ 9 - 0
src/main/lombok/org/leumasjaffe/recipe/view/ElementPanel.java

@@ -14,11 +14,15 @@ import lombok.experimental.FieldDefaults;
 import org.jdesktop.swingx.VerticalLayout;
 
 import javax.swing.JSeparator;
+import javax.swing.ScrollPaneConstants;
+
 import java.awt.GridBagLayout;
 import javax.swing.JLabel;
 import java.awt.GridBagConstraints;
 import java.awt.Insets;
 import java.awt.Component;
+import java.awt.Dimension;
+
 import javax.swing.Box;
 
 @SuppressWarnings("serial")
@@ -28,6 +32,11 @@ public class ElementPanel extends JScrollPane {
 	ForwardingObservableListener<Element> listener = new ForwardingObservableListener<>();
 
 	public ElementPanel(Element element) {
+		setPreferredSize(new Dimension(500, 450));
+
+		setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
+		setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+
 		JPanel panelColumnHeader = new JPanel();
 		setColumnHeaderView(panelColumnHeader);
 		GridBagLayout gbl_panelColumnHeader = new GridBagLayout();

+ 2 - 0
src/main/lombok/org/leumasjaffe/recipe/view/ImagePanel.java

@@ -19,6 +19,7 @@ public class ImagePanel extends JPanel {
 
     public ImagePanel() {
     	image = getPlaceholder();
+    	setMinimumSize(new Dimension(200, 200));
     	setPreferredSize(new Dimension(200, 200));
     }
     
@@ -28,6 +29,7 @@ public class ImagePanel extends JPanel {
        } catch (IOException ex) {
           image = getPlaceholder();
        }
+       setMinimumSize(new Dimension(200, 200));
        setPreferredSize(new Dimension(200, 200));
    }
 

+ 14 - 3
src/main/lombok/org/leumasjaffe/recipe/view/RecipeCardPanel.java

@@ -12,7 +12,11 @@ import org.leumasjaffe.recipe.view.summary.SummaryPanel;
 import lombok.AccessLevel;
 import lombok.experimental.FieldDefaults;
 
+import java.awt.Dimension;
+
 import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.ScrollPaneConstants;
 
 @SuppressWarnings("serial")
 @FieldDefaults(level=AccessLevel.PRIVATE)
@@ -21,13 +25,20 @@ public class RecipeCardPanel extends JSplitPane {
 	ForwardingObservableListener<RecipeCard> listener;
 	
 	public RecipeCardPanel(final RecipeCard card) {
+		setPreferredSize(new Dimension(1050, 600));
+
+		final SummaryPanel summaryPanel = new SummaryPanel(card);
 		final JPanel rightPanel = new JPanel();
 		rightPanel.setLayout(new VerticalLayout(5));
-		setRightComponent(rightPanel);
-		setLeftComponent(new SummaryPanel(card));
+
+		final JScrollPane scrollPane = new JScrollPane(rightPanel);
+		scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
+		scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+		setRightComponent(scrollPane);
+		setLeftComponent(summaryPanel);
 		
 		card.getComponents().map(ElementPanel::new).forEach(rightPanel::add);
-		
+				
 		listener = new ForwardingObservableListener<>();
 		listener.setObserved(card, card.getElements().toArray(new Element[0]));
 		

+ 3 - 2
src/main/lombok/org/leumasjaffe/recipe/view/summary/SummaryPanel.java

@@ -94,13 +94,14 @@ public class SummaryPanel extends JPanel {
 		add(panel, gbc_panel);
 		GridBagLayout gbl_panel = new GridBagLayout();
 		gbl_panel.columnWidths = new int[]{0, 0};
-		gbl_panel.rowHeights = new int[]{0, 0, 0, 0};
+		gbl_panel.rowHeights = new int[]{0, 0, 0};
 		gbl_panel.columnWeights = new double[]{1.0, Double.MIN_VALUE};
-		gbl_panel.rowWeights = new double[]{0.0, 1.0, 0.0, Double.MIN_VALUE};
+		gbl_panel.rowWeights = new double[]{0.0, 1.0, Double.MIN_VALUE};
 		panel.setLayout(gbl_panel);
 		
 		JPanel panelPhoto = new ImagePanel();
 		GridBagConstraints gbc_panelPhoto = new GridBagConstraints();
+		gbc_panelPhoto.fill = GridBagConstraints.BOTH;
 		gbc_panelPhoto.insets = new Insets(0, 0, 5, 0);
 		gbc_panelPhoto.gridx = 0;
 		gbc_panelPhoto.gridy = 0;