S
solomon13000
I am getting the following error
Note: C:\Documents and Settings\Eugene\Desktop\client\LocalBoard.java
uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
for the code bellow:
Toobar.java
----------------
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.*;
import java.util.Vector;
import java.util.Iterator;
public class Toolbar extends JPanel implements ChangeListener{
private WhiteboardState whiteboardState;
private Vector toolButtons;
public Toolbar(WhiteboardState w, LayoutManager l){
super(l);
whiteboardState = w;
toolButtons = new Vector();
}
public Component add(Component c){
if (c instanceof ToolButton){
toolButtons.add(c);
}
return super.add(c);
}
public void stateChanged(ChangeEvent e){
ToolButton changed = (ToolButton)e.getSource();
if (changed.isSelected()){
whiteboardState.currentTool = changed.tool;
changed.setSelected(true);
} else {
whiteboardState.currentTool = null;
}
Iterator i = toolButtons.iterator();
ToolButton t;
while(i.hasNext()){
t = (ToolButton) i.next();
if (t != changed){
t.setSelected(false);
}
}
repaint();
}
}
LocalBoard.java
----------------------
import java.util.*;
import java.rmi.*;
public class LocalBoard implements ShapeBuffer {
protected Hashtable shapes; // our list of shapes
protected int minZ = Integer.MAX_VALUE;
protected int maxZ = Integer.MIN_VALUE;
public LocalBoard() {
shapes = new Hashtable();
}
public Updater trylock(Shape s) {
// Unimplemented in LocalBoard
// (don't modify this class; just write RemoteBoard)
return null;
}
/** Returns read-only list of content in the canvas */
public Collection getAllShapes() throws RemoteException {
Enumeration e;
Integer crKey;
List v = new ArrayList();
Shape shp;
for(e = shapes.keys();e.hasMoreElements() {
crKey = (Integer)e.nextElement();
shp = (Shape)shapes.get(crKey);
v.add(shp);
}
// sorting by ID
Collections.sort(v,new Comparator(){
public int compare(Object arg0, Object arg1) {
Shape s1, s2;
s1 = (Shape)arg0;
s2 = (Shape)arg1;
return s1.getID() - s2.getID();
}
});
return v;
}
/** Add a subscriber */
public void attach(Subscriber o) {
// Unimplemented in LocalBoard
// (don't modify this class; just write RemoteBoard)
}
/** Remove a subscriber */
public void detach(Subscriber o) {
// Unimplemented in LocalBoard
// (don't modify this class; just write RemoteBoard)
}
public int addShape(Shape newShape) throws InvalidShapeException,
OverflowException, RemoteException {
int ID;
int zIndex = newShape.getZIndex();
if(newShape == null) throw new InvalidShapeException("Null
shape data in addShape!");
if(getShapeCount() >= MAX_CAPACITY) throw new
OverflowException("Shape buffer overflow!");
ID = newShape.getID();
shapes.put(new Integer(ID),newShape);
if(minZ > zIndex) minZ = zIndex;
if(maxZ < zIndex) maxZ = zIndex;
return ID;
}
public boolean containsShape(int ID) throws RemoteException {
return shapes.containsKey(new Integer(ID));
}
public boolean isEmpty() throws RemoteException {
return (shapes.size() == 0);
}
public int getShapeCount() throws RemoteException {
return shapes.size();
}
public Shape getShape(int ID) throws NoSuchShapeException,
RemoteException {
if(containsShape(ID)) return (Shape)shapes.get(new
Integer(ID));
else throw new NoSuchShapeException("No shape with ID " + ID);
}
public void bringToFront(int ID) throws NoSuchShapeException,
RemoteException {
}
public void sendToBack(int ID) throws NoSuchShapeException,
RemoteException {
}
public Collection getByZIndex(int z) throws RemoteException {
return null;
}
public int getMinZIndex() throws RemoteException {
return 0;
}
public int getMaxZIndex() throws RemoteException {
return 0;
}
}
How do I solve the problem?
Your help is kindly appreciated.
Note: C:\Documents and Settings\Eugene\Desktop\client\LocalBoard.java
uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
for the code bellow:
Toobar.java
----------------
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.*;
import java.util.Vector;
import java.util.Iterator;
public class Toolbar extends JPanel implements ChangeListener{
private WhiteboardState whiteboardState;
private Vector toolButtons;
public Toolbar(WhiteboardState w, LayoutManager l){
super(l);
whiteboardState = w;
toolButtons = new Vector();
}
public Component add(Component c){
if (c instanceof ToolButton){
toolButtons.add(c);
}
return super.add(c);
}
public void stateChanged(ChangeEvent e){
ToolButton changed = (ToolButton)e.getSource();
if (changed.isSelected()){
whiteboardState.currentTool = changed.tool;
changed.setSelected(true);
} else {
whiteboardState.currentTool = null;
}
Iterator i = toolButtons.iterator();
ToolButton t;
while(i.hasNext()){
t = (ToolButton) i.next();
if (t != changed){
t.setSelected(false);
}
}
repaint();
}
}
LocalBoard.java
----------------------
import java.util.*;
import java.rmi.*;
public class LocalBoard implements ShapeBuffer {
protected Hashtable shapes; // our list of shapes
protected int minZ = Integer.MAX_VALUE;
protected int maxZ = Integer.MIN_VALUE;
public LocalBoard() {
shapes = new Hashtable();
}
public Updater trylock(Shape s) {
// Unimplemented in LocalBoard
// (don't modify this class; just write RemoteBoard)
return null;
}
/** Returns read-only list of content in the canvas */
public Collection getAllShapes() throws RemoteException {
Enumeration e;
Integer crKey;
List v = new ArrayList();
Shape shp;
for(e = shapes.keys();e.hasMoreElements() {
crKey = (Integer)e.nextElement();
shp = (Shape)shapes.get(crKey);
v.add(shp);
}
// sorting by ID
Collections.sort(v,new Comparator(){
public int compare(Object arg0, Object arg1) {
Shape s1, s2;
s1 = (Shape)arg0;
s2 = (Shape)arg1;
return s1.getID() - s2.getID();
}
});
return v;
}
/** Add a subscriber */
public void attach(Subscriber o) {
// Unimplemented in LocalBoard
// (don't modify this class; just write RemoteBoard)
}
/** Remove a subscriber */
public void detach(Subscriber o) {
// Unimplemented in LocalBoard
// (don't modify this class; just write RemoteBoard)
}
public int addShape(Shape newShape) throws InvalidShapeException,
OverflowException, RemoteException {
int ID;
int zIndex = newShape.getZIndex();
if(newShape == null) throw new InvalidShapeException("Null
shape data in addShape!");
if(getShapeCount() >= MAX_CAPACITY) throw new
OverflowException("Shape buffer overflow!");
ID = newShape.getID();
shapes.put(new Integer(ID),newShape);
if(minZ > zIndex) minZ = zIndex;
if(maxZ < zIndex) maxZ = zIndex;
return ID;
}
public boolean containsShape(int ID) throws RemoteException {
return shapes.containsKey(new Integer(ID));
}
public boolean isEmpty() throws RemoteException {
return (shapes.size() == 0);
}
public int getShapeCount() throws RemoteException {
return shapes.size();
}
public Shape getShape(int ID) throws NoSuchShapeException,
RemoteException {
if(containsShape(ID)) return (Shape)shapes.get(new
Integer(ID));
else throw new NoSuchShapeException("No shape with ID " + ID);
}
public void bringToFront(int ID) throws NoSuchShapeException,
RemoteException {
}
public void sendToBack(int ID) throws NoSuchShapeException,
RemoteException {
}
public Collection getByZIndex(int z) throws RemoteException {
return null;
}
public int getMinZIndex() throws RemoteException {
return 0;
}
public int getMaxZIndex() throws RemoteException {
return 0;
}
}
How do I solve the problem?
Your help is kindly appreciated.