Java Error code: Unchecked or unsafe operations...? -


i'm working on java program has jcombo box users select shape , shape generated randomly multiple times. i'm using command line run , using notepad. i'm on latest jdk version. how can modify code compiles on newer version..?

import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.util.random; import javax.swing.*;  public class hw1b extends jframe {     public hw1b()     {         super("hw1b");         final combopanel combopanel = new combopanel();         string[] shapeitems = {             "square", "oval", "rectangle", "circle"             //"circle", "square", "oval", "rectangle"         };          jcombobox shapebox = new jcombobox(shapeitems);         shapebox.additemlistener(new itemlistener()         {             public void itemstatechanged(itemevent e)             {                 if(e.getstatechange() == itemevent.selected)                 {                     string item = (string)e.getitem();                     if(item.equals("square"))                         combopanel.makesquares();                     if(item.equals("oval"))                         combopanel.makeovals();                     if(item.equals("rectangle"))                         combopanel.makerectangles();                     if(item.equals("circle"))                         combopanel.makecircles();                     /*                       if(item.equals("circle"))                         combopanel.makesquares();                     if(item.equals("square"))                         combopanel.makeovals();                     if(item.equals("oval"))                         combopanel.makerectangles();                     if(item.equals("rectangle"))                         combopanel.makecircles(); */                                       }             }         });          //position , set size of jpanel          jpanel southpanel = new jpanel();         southpanel.add(shapebox);         setdefaultcloseoperation(exit_on_close);         getcontentpane().add(combopanel, "center");         getcontentpane().add(southpanel, "south");         setsize(600,400);         setlocation(200,200);         setvisible(true);     }      private class combopanel extends jpanel     {         int w, h;         random seed;         static final int             oval = 0,             rect = 1;         int shapetype = -1;          public combopanel()         {             seed = new random();             setbackground(color.white);         }          public void paintcomponent(graphics g)         {             super.paintcomponent(g);             graphics2d g2 = (graphics2d)g;             g2.setrenderinghint(renderinghints.key_antialiasing, renderinghints.value_antialias_on);             int width = getwidth();             int height = getheight();             int x, y;             shape s = null;             for(int = 0; < 20; i++)             {                 x = seed.nextint(width - w);                 y = seed.nextint(height - h);                 switch(shapetype)                 {                     case oval:                         s = new ellipse2d.double(x, y, w, h);                         break;                     case rect:                         s = new rectangle2d.double(x, y, w, h);                 }                 if(shapetype > -1)                     g2.draw(s);             }         }          public void makesquares()         {             shapetype = rect;             w = 50;             h = 50;             repaint();         }          public void makeovals()         {             shapetype = oval;             w = 80;             h = 60;             repaint();         }          public void makerectangles()         {             shapetype = rect;             w = 80;             h = 40;             repaint();         }          public void makecircles()         {             shapetype = oval;             w = 75;             h = 75;             repaint();         }     }      public static void main(string[] args)     {         new hw1b();     } } 

the jcombobox "raw" type, means need provide actual type going use. message concerned not error, rather tries draw attention line:

jcombobox shapebox = new jcombobox(shapeitems); 

in order make code type-safe need explicitly jcombobox going work strings:

jcombobox<string> shapebox = new jcombobox<>(shapeitems); 

i recommend go through this post in case wish know more raw types , generics.


Comments