Ver Fonte

serialization works. picture rating icons (stars) dont show until clicked though, and rating info is not saving

tsdedhar há 6 anos atrás
pai
commit
99aa3aa441

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$customListener.class


BIN
assignments/a3/build/classes/java/main/Controls$superListener.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/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/PicData.class


BIN
assignments/a3/savestate.shit


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

@@ -15,7 +15,7 @@ public class Controls extends JPanel implements Observer, Serializable
   private Model model;
   private JRadioButton grid;
   private JRadioButton list;
-  private class customListener implements ActionListener
+  private class customListener implements ActionListener, Serializable
   {
     public void actionPerformed(ActionEvent e)
     {
@@ -37,7 +37,7 @@ public class Controls extends JPanel implements Observer, Serializable
       }
     }
   }
-  private class superListener implements ActionListener
+  private class superListener implements ActionListener, Serializable
   {
     public void actionPerformed(ActionEvent e)
     {

+ 2 - 2
assignments/a3/src/main/java/Gallery.java

@@ -113,7 +113,7 @@ class Item extends JPanel implements Serializable
   private JRadioButton star5;
   private ButtonGroup stars;
   
-  private class clickListener extends MouseInputAdapter
+  private class clickListener extends MouseInputAdapter implements Serializable
   {
     public void mousePressed(MouseEvent e)
     {
@@ -128,7 +128,7 @@ class Item extends JPanel implements Serializable
   }
   private clickListener clicklistener;
   
-  private class superListener implements ActionListener
+  private class superListener implements ActionListener, Serializable
   {
     public void actionPerformed(ActionEvent e)
     {

+ 13 - 0
assignments/a3/src/main/java/Main.java

@@ -5,6 +5,7 @@ import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.io.*;
 import java.lang.Throwable;
+import javax.imageio.ImageIO;
 
 public class Main
 {
@@ -34,6 +35,18 @@ public class Main
       ObjectInputStream object =  new ObjectInputStream(file);
       model = (Model)object.readObject();
       object.close();
+
+      for (PicData p: model.getPics())
+      {
+        String filepath = p.getFile();
+        Image img = null;
+        try
+        {
+          img = ImageIO.read(new File(filepath));
+        } catch(IOException e) {}
+        img = img.getScaledInstance(200, 200,  java.awt.Image.SCALE_SMOOTH);
+        p.setPic(img);
+      }
     }
     catch (Exception e) {System.out.println("Playing baseball");}
     

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

@@ -104,6 +104,7 @@ class PicData implements Serializable
   private long size;
   private long lastmod;
   private String name;
+  private String filepath;
   public static Model model;
 
   public PicData(String filepath, String name, long size, long lastmod)
@@ -118,6 +119,7 @@ class PicData implements Serializable
     this.lastmod = lastmod;
     this.name = name;
     this.rating = 0;
+    this.filepath = filepath;
   }
   
   public void setRating(int x)
@@ -150,4 +152,14 @@ class PicData implements Serializable
   {
     return name;
   }
+
+  public void setPic(Image i)
+  {
+    this.pic = i;
+  }
+
+  public String getFile()
+  {
+    return filepath;
+  }
 }