فهرست منبع

resizing mostly works

tsdedhar 6 سال پیش
والد
کامیت
0f8c03f5e2
22فایلهای تغییر یافته به همراه28 افزوده شده و 8 حذف شده
  1. BIN
      assignments/a3/.gradle/4.7/fileHashes/fileHashes.bin
  2. BIN
      assignments/a3/.gradle/4.7/fileHashes/fileHashes.lock
  3. BIN
      assignments/a3/.gradle/4.7/taskHistory/taskHistory.bin
  4. BIN
      assignments/a3/.gradle/4.7/taskHistory/taskHistory.lock
  5. BIN
      assignments/a3/.gradle/buildOutputCleanup/buildOutputCleanup.lock
  6. BIN
      assignments/a3/build/classes/java/main/Controls$1.class
  7. BIN
      assignments/a3/build/classes/java/main/Controls$customListener.class
  8. BIN
      assignments/a3/build/classes/java/main/Controls$superListener.class
  9. BIN
      assignments/a3/build/classes/java/main/Controls.class
  10. BIN
      assignments/a3/build/classes/java/main/Gallery.class
  11. BIN
      assignments/a3/build/classes/java/main/Item$clickListener.class
  12. BIN
      assignments/a3/build/classes/java/main/Item$superListener.class
  13. BIN
      assignments/a3/build/classes/java/main/Item.class
  14. BIN
      assignments/a3/build/classes/java/main/Main$1.class
  15. BIN
      assignments/a3/build/classes/java/main/Main$myAdapter.class
  16. BIN
      assignments/a3/build/classes/java/main/Main.class
  17. BIN
      assignments/a3/build/classes/java/main/Model.class
  18. BIN
      assignments/a3/build/classes/java/main/PicData.class
  19. 0 2
      assignments/a3/src/main/java/Controls.java
  20. 7 4
      assignments/a3/src/main/java/Gallery.java
  21. 16 2
      assignments/a3/src/main/java/Main.java
  22. 5 0
      assignments/a3/src/main/java/Model.java

BIN
assignments/a3/.gradle/4.7/fileHashes/fileHashes.bin


BIN
assignments/a3/.gradle/4.7/fileHashes/fileHashes.lock


BIN
assignments/a3/.gradle/4.7/taskHistory/taskHistory.bin


BIN
assignments/a3/.gradle/4.7/taskHistory/taskHistory.lock


BIN
assignments/a3/.gradle/buildOutputCleanup/buildOutputCleanup.lock


BIN
assignments/a3/build/classes/java/main/Controls$1.class


BIN
assignments/a3/build/classes/java/main/Controls$customListener.class


BIN
assignments/a3/build/classes/java/main/Controls$superListener.class


BIN
assignments/a3/build/classes/java/main/Controls.class


BIN
assignments/a3/build/classes/java/main/Gallery.class


BIN
assignments/a3/build/classes/java/main/Item$clickListener.class


BIN
assignments/a3/build/classes/java/main/Item$superListener.class


BIN
assignments/a3/build/classes/java/main/Item.class


BIN
assignments/a3/build/classes/java/main/Main$1.class


BIN
assignments/a3/build/classes/java/main/Main$myAdapter.class


BIN
assignments/a3/build/classes/java/main/Main.class


BIN
assignments/a3/build/classes/java/main/Model.class


BIN
assignments/a3/build/classes/java/main/PicData.class


+ 0 - 2
assignments/a3/src/main/java/Controls.java

@@ -24,7 +24,6 @@ public class Controls extends JPanel implements Observer, Serializable
         grid.setSelected(true);
         list.setSelected(false);
         model.switchLayout(true);
-        //grid.setIcon(lightGridIcon);
         grid.setBorderPainted(true);
         list.setBorderPainted(false);
       }
@@ -33,7 +32,6 @@ public class Controls extends JPanel implements Observer, Serializable
         grid.setSelected(false);
         list.setSelected(true);
         model.switchLayout(false);
-        //list.setIcon(lightListIcon);
         list.setBorderPainted(true);
         grid.setBorderPainted(false);
       }

+ 7 - 4
assignments/a3/src/main/java/Gallery.java

@@ -21,8 +21,8 @@ public class Gallery extends JPanel implements Observer, Serializable
     // Hook up this observer so that it will be notified when the model
     // changes.
     this.model = model;
-    this.setLayout(new FlowLayout(10));
     this.setBackground(Color.cyan);
+    this.setMinimumSize(new Dimension(400, 400));
     this.items = new ArrayList();
     reList();
     reFill();
@@ -70,15 +70,18 @@ public class Gallery extends JPanel implements Observer, Serializable
     {
       int unit = 200;
       int total = this.getWidth();
-      if (items.size() > 0)
+      if (total == 0) total = 1280;
+      /*if (items.size() > 0)
       {
-        int unit = items.get(i).getWidth();
-      }
+        int temp = items.get(0).getWidth();
+        if (temp > 0) unit = temp;
+      }*/
       int cols = total / unit;
       this.setLayout(new GridLayout(0, cols));
     }
     else
     {
+      this.setBackground(Color.cyan);
       this.setLayout(new GridLayout(0, 1));
     }
 

+ 16 - 2
assignments/a3/src/main/java/Main.java

@@ -1,5 +1,6 @@
 import javax.swing.*;
 import java.awt.*;
+import java.awt.event.*;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.io.*;
@@ -8,11 +9,24 @@ import java.lang.Throwable;
 public class Main
 {
   public static Model model;
+  public static Gallery gallery;
+  static class myAdapter extends ComponentAdapter
+  {
+    public void componentResized(ComponentEvent ce)
+    {
+      boolean temp = model.getLayout();
+      model.switchLayout(!temp);
+      model.switchLayout(temp);
+    }
+  }
+  public static myAdapter listener;
 
   public static void main(String[] args)
   {
     JFrame window = new JFrame("Fotag!");
     model = new Model();
+    listener = new myAdapter();
+    window.addComponentListener(listener);
     
     try
     {
@@ -23,7 +37,7 @@ public class Main
     }
     catch (Exception e) {System.out.println("Playing baseball");}
     
-    Gallery gallery = new Gallery(model);
+    gallery = new Gallery(model);
     Controls controls = new Controls(model);
     model.notifyObservers();
     
@@ -38,7 +52,7 @@ public class Main
 
     // Setup the frame to do frame things
     window.setPreferredSize(new Dimension(1280,720));
-    window.setMinimumSize(new Dimension(320, 180));
+    window.setMinimumSize(new Dimension(400, 475));
     window.pack();
     //window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     

+ 5 - 0
assignments/a3/src/main/java/Model.java

@@ -54,6 +54,11 @@ public class Model extends Observable implements Serializable
     notifyObservers();
   }
   
+  public boolean getLayout()
+  {
+    return grid;
+  }
+
   public void switchLayout(boolean flag)
   {
     if (grid != flag)