java写的一个软件,里面有一部分用jfreechart画表格,问题是:
每当我关jfreechart那个表的时候,整个gui界面/软件也跟着一起关了
请教大家这个怎么解决俄,万分感激!!! 100分

解决方案 »

  1.   

    可能是panel和frame的关系没搞对吧,华表格的panel的事件可能覆盖了frame的事件
      

  2.   

    代码贴出来看一下。我给你一下:
    package nc.ui.test.chart;import java.awt.Dimension;
    import javax.swing.JPanel;
    import org.jfree.chart.*;
    import org.jfree.chart.axis.CategoryAxis;
    import org.jfree.chart.axis.CategoryLabelPositions;
    import org.jfree.chart.plot.CategoryPlot;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.chart.renderer.category.BarRenderer;
    import org.jfree.chart.renderer.category.CategoryItemRenderer;
    import org.jfree.data.category.CategoryDataset;
    import org.jfree.data.category.DefaultCategoryDataset;
    import org.jfree.ui.ApplicationFrame;
    import org.jfree.ui.RefineryUtilities;public class BarChart3DDemo3 extends ApplicationFrame
    {    public BarChart3DDemo3(String s)
        {
            super(s);
            CategoryDataset categorydataset = createDataset();
            JFreeChart jfreechart = createChart(categorydataset);
            ChartPanel chartpanel = new ChartPanel(jfreechart);
            chartpanel.setPreferredSize(new Dimension(500, 270));
            setContentPane(chartpanel);
        }    private static CategoryDataset createDataset()
        {
            DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
            defaultcategorydataset.addValue(25D, "Series 1", "Category 1");
            defaultcategorydataset.addValue(34D, "Series 1", "Category 2");
            defaultcategorydataset.addValue(19D, "Series 2", "Category 1");
            defaultcategorydataset.addValue(29D, "Series 2", "Category 2");
            defaultcategorydataset.addValue(41D, "Series 3", "Category 1");
            defaultcategorydataset.addValue(33D, "Series 3", "Category 2");
            return defaultcategorydataset;
        }    private static JFreeChart createChart(CategoryDataset categorydataset)
        {
            JFreeChart jfreechart = ChartFactory.createBarChart3D("3D Bar Chart Demo", "Category", "Value", categorydataset, PlotOrientation.VERTICAL, true, true, false);
            CategoryPlot categoryplot = jfreechart.getCategoryPlot();
            CategoryAxis categoryaxis = categoryplot.getDomainAxis();
            categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(0.39269908169872414D));
            CategoryItemRenderer categoryitemrenderer = categoryplot.getRenderer();
            categoryitemrenderer.setItemLabelsVisible(true);
            BarRenderer barrenderer = (BarRenderer)categoryitemrenderer;
            barrenderer.setItemMargin(0.20000000000000001D);
            return jfreechart;
        }    public static JPanel createDemoPanel()
        {
            JFreeChart jfreechart = createChart(createDataset());
            return new ChartPanel(jfreechart);
        }    public static void main(String args[])
        {
            BarChart3DDemo3 barchart3ddemo3 = new BarChart3DDemo3("3D Bar Chart Demo 3");
            barchart3ddemo3.pack();
            RefineryUtilities.centerFrameOnScreen(barchart3ddemo3);
            barchart3ddemo3.setVisible(true);
        }
    }试一下,可以用的
      

  3.   

    2楼说的是对的俄,可是我找不到啊,
    我帖一下code
    提一段是jfreechart的
    ---------------------------------/**
     * @author hsun
     * use the data from the expression file to plot the modules seperately
     * *//**
     * System.exit(0); ---null
     */public class Plot extends ApplicationFrame {
        
        private static final long serialVersionUID = 1L;   
        private static Plot instance;  
        private  List plotList = new ArrayList();   
        private  List EMList = new ArrayList();  
        private  Map calculatedModule = new HashMap();
        
        //存储计算过的绘图时module的gene值。key 是module名,vlaue是一个各(gene)点的ArrayList。
        public static synchronized Plot getInstance() {
          if ( instance ==null){
            instance = new Plot("Module Plot");
            }  
          return instance;
        }
        
        /*
         *清空plotList列表。
         */
        
        public  void cleanPlotList(){
            getPlotList().clear();
        }
        
        /*
         *plotList列表中加入新的moduleName。
         */
        
        public void addPlot(String moduleName){        Iterator it=getPlotList().iterator();
            boolean exist= false;
            while(it.hasNext()){
                String temp=(String)it.next();
                if (temp.equals(moduleName)){
                    exist= true;
                    //break;
                }
            }        if (exist == false) getPlotList().add(moduleName);
        }
        
        /**
         * 计算显示plot图所需的数据--result--module names
         */
        
        private ArrayList calLineData(){
            ArrayList result = new ArrayList();
            Iterator it = getPlotList().iterator();
            while (it.hasNext()){
                String selectedModule=(String)it.next();
                List averageList = null;
                if (calculatedModule.containsKey(selectedModule)){
                    //module的plot值计算过
                    averageList = (List)calculatedModule.get(selectedModule);//
                }else{
                    //module的plot值未计算过
                    averageList = calAverage(selectedModule);
                }
                result.add(averageList);
            }
            return result;
        }
        
        private List calAverage(String modulenme){ 
     
            OriginalModuleList oml =OriginalModuleList.getInstance();
            Module m = oml.getModule(modulenme);
            ArrayList genes = m.getX();        
            ArrayList selectedGenes = new ArrayList();
            Iterator it1 = genes.iterator();//遍历所有的gene
            while (it1.hasNext()){
                String gene=(String)it1.next();
                int geneCode = Integer.parseInt(gene)-1;            selectedGenes.add(getEMList().get(geneCode));
                
                
                //System.out.println(selectedGenes.add(getEMList().get(geneCode)));//----test
                
                
            }
            
            ArrayList result = new ArrayList();
            
            ArrayList temp =(ArrayList) getEMList().get(0);//map's value
            int length = temp.size();//对俄,condition的总共的个数(大矩阵的列数额)
            
            int size = ((ArrayList) selectedGenes.get(0)).size();
            int[]count = new int[size];//13
         float[] avg=new float[size];//13
            
            for (int i=0;i<((ArrayList)selectedGenes.get(0)).size();i++){//遍历所有的arrayList=4
                     
                for (int j=0;j<selectedGenes.size();j++){//所有的列数(condition) 
                 ArrayList temp1 = (ArrayList)selectedGenes.get(j);  //第i行/条数据
                    float value = (Float)temp1.get(i);
                    if (value == 0.0){
                     count[i]++;
                    }
                    
                    avg[i]+=value/(selectedGenes.size()-count[i]+1);//第1,2,3,4条的第一个都放在avg[0]里面--数组的第一个元素里面。
                }
                System.out.println(avg[1]);              result.add(avg[i]);
                  
                  //System.out.println(result.get);
                
            }
            return result;//待画的数据,看来是plot的时候的横坐标有问题了。上面的算法没有任何问题
        }
        /**
         * Creates a new demo.
         *
         * @param title  the frame title.
         */    public Plot(final String title) {
     
            super(title);     
        } public void createPlot(String tilte){
            setTitle(tilte);
            final XYDataset dataset = createDataset();
            final JFreeChart chart = createChart(dataset);
            final ChartPanel chartPanel = new ChartPanel(chart);
            chartPanel.setPreferredSize(new java.awt.Dimension(1000, 270));
            setContentPane(chartPanel);
        }
        
        /**
         * Creates a sample dataset.
         *
         * @return a sample dataset.
         */
        private XYDataset createDataset() {
       
            final XYSeriesCollection dataset = new XYSeriesCollection();
            ArrayList modulelines = calLineData();
            for (int i = 0 ;i < modulelines.size(); i++){
                final XYSeries series0 = new XYSeries((String)getPlotList().get(i));
                //ArrayList temp = (ArrayList)dataAarryList.get(i);
                // System.out.println(modulelines.get(i).getClass());
                ArrayList data = (ArrayList)modulelines.get(i);
                // float[] data=(float[])modulelines.get(i);
                for(int j = 0; j <data.size(); j++){                series0.add(j,Float.parseFloat(data.get(j).toString()));
                }
                dataset.addSeries(series0);
                //System.out.println(dataset);//--------test
            }     
            return dataset;
     
        }
        
        /**
         * Creates a chart.
         *
         * @param dataset  the data for the chart.
         *
         * @return a chart.
         */
        private JFreeChart createChart(final XYDataset dataset) {
            
            // create the chart...
            final JFreeChart chart = ChartFactory.createXYLineChart(
                    "Module Plot",      // chart title
                    "Conditions",                      // x axis label
                    "Genes",                      // y axis label
                    dataset,                  // data
                    PlotOrientation.VERTICAL,
                    true,                     // include legend
                    true,                     // tooltips
                    false                     // urls
                    );
            
            // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
            chart.setBackgroundPaint(Color.white);
            
            // get a reference to the plot for further customisation...
            XYPlot plot = (XYPlot) chart.getPlot();
            plot.setBackgroundPaint(Color.lightGray);
            plot.setDomainGridlinePaint(Color.white);
            plot.setRangeGridlinePaint(Color.white);
            
            XYLineAndShapeRenderer r = (XYLineAndShapeRenderer) plot.getRenderer();
            r.setShapesVisible(false);
            
            return chart;
            
        }
        
        /**
         * Starting point for the demonstration application.
         *
         * @param args  ignored.
         * @throws Exception 
         * @throws IOException 
         */
        
        
        private static NumberAxis getRangeAxis() {
            // TODO Auto-generated method stub
            return null;
        }    
        public static long getSerialVersionUID() {
            return serialVersionUID;
        }
        
        public  void setEMList(List aEMList) {
            EMList = aEMList;
        }
        
        public  List getPlotList() {
            return plotList;
        }
        
        public  void setPlotList(List aPlotList) {
            plotList = aPlotList;
        }
        
        public  List getEMList() {
            return EMList;
        }
        
    }
      

  4.   

    第二段是GuiFrame的,谢谢大家!!!
    public class GuiFrame
        extends JFrame implements Observer {
    private static final long serialVersionUID = -2938598205234750438L;
    JPanel $contentPane;
      JMenuBar $jMenuBar = new JMenuBar();
      JMenu $jMenuFile = new JMenu();
      JMenuItem $jMenuFileSaveASPNG = new JMenuItem();
      JMenuItem $jMenuFileSaveASJPG = new JMenuItem();
      JMenuItem $jMenuFileSaveASSVG = new JMenuItem();
      JMenuItem $jMenuFileExit = new JMenuItem();
      JMenu $jMenuHelp = new JMenu();
      JMenuItem $jMenuHelpAbout = new JMenuItem();
      JMenu $jMenuView = new JMenu();
      JMenu $jMenuViewPlugins = new JMenu();
      JMenu $jMenuSelections = new JMenu();
      JMenuItem $jMenuSelectionsRandom= new JMenuItem();
      JMenuItem $jMenuSelectionsRelative = new JMenuItem();  
      JMenu $jMenuOrder = new JMenu();
      JMenuItem $jMenuOrderKmeans = new JMenuItem();
      JMenuItem $jMenuOrderOverlap = new JMenuItem();
      JMenuItem $jMenuOrderScore = new JMenuItem();
        
      JLabel $statusBar;
      TaskPanel $taskPanel;  ContentManager $contentManager;  Hashtable $pluginList = new Hashtable();
      InfiniteProgressPanel $glassPane = new InfiniteProgressPanel();  /**
       * Construct the frame
       */
      public GuiFrame() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        LogManager logManager = LogManager.getLogManager();
        logManager.addObserver(this);
        try {
          jbInit();
        }
        catch (Exception e) {
          e.printStackTrace();
        }
      }  /**
       * Component initialization
       * @throws Exception exception
       */
      private void jbInit() throws Exception {
        initGui();
        initPlugins();
        initMenuBar();
      }
      /**
       * initGui
       */
      private void initGui() {
        $contentPane = (JPanel)this.getContentPane();
        this.setIconImage(new ImageIcon("icons\\small_logo.png").getImage());
        this.setTitle("modulevisualization  v0.1");
        this.setSize(new Dimension(1600, 1000));
        $taskPanel = new TaskPanel(this);
        $taskPanel.setMinimumSize(new Dimension(220, 220));
        $taskPanel.setMaximumSize(new Dimension(220, 220));
        $taskPanel.setPreferredSize(new Dimension(220, 220));
        $contentManager = new ContentManager($taskPanel);
        $statusBar = new JLabel("test");    $contentPane.add($taskPanel, BorderLayout.WEST);
        $contentPane.add($statusBar, BorderLayout.SOUTH);
        $contentPane.add($contentManager.getContentPanel());
        this.setGlassPane($glassPane);
      }  /**
       * initPlugins
       */
      private void initPlugins() throws InstantiationException,
          IllegalAccessException, IllegalArgumentException,
          InvocationTargetException, SecurityException, ClassNotFoundException {
        SettingsManager settingsManager = SettingsManager.getSettingsManager();
        String[] plugins = settingsManager.getActivePluginNames();
        for (int i = 0; i < plugins.length; i++) {
          String fullname = settingsManager.getfullName(plugins[i]);
          if (fullname != null) {
            $pluginList.put(plugins[i], instantiatePlugin(fullname));
          }
        }
      }
      /**
       * initMenuBar
       */
      private void initMenuBar() {
        this.setJMenuBar($jMenuBar);
        $jMenuFile.setText("File");
        $jMenuFileSaveASPNG.setText("Save as PNG");
        $jMenuFileSaveASPNG.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jMenuFileSaveAsPNG_actionPerformed(e);
          }
        });
        $jMenuFileSaveASJPG.setText("Save as JPG");
        $jMenuFileSaveASJPG.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jMenuFileSaveAsJPG_actionPerformed(e);
          }
        });
        $jMenuFileSaveASSVG.setText("Save as SVG");
        $jMenuFileSaveASSVG.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jMenuFileSaveAsSVG_actionPerformed(e);
          }
        });
        $jMenuFileExit.setText("Exit");
        $jMenuFileExit.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jMenuFileExit_actionPerformed(e);
          }
        });
        $jMenuFile.add($jMenuFileSaveASSVG);
        $jMenuFile.add($jMenuFileSaveASPNG);
        $jMenuFile.add($jMenuFileSaveASJPG);
        $jMenuFile.add($jMenuFileExit);
        $jMenuHelp.setText("Help");
        $jMenuHelpAbout.setText("About");
        $jMenuHelpAbout.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jMenuHelpAbout_actionPerformed(e);
          }
        });
        $jMenuView.setText("View");
        $jMenuViewPlugins.setText("Plugins");
        $jMenuView.add($jMenuViewPlugins);    
        SettingsManager settingsManager = SettingsManager.getSettingsManager();
        String[] pluginNames = settingsManager.getPluginNames();
        Hashtable groupList = new Hashtable();    for (int i = 0; i < pluginNames.length; i++) {
          boolean setting = settingsManager.isPluginActive(pluginNames[i]);
          JCheckBoxMenuItem plugin;
          if (setting) {
            plugin = new JCheckBoxMenuItem(pluginNames[i], true);
          }
          else {
            plugin = new JCheckBoxMenuItem(pluginNames[i], false);
          }
          plugin.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(ActionEvent e) {
              jMenuViewPlugin_actionPerformed(e);
            }
          });
          String fullname = settingsManager.getfullName(pluginNames[i]);
          if (fullname.startsWith("edu.tul.Plugins")) {
            String[] fullnamesplitted = fullname.split("\\.");
            JMenu parentGroup = (JMenu) groupList.get(fullnamesplitted[3]);
            if (parentGroup != null) {
              parentGroup.add(plugin);
            }
            else {
              parentGroup = new JMenu(fullnamesplitted[3]);
              groupList.put(fullnamesplitted[3], parentGroup);
              $jMenuViewPlugins.add(parentGroup);
              parentGroup.add(plugin);
            }
          }
          else {
            $jMenuViewPlugins.add(plugin);
          }
        }
        $jMenuHelp.add($jMenuHelpAbout);
        $jMenuBar.add($jMenuFile);
        $jMenuBar.add($jMenuView);
        $jMenuBar.add($jMenuHelp);  }
    下面接着哈
      

  5.   

    接着上面
    /**
       * This function takes astring as input parameter and returns an instance of a
       * Plugin class of the correct type.
       *
       * @param fullname The name of the class that should be instantiated.
       * @return Plugin, an instance of the correct class.
       * @throws ClassNotFoundException
       * @throws SecurityException
       * @throws InvocationTargetException
       * @throws IllegalArgumentException
       * @throws IllegalAccessException
       * @throws InstantiationException
       */
      protected Plugin instantiatePlugin(String fullname) throws
          ClassNotFoundException, SecurityException, InvocationTargetException,
          IllegalArgumentException,
          IllegalAccessException, InstantiationException {    Constructor[] cArray = Class.forName(fullname).getConstructors();
        Constructor c = cArray[0];
        Class[] classArray = c.getParameterTypes();
        if (classArray.length == 1 && classArray[0].equals(ContentManager.class)) {
          Object[] oArray = new Object[1];
          oArray[0] = this.$contentManager;
          return (Plugin) c.newInstance(oArray);
        }
        else if (classArray.length == 2 && classArray[0].equals(ContentManager.class)
                 && classArray[1].equals(JFrame.class)) {
          Object[] oArray = new Object[2];
          oArray[0] = this.$contentManager;
          oArray[1] = this;
          return (Plugin) c.newInstance(oArray);
        }
        return null;
      }
      /**
       * Overridden so we can exit when window is closed
       * @param e WindowEvent
       */
      protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          SettingsManager sm = SettingsManager.getSettingsManager();
          sm.writeToFile();
          System.exit(0);
        }
      }
      /**
       * File | Exit action performed
       * @param e ActionEvent
       */
      public void jMenuFileExit_actionPerformed(ActionEvent e) {
        LogManager lMan = LogManager.getLogManager();
        lMan.fireLogEvent(LogManager.EXIT, "");
      }
      /**
       * File | SaveAsPNG action performed
       *
       * @param e ActionEvent
       */
      public void jMenuFileSaveAsPNG_actionPerformed(ActionEvent e) {
        JFileChooser fileChooser =
            new JFileChooser();
        fileChooser.setDialogTitle("Save as PNG");
        fileChooser.setFileHidingEnabled(false);
        fileChooser.setFileSelectionMode
            (JFileChooser.FILES_ONLY);
        fileChooser.addChoosableFileFilter(new ImageFileFilter(".png"));
        int choice = fileChooser.showSaveDialog(this);
        if (choice == JFileChooser.APPROVE_OPTION) {
          File f = fileChooser.getSelectedFile();
          if (!f.getAbsolutePath().endsWith(".png")) {
            f = new File(f.getAbsolutePath() + ".png");
          }
          LogManager lMan = LogManager.getLogManager();
          lMan.fireLogEvent(LogManager.SAVEASPNG, f);    }
      }  /**
       * File | SaveAsJPG action performed
       * @param e ActionEvent
       */
      public void jMenuFileSaveAsJPG_actionPerformed(ActionEvent e) {
        JFileChooser fileChooser =
            new JFileChooser();
        fileChooser.setDialogTitle("Save as JPG");
        fileChooser.setFileHidingEnabled(false);
        fileChooser.setFileSelectionMode
            (JFileChooser.FILES_ONLY);
        fileChooser.addChoosableFileFilter(new ImageFileFilter(".jpg"));
        int choice = fileChooser.showSaveDialog(this);
        if (choice == JFileChooser.APPROVE_OPTION) {
          File f = fileChooser.getSelectedFile();
          if (!f.getAbsolutePath().endsWith(".jpg")) {
            f = new File(f.getAbsolutePath() + ".jpg");
          }
          LogManager lMan = LogManager.getLogManager();
          lMan.fireLogEvent(LogManager.SAVEASJPG, f);
        }
      }  /**
       * File | SaveAsSVG action performed
       * @param e ActionEvent
       */
      public void jMenuFileSaveAsSVG_actionPerformed(ActionEvent e) {    JFileChooser fileChooser =
            new JFileChooser();
        fileChooser.setDialogTitle("Save as SVG");
        fileChooser.setFileHidingEnabled(false);
        fileChooser.setFileSelectionMode
            (JFileChooser.FILES_ONLY);
        fileChooser.addChoosableFileFilter(new ImageFileFilter(".svg"));    int choice = fileChooser.showSaveDialog(this);
        if (choice == JFileChooser.APPROVE_OPTION) {
          File f = fileChooser.getSelectedFile();
          if (!f.getAbsolutePath().endsWith(".svg")) {
            f = new File(f.getAbsolutePath() + ".svg");
          }
          LogManager lMan = LogManager.getLogManager();
          lMan.fireLogEvent(LogManager.SAVEASSVG, f);
        }
      } 
      

  6.   

     接着/**
       * View | Plugin | * action performed
       * @param e ActionEvent
       */  public void jMenuViewPlugin_actionPerformed(ActionEvent e) {    JCheckBoxMenuItem checkbox = (JCheckBoxMenuItem) e.getSource();
        SettingsManager settingsManager = SettingsManager.getSettingsManager();
        if (checkbox.getState() == true) {
          settingsManager.setPluginActive(e.getActionCommand(), true);
          try {
            $pluginList.put(e.getActionCommand(),
                            instantiatePlugin(settingsManager.
                                              getfullName(e.getActionCommand())));
          }
          catch (Exception ex) {
            JOptionPane.showMessageDialog(null,
                                          "An error occured!\nExtra information have been written to log...",
                                          "Error...",
                                          JOptionPane.ERROR_MESSAGE);
            SettingsManager sm = SettingsManager.getSettingsManager();
            ex.printStackTrace(sm.getLogStream());
          }
        }
        else {
          settingsManager.setPluginActive(e.getActionCommand(), false);
          this.$contentManager.removePluginFromGui(settingsManager.getfullName(e.
              getActionCommand()));
          $pluginList.remove(e.getActionCommand());
        }
        settingsManager.writeToFile();
      }
      /**
       * Help | About action performed
       *
       * @param e ActionEvent
       */
      public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
        JPanel panel = new JPanel(null);
        panel.setBackground(Color.white);
        panel.setBorder(BorderFactory.createLineBorder(Color.black));
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));    Box box = new Box(BoxLayout.X_AXIS);
        box.add(Box.createHorizontalGlue());
        box.add(new JLabel(new ImageIcon("icons\\logo.png")));
        box.add(Box.createHorizontalGlue());
        panel.add(box);    JOptionPane jop = new JOptionPane(panel);
        JDialog dialog = jop.createDialog(this, "ModuleVisualisation v0.1");
        dialog.setVisible(true);  }
      public void update(Observable o, Object arg) {    LogMessage msg = (LogMessage) arg;
        String status;
        switch (msg.getLevel()) {
          case LogManager.EXIT:
            status = "Exit    " + msg.getObject();        System.out.println(status);
            $statusBar.setText(status);
            System.exit(0);
            break;
          case LogManager.PLUGINLOADED:
            status = "'" + msg.getObject() + "' loaded successfully.";        System.out.println(status);
            $statusBar.setText(status);
            break;
          case LogManager.SVGLOADING:
            status = "'" + msg.getObject() + "' loading.";        System.out.println(status);
            $statusBar.setText(status);
            break;
          case LogManager.SVGLOADED:
            status = "Canvas updated successfully.";
            System.out.println(status);
            $statusBar.setText(status);
            break;      case LogManager.SVGZOOMIN:
            status = "'" + msg.getObject() + "' wants a zoom in.";        System.out.println(status);
            $statusBar.setText("Zoomed in.");
            break;
          case LogManager.SVGZOOMOUT:
            status = "'" + msg.getObject() + "'wants a zoom out.";        System.out.println(status);
            $statusBar.setText("Zoomed out.");
            break;
          case LogManager.SVGZOOMRESET:
            status = "'" + msg.getObject() + "'wants a zoom reset.";        System.out.println(status);
            $statusBar.setText("Zoom Reset.");
            break;
          case LogManager.SAVEASDONE:
            status = "Current view saved as '" + msg.getObject() + "'.";        System.out.println(status);
            $statusBar.setText(status);
            break;
          case LogManager.SHOWGLASS:
            $glassPane.start();
            break;
          case LogManager.HIDEGLASS:
            $glassPane.stop();
            break;
        }
      }
    }谢谢大家啦!!!周末快乐!!!
      

  7.   

    楼主可否把source发到我邮箱?
    [email protected]
      

  8.   

    楼主 littlemonster
    我刚发现新浪的邮箱无法使用@_@。不知道是不是网站的问题。郁闷中
    请把相关的程序发到我的另外一个邮箱里面。麻烦了。
    [email protected]
      

  9.   

    谢谢lchng2008,在你的大力帮助下,问题解决了,,,
    非常感谢!!!开心!!!
      

  10.   

    非常感谢你!
    给lchng2008分俄,怎么加俄?谁能告诉我啊,谢谢!