From: Johannes Z. <jza...@us...> - 2006-03-01 21:06:40
|
Update of /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/gui/dialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23826/src/net/sf/magicmap/client/gui/dialogs Modified Files: LoadMapDialog.java Log Message: added busy cursor while loading Index: LoadMapDialog.java =================================================================== RCS file: /cvsroot/magicmap/magicmapclient/src/net/sf/magicmap/client/gui/dialogs/LoadMapDialog.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** LoadMapDialog.java 26 Feb 2006 10:20:57 -0000 1.4 --- LoadMapDialog.java 1 Mar 2006 21:06:32 -0000 1.5 *************** *** 5,8 **** --- 5,9 ---- package net.sf.magicmap.client.gui.dialogs; + import java.awt.Cursor; import java.awt.Frame; import java.awt.event.ActionEvent; *************** *** 35,38 **** --- 36,42 ---- * Ein Dialog zum Laden einer vorhandenen Karte * @author thuebner + * + * Refactored on 1.3.2006 + * @author Johannes Zapotoczky <joh...@za...> */ public class LoadMapDialog extends JDialog implements ActionListener, MapCallback, ListSelectionListener { *************** *** 43,183 **** private static final long serialVersionUID = -2877958199332251412L; ! ! private MapInfo info; ! private JPanel mainPanel; ! private JList list; ! private ImagePreview preview; ! private String[] maps; ! private LoadMapDialogListener listener; ! ! public static MapInfo showDialog(Frame owner, String[] maps, LoadMapDialogListener listener){ ! LoadMapDialog d = new LoadMapDialog(owner, maps); ! GUIUtils.locateOnScreen(d); ! d.setModal(false); ! d.setVisible(true); ! d.listener = listener; ! return d.getMapInfo(); ! } ! ! public LoadMapDialog(Frame owner, String[] maps) { ! super(owner, GUIUtils.i18n("loadmap", false)); ! setSize(500, 500); ! this.maps = maps; ! ! RelativeLayout layout = new RelativeLayout(); ! RelativePanelBuilder builder = new RelativePanelBuilder(layout); ! // OK / Abbrechen ! JButton ok = builder.createButton(GUIUtils.i18n("ok"), "OK", this); ! JButton cancel = builder.createButton(GUIUtils.i18n("cancel"), "CANCEL", this); ! builder.addOKCancelButtonBar(ok, cancel, "okcancel"); ! builder.setLeftLeftDistance("okcancel", null, 10); ! builder.setRightRightDistance("okcancel", null, -10); ! builder.setBottomBottomDistance("okcancel", null, -10); ! builder.addLabel(GUIUtils.i18n("maps"), "mapslabel"); ! builder.setLeft("mapslabel", 10); ! builder.setTop("mapslabel", 10); ! list = new JList(maps); ! JScrollPane pane = new JScrollPane(list); ! builder.add(pane, "list"); ! builder.setLeft("list", 10); ! builder.setTopBottomDistance("list", "mapslabel", 5); ! builder.setRightRightDistance("list", null, -10); ! builder.setHeight("list", 100); ! preview = new ImagePreview(); ! preview.setBorder(new EtchedBorder()); ! builder.add(preview, "preview"); ! builder.setLeft("preview", 10); ! builder.setTopBottomDistance("preview", "list", 10); ! builder.setRightRightDistance("preview", null, -10); ! builder.setBottomTopDistance("preview", "okcancel", -10); ! list.addListSelectionListener(this); ! mainPanel = builder.getPanel(); ! setContentPane(mainPanel); ! mainPanel.getRootPane().setDefaultButton(ok); ! } ! /** ! * @return ! */ ! private MapInfo getMapInfo(){ ! return this.info; ! } ! /* (non-Javadoc) ! * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) ! */ ! public void actionPerformed(ActionEvent e){ ! if (e.getActionCommand().equals("OK")){ ! if (info != null){ ! try{ ! listener.loadMap(info); ! } catch (Exception ex){ ! ex.printStackTrace(); ! } ! setVisible(false); ! } ! } else if (e.getActionCommand().equals("CANCEL")){ ! info = null; ! setVisible(false); ! } ! } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.interfaces.MapCallback#mapReceived(net.sf.magicmap.client.delegate.dto.MapDTO) ! */ ! public void mapReceived(final MapDTO mapDTO){ ! try{ ! // Mit SWING synchronisieren.... ! SwingUtilities.invokeAndWait(new Runnable() { ! public void run(){ ! try{ ! info = new MapInfo(); ! info.height = mapDTO.getImageHeight().intValue(); ! info.width = mapDTO.getImageWidth().intValue(); ! info.name = mapDTO.getName(); ! info.imageURL = mapDTO.getImageURL().toString(); ! preview.loadImage(info.imageURL); ! } catch (MalformedURLException e){ ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } ! } ! }); ! } catch (InterruptedException e){ ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } catch (InvocationTargetException e){ ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } ! } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.interfaces.MapCallback#getMapError(java.lang.Exception) ! */ ! public void getMapError(Exception e){ ! e.printStackTrace(); ! info = null; ! } ! /* (non-Javadoc) ! * @see javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event.ListSelectionEvent) ! */ ! public void valueChanged(ListSelectionEvent e){ ! if (!e.getValueIsAdjusting()){ ! String map = (String) list.getSelectedValue(); ! Controller.getInstance().retrieveMap(map, this); ! } ! } ! } \ No newline at end of file --- 47,185 ---- private static final long serialVersionUID = -2877958199332251412L; ! private MapInfo info; ! private JPanel mainPanel; ! private JList list; ! private ImagePreview preview; ! private LoadMapDialogListener listener; ! private Cursor cursor; ! public static MapInfo showDialog(Frame owner, String[] maps, LoadMapDialogListener listener) { ! LoadMapDialog d = new LoadMapDialog(owner, maps); ! GUIUtils.locateOnScreen(d); ! d.setModal(false); ! d.setVisible(true); ! d.listener = listener; ! return d.getMapInfo(); ! } ! public LoadMapDialog(Frame owner, String[] maps) { ! super(owner, GUIUtils.i18n("loadmap", false)); ! setSize(500, 500); ! RelativeLayout layout = new RelativeLayout(); ! RelativePanelBuilder builder = new RelativePanelBuilder(layout); ! // OK / Abbrechen ! JButton ok = builder.createButton(GUIUtils.i18n("ok"), "OK", this); ! JButton cancel = builder.createButton(GUIUtils.i18n("cancel"), "CANCEL", this); ! builder.addOKCancelButtonBar(ok, cancel, "okcancel"); ! builder.setLeftLeftDistance("okcancel", null, 10); ! builder.setRightRightDistance("okcancel", null, -10); ! builder.setBottomBottomDistance("okcancel", null, -10); ! builder.addLabel(GUIUtils.i18n("maps"), "mapslabel"); ! builder.setLeft("mapslabel", 10); ! builder.setTop("mapslabel", 10); ! list = new JList(maps); ! JScrollPane pane = new JScrollPane(list); ! builder.add(pane, "list"); ! builder.setLeft("list", 10); ! builder.setTopBottomDistance("list", "mapslabel", 5); ! builder.setRightRightDistance("list", null, -10); ! builder.setHeight("list", 100); ! preview = new ImagePreview(); ! preview.setBorder(new EtchedBorder()); ! builder.add(preview, "preview"); ! builder.setLeft("preview", 10); ! builder.setTopBottomDistance("preview", "list", 10); ! builder.setRightRightDistance("preview", null, -10); ! builder.setBottomTopDistance("preview", "okcancel", -10); ! list.addListSelectionListener(this); ! mainPanel = builder.getPanel(); ! setContentPane(mainPanel); ! mainPanel.getRootPane().setDefaultButton(ok); ! } ! /** ! * @return ! */ ! private MapInfo getMapInfo() { ! return this.info; ! } ! /* (non-Javadoc) ! * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) ! */ ! public void actionPerformed(ActionEvent e) { ! if (e.getActionCommand().equals("OK")) { ! if (info != null) { ! try { ! cursor = getCursor(); ! setCursor(new Cursor(Cursor.WAIT_CURSOR)); ! listener.loadMap(info); ! } catch (Exception ex){ ! ex.printStackTrace(); ! } ! setVisible(false); ! } ! } else if (e.getActionCommand().equals("CANCEL")){ ! info = null; ! setVisible(false); ! } ! } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.interfaces.MapCallback#mapReceived(net.sf.magicmap.client.delegate.dto.MapDTO) ! */ ! public void mapReceived(final MapDTO mapDTO){ ! try { ! // Mit SWING synchronisieren.... ! SwingUtilities.invokeAndWait(new Runnable() { ! public void run() { ! try { ! info = new MapInfo(); ! info.height = mapDTO.getImageHeight().intValue(); ! info.width = mapDTO.getImageWidth().intValue(); ! info.name = mapDTO.getName(); ! info.imageURL = mapDTO.getImageURL().toString(); ! preview.loadImage(info.imageURL); ! setCursor(cursor); ! } catch (MalformedURLException e) { ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } ! } ! }); ! } catch (InterruptedException e) { ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } catch (InvocationTargetException e){ ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } ! } ! /* (non-Javadoc) ! * @see net.sf.magicmap.client.interfaces.MapCallback#getMapError(java.lang.Exception) ! */ ! public void getMapError(Exception e) { ! e.printStackTrace(); ! info = null; ! } ! /* (non-Javadoc) ! * @see javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event.ListSelectionEvent) ! */ ! public void valueChanged(ListSelectionEvent e) { ! if (!e.getValueIsAdjusting()) { ! String map = (String) list.getSelectedValue(); ! Controller.getInstance().retrieveMap(map, this); ! } ! } ! } |