OVH Cloud OVH Cloud

problème bizarre à la compil

2 réponses
Avatar
pere.noel
dans une classe "SVGPlayer" qui est une JFrame, j'ai un MenuItem
"Verbose" qui n'apparaît pas dans le menu, si j'ajoute un autre
JMenuItem "toto", il n'apparaît pas non + ???

je précise que d'autres items apparaissent et que ceci se produit si je
compile "à la main" javac ... ou en utilisant ant.

je ne vois pas trop où chercher, les sources proviennet d'un cvs
checkout. même un ant clean ne change rien et pourtant il n'y a qu'une
seule classe "SVGPlayer" dans le dossier src...

sans doute un truc "bébéte"...
--
une bévue

2 réponses

Avatar
JScoobyCed
Peut-etre que le lien vers le CVS source en question ou un bout de code
aiderait. Sans le code sous les yeux, c'est pas evident a deviner ce qui
peut clocher :)

--
JSC

Une bévue wrote:
dans une classe "SVGPlayer" qui est une JFrame, j'ai un MenuItem
"Verbose" qui n'apparaît pas dans le menu, si j'ajoute un autre
JMenuItem "toto", il n'apparaît pas non + ???

je précise que d'autres items apparaissent et que ceci se produit si je
compile "à la main" javac ... ou en utilisant ant.

je ne vois pas trop où chercher, les sources proviennet d'un cvs
checkout. même un ant clean ne change rien et pourtant il n'y a qu'une
seule classe "SVGPlayer" dans le dossier src...

sans doute un truc "bébéte"...


Avatar
pere.noel
JScoobyCed wrote:

Peut-etre que le lien vers le CVS source en question ou un bout de code
bon le cvs source là, en ce moment il ne compile plus sous ant, le dev a

du changer qqc.
ça se trouve là : <https://svgsalamander.dev.java.net/>
aiderait. Sans le code sous les yeux, c'est pas evident a deviner ce qui
peut clocher :)


ok, je ne pense pas que ça vienne du code because c'est un cvs issu d'un
dev qui teste sur sa machine (win* et linux) et là c'est OK, pas sur
MacOS X.

tout se passe "comme si" il y avait quelque part (non trouvé) une
version cachée de SVGPlayer.java qui n'a pas le menu item verbose...

donc, pour résumer si dans son code j'ajoute (après la ligne 209) :
<code>
JMenuItem toto = new JMenuItem();
toto.setText("Toto");
menu_window.add(toto);
</code>

cet item de menu n'apparaît pas, par contre, si, à partir de la classe
prsente dans le cvs checkout, j'en crée une autre "identique", juste en
changeant son nom (SVGPlayer.java -> SVGPlayerNew.java), ça marche (pour
SVGPlayerNew uniquement), la classe complète :
<code>
package com.kitfox.svg.app;

import java.util.*;
import java.net.*;
import java.awt.*;
import java.io.*;
import java.util.regex.*;
import javax.swing.*;
import javax.swing.filechooser.*;

import javax.swing.*;

import com.kitfox.svg.*;

/**
* @author Mark McKay
* @author <a href="mailto:">Mark McKay</a>
*/
public class SVGPlayer extends javax.swing.JFrame
{
public static final long serialVersionUID = 1;

SVGDisplayPanel svgDisplayPanel = new SVGDisplayPanel();

final PlayerDialog playerDialog;

SVGUniverse universe;

/** FileChooser for running in trusted environments */
final JFileChooser fileChooser;
{
// fileChooser = new JFileChooser(new File("."));
fileChooser = new JFileChooser();
fileChooser.setFileFilter(
new javax.swing.filechooser.FileFilter() {
final Matcher matchLevelFile Pattern.compile(".*.svg").matcher("");

public boolean accept(File file)
{
if (file.isDirectory()) return true;

matchLevelFile.reset(file.getName());
return matchLevelFile.matches();
}

public String getDescription() { return "SVG file
(*.svg)"; }
}
);
}

/** Backup file service for opening files in WebStart situations */
/*
final FileOpenService fileOpenService;
{
try
{
fileOpenService (FileOpenService)ServiceManager.lookup("javax.jnlp.FileOpenService");
}
catch (UnavailableServiceException e)
{
fileOpenService = null;
}
}
*/

/** Creates new form SVGViewer */
public SVGPlayer() {
initComponents();

setSize(800, 600);

svgDisplayPanel.setBgColor(Color.white);

scrollPane_svgArea.setViewportView(svgDisplayPanel);

playerDialog = new PlayerDialog(this);
}

public void updateTime(double curTime)
{
try
{
if (universe != null)
{
universe.setCurTime(curTime);
universe.updateTime();
// svgDisplayPanel.updateTime(curTime);
repaint();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code
">//GEN-BEGIN:initComponents
private void initComponents()
{
scrollPane_svgArea = new javax.swing.JScrollPane();
jMenuBar1 = new javax.swing.JMenuBar();
menu_file = new javax.swing.JMenu();
cm_load = new javax.swing.JMenuItem();
menu_window = new javax.swing.JMenu();
cm_player = new javax.swing.JMenuItem();
jSeparator2 = new javax.swing.JSeparator();
cm_800x600 = new javax.swing.JMenuItem();
CheckBoxMenuItem_anonInputStream = new
javax.swing.JCheckBoxMenuItem();
cmCheck_verbose = new javax.swing.JCheckBoxMenuItem();
menu_help = new javax.swing.JMenu();
cm_about = new javax.swing.JMenuItem();

setTitle("SVG Player - Salamander Project");
addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosing(java.awt.event.WindowEvent evt)
{
exitForm(evt);
}
});

getContentPane().add(scrollPane_svgArea,
java.awt.BorderLayout.CENTER);

menu_file.setMnemonic('f');
menu_file.setText("File");
cm_load.setMnemonic('l');
cm_load.setText("Load");
cm_load.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
cm_loadActionPerformed(evt);
}
});

menu_file.add(cm_load);

jMenuBar1.add(menu_file);

menu_window.setText("Window");
cm_player.setText("Player");
cm_player.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
cm_playerActionPerformed(evt);
}
});

menu_window.add(cm_player);

menu_window.add(jSeparator2);

cm_800x600.setText("800 x 600");
cm_800x600.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
cm_800x600ActionPerformed(evt);
}
});

menu_window.add(cm_800x600);

CheckBoxMenuItem_anonInputStream.setText("Anonymous Input
Stream");
menu_window.add(CheckBoxMenuItem_anonInputStream);

cmCheck_verbose.setText("Verbose");
cmCheck_verbose.addActionListener(new
java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
cmCheck_verboseActionPerformed(evt);
}
});

menu_window.add(cmCheck_verbose);

jMenuBar1.add(menu_window);

menu_help.setText("Help");
cm_about.setText("About...");
cm_about.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
cm_aboutActionPerformed(evt);
}
});

menu_help.add(cm_about);

jMenuBar1.add(menu_help);

setJMenuBar(jMenuBar1);

pack();
}
// </editor-fold>//GEN-END:initComponents

private void
cmCheck_verboseActionPerformed(java.awt.event.ActionEvent
evt)//GEN-FIRST:event_cmCheck_verboseActionPerformed
{//GEN-HEADEREND:event_cmCheck_verboseActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_cmCheck_verboseActionPerformed

private void cm_playerActionPerformed(java.awt.event.ActionEvent
evt)//GEN-FIRST:event_cm_playerActionPerformed
{//GEN-HEADEREND:event_cm_playerActionPerformed
playerDialog.setVisible(true);
}//GEN-LAST:event_cm_playerActionPerformed

private void cm_aboutActionPerformed(java.awt.event.ActionEvent
evt)//GEN-FIRST:event_cm_aboutActionPerformed
{//GEN-HEADEREND:event_cm_aboutActionPerformed
VersionDialog dia = new VersionDialog(this, true,
cmCheck_verbose.isSelected());
dia.setVisible(true);
// JOptionPane.showMessageDialog(this, "Salamander SVG - Created
by Mark McKaynhttp://www.kitfox.com");
}//GEN-LAST:event_cm_aboutActionPerformed

private void cm_800x600ActionPerformed(java.awt.event.ActionEvent
evt) {//GEN-FIRST:event_cm_800x600ActionPerformed
setSize(800, 600);
}//GEN-LAST:event_cm_800x600ActionPerformed

private void cm_loadActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_cm_loadActionPerformed
boolean verbose = cmCheck_verbose.isSelected();

try
{
int retVal = fileChooser.showOpenDialog(this);
if (retVal == JFileChooser.APPROVE_OPTION)
{
File chosenFile = fileChooser.getSelectedFile();

URL url = chosenFile.toURL();

universe = new SVGUniverse();
universe.setVerbose(verbose);
SVGDiagram diagram = null;

if (!CheckBoxMenuItem_anonInputStream.isSelected())
{
//Load from a disk with a valid URL
URI uri = universe.loadSVG(url);

if (verbose) System.err.println(uri.toString());

diagram = universe.getDiagram(uri);
}
else
{
//Load from a stream with no particular valid URL
try
{
InputStream is = url.openStream();
URI uri = universe.loadSVG(is, "defaultName");

if (verbose) System.err.println(uri.toString());

diagram = universe.getDiagram(uri);
}
catch (Exception e)
{
e.printStackTrace();
}
}


svgDisplayPanel.setDiagram(diagram);
repaint();
}
}
/*
catch (IOException ioe)
{
try
{
//We may be in a WebStart app. Try again with a
FileOpenService
FileContents fc = fileOpenService.openFileDialog(null,
new String[]{"svg"});
InputStream is = fc.getInputStream();
String name = fc.getName();
}
catch (Exception e)
{
e.printStackTrace();
}
}
*/
catch (Exception e)
{
e.printStackTrace();
}

}//GEN-LAST:event_cm_loadActionPerformed

/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt)
{//GEN-FIRST:event_exitForm
// setVisible(false);
// dispose();
System.exit(0);
}//GEN-LAST:event_exitForm

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new SVGPlayer().setVisible(true);
}

public void updateTime(double curTime, double timeStep, int
playState)
{
}

// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JCheckBoxMenuItem
CheckBoxMenuItem_anonInputStream;
private javax.swing.JCheckBoxMenuItem cmCheck_verbose;
private javax.swing.JMenuItem cm_800x600;
private javax.swing.JMenuItem cm_about;
private javax.swing.JMenuItem cm_load;
private javax.swing.JMenuItem cm_player;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JMenu menu_file;
private javax.swing.JMenu menu_help;
private javax.swing.JMenu menu_window;
private javax.swing.JScrollPane scrollPane_svgArea;
// End of variables declaration//GEN-END:variables

}
</code>