Generics: compiler bug or not?

Hi.
I faced with some strange issue, which may be described as follows:
import java.util.Collections;
import java.util.List;
public class Test<T> {
    public List<String> getStrings() {
        return Collections.emptyList();
    public static void main(String[] args) {
        Test test = new Test();
        for (String s : test.getStrings()) { // first
            System.out.println(s);
        Class aClass = test.getClass();
        Deprecated annotation = aClass.getAnnotation(Deprecated.class); // second
}The lines commented as "first" and "second" cause compilation error "incompatible types". The problem can be fixed the following way:
        Test<?> test = new Test();
        for (String s : test.getStrings()) { // first
            System.out.println(s);
        Class<?> aClass = test.getClass();
        Deprecated annotation = aClass.getAnnotation(Deprecated.class); // secondBut why does it appearat all?
Regards,
Maxim

Might be better off sticking this in the generics
forum, since Mr von der Ahe hangs around there so
much. Although I'm not convinced he'd concede that
ECJ got it right where his beloved javac didn't :-)Ok, I will cross post (and flag it as a cross post). I remember that I had another thread there, a long time ago, and Eclipse was correct at that time :)
Kaj

Similar Messages

  • Foreach syntax + generics, Possible compiler bug?

    I'm encountering an odd problem trying to use generics and the foreach (colon) syntax. The code in question:
    for (Iterator<String> it = col.getParameterNames().iterator(); it.hasNext();) {}
    for (String paramName : col.getParameterNames()) {}col is an instance of an inner class of the class whose method this code snippet is from, getParameterNames has the signature:
    public Set<String> getParameterNames();
    The first line, using the Iterator<String> explicitly, compiles fine. The second line, when present, raises the compiler error:
    found : java.lang.Object
    required: java.lang.String
    for (String paramName : col.getParameterNames()) {
    I cannot seem to reliably reproduce this situation in other (simpler) classes I write, but this one in particular seems to trigger it. Is it possible this is a compiler bug, or might there be something I'm doing incorrectly that I'm missing? Are my expectations about how the second line should work incorrect? It seems to in other circumstances...
    javac is 1.6.0_01. Any ideas?

    Here is a quick update, I'm more inclined to think of this as bad behavior now.
    This code compiles:
    public class Test {
    Vector<InnerTest> inners = new Vector<InnerTest>();
        public class InnerTest {        
           public Set<String> someSet() { return (new HashMap<String,String>()).keySet(); }
        public Test() {
            for (InnerTest it : inners) {
                for (String s : it.someSet()) {        
    }however, the following does not:
    public class Test {
    Vector<InnerTest> inners = new Vector<InnerTest>();
        public class InnerTest<P> {        
           public Set<String> someSet() { return (new HashMap<String,String>()).keySet(); }
        public Test() {
            for (InnerTest it : inners) {
                for (String s : it.someSet()) {        
    }Again, the problem might be with my expectations (I haven't gone through the specifications yet with this in mind), but I can't fathom how or why the unused parameter would make a difference in that method's tpye matching.

  • Xerox_mfp scanner not working in arch (compilation bug?)

    I have discovered that my xerox_mfp printer/scanner Xerox Workcentre 3119 is not working in archlinux. However, with the same libsane version, scanner is working in debian.
    I checked the two libraries libsane-xerox_mfp.so.1.0.22: they are different in size.
    I have copied the debian library in /usr/lib/sane and now the scanner is working.
    Compilation bug?
    Last edited by hifi25nl (2011-05-24 17:35:01)

    architecture: x86-64
    samsung scx-4200: xerox_mfp sane backend
    the same problem
    libsane-xerox_mfp.so.1.0.22 from debian libsane_1.0.22-6_amd64 package is working

  • [svn:fx-trunk] 12077: Although Spark RichText does not support link formats , modifying compiled FXG to not generate ActionScript code that will cause compile time exceptions .

    Revision: 12077
    Revision: 12077
    Author:   [email protected]
    Date:     2009-11-20 18:16:32 -0800 (Fri, 20 Nov 2009)
    Log Message:
    Although Spark RichText does not support link formats, modifying compiled FXG to not generate ActionScript code that will cause compile time exceptions.
    Removing references to Flex Builder 3 in RPC.
    QE notes: N/A
    Doc notes: N/A
    Bugs:
    SDK-24305 - Link format property nodes cause errors on RichText in FXG 2.0
    SDK-24322 - A couple references to Flex Builder 3 in Flex 4 LangRef (and code comments)
    Reviewer: Deepa
    Tests run: checkintests
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-24305
        http://bugs.adobe.com/jira/browse/SDK-24322
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as
        flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java

  • SDK 3.0: Compiler bug with std::deque?

    When I call std::deque::assign(), I get all kinds of compile-time errors, including internal compiler errors.
    Note, however, that this happens only when I compile for the 3.0 device. It does not happen when I compile for the 3.0 simulator, 2.x device or 2.x simulator. In all those other modes it compiles and works just fine. Only when compiling for the 3.0 device, the compiler errors happen.
    I'm pretty certain this is a bug in the SDK. Has anyone else noticed this?

    Assign is a particularly tricky one. There are two assign methods. One takes two iterators and the other takes a size and value:
    template<class InputIterator>
    void assign(InputIterator first, InputIterator last);
    void assign(size_type n, const T & t);
    For whatever reason, the compiler for the 3.0 device is saying "int" and "int *" are the same type. It is instantiation the version with the iterators instead of the second one. This is a typical error you might see on a platform with weak C++ support. I used to have to deal with things like this all the time in the early days of MacOS X.
    Unfortunately, the only workaround is to do something else. The following should work:
    #include <algorithm>
    std::deque<int> values;
    std::filln(std::backinserter(values), 10, 1);

  • Local class and switch statement -- compiler bug?

    Does anybody know why the following does not compile with "LocalClass cannot be resolved to a type" error in the case 1: block
    public class ProblemClass {
         public void localClassProblem() {
                   class LocalClass {
                        void doNothing() {};          
                   int i = 0; 
                   switch (i) {                    
                        case 1: {
                             LocalClass instance1 = new LocalClass();  //ERROR: unresolved type
                                            break;
    }while the following does (I only added case 2: where LocalClass type is not referenced within an embedded block)
    public class ProblemClass {
         public void localClassProblem() {
                   class LocalClass {
                        void doNothing() {};          
                   int i = 0; 
                   switch (i) {                    
                        case 1: {
                             LocalClass instance1 = new LocalClass();
                                            break;
                        case 2:
                             LocalClass instance2 = new LocalClass();
    }Is it a compiler bug? Thanks for clarifying this.
    --Michal                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    I'm using 1.5.0-b64
    --Michal                                                                                                                                                                                                                                   

  • Strange compiler bug in method overloading mechanism

    Hi,
    current javac compiler in version 1.4.2_10 and probably earlier versions seem to have a bug in the overloading mechanism of static methods in a certain case.
    I consider reporting this as a compiler bug but would like to have some feedback before.
    Would you consider this class correct? With 5+ years of java experience I'd consider it being correct:
    package test;
    public abstract class AbstractClass {
       public class RealizationClass extends AbstractClass {
          public void someMethod() {
             m(1); //Error: m(int,int) in test.AbstractClass cannot be applied to (int)
             m(1, 2);
       private static int m(int i) {
          return i+1;
       private static int m(int i, int j) {
          return i+j;
    }Interestingly the order of those two static method and their visibility affects the error (changing visibilty to public/protected makes javac accept the code).
    Eclipses compiler does not have this problem, it happily accepts the code above.
    What do you think?
    -Sebastian

    JLS 2.0 says on page 147: "The scope of a declaration of a member m declared in or inherited by a class type C is the entire body of C, including any nested type declarations."
    I read somewhere that in the case a nested or inner class accesses private fields of its enclosing type, the compiler generates "sythetic accessor methods" to allow access. Maybe there's something wrong with the generation of these generated methods...

  • Another Compiler Bug (message: An internal build error has occurred... Unknown Flex Problem)

    I was fighting with this problem for a few days. Finally I've got it resolved. I want to describe it and fill in BUG in the bug report, but I am not sure about Adobe support options. So, I am putting bug report here.
    1. ASSUMPTION: All problems which compiler reports as unknown problem are the real compiler BUGs/Problems. Eventually MXML compiler/ActionScript compiler should be able to take C++ or FORTRAN code or an aribitrary text and nicely tell "Error: It is not ActionScript (Flex) code" or "the code is corrupted from Line so and so...". When compiler crashed, it is most probably due to one of the states not handled (or not handled correct). Keeping this in mind I assume, that my code has nothing to do with the compiler crash.
    2. PROBLEM Description.
         - I tried to port our internal project from Flex3.5/Flex Builder 3 to Flex4.1/Flash Builder 4.
         - After checking out and trying to build code I start getting weird problems like Error 1037: Packages cannot be nested.
         - After cleaning and compiling project by project, walking up dependency tree, I was able to get rid of this problem.
         - On last Project I've got another problem (An internal build error has occurred... Unknown Flex Problem). Which I stuck with for a while.
         - When I checked log file I found following messages:
    ============================================================
    !ENTRY com.adobe.flexbuilder.project 4 43 2010-12-21 15:45:24.353
    !MESSAGE Uncaught exception in compiler
    !STACK 0
    java.lang.ClassCastException: macromedia.asc.parser.InputBuffer cannot be cast to flex2.compiler.as3.CodeFragmentsInputBuffer
    at flex2.compiler.as3.AbstractSyntaxTreeUtil.lineNumberToPosition(AbstractSyntaxTreeUtil.jav a:1266)
    at flex2.compiler.mxml.ImplementationGenerator.generateBinding(ImplementationGenerator.java: 569)
    at flex2.compiler.mxml.ImplementationGenerator.generateBindingsSetupFunction(ImplementationG enerator.java:863)
    at flex2.compiler.mxml.ImplementationGenerator.generateBindingsSetup(ImplementationGenerator .java:812)
    at flex2.compiler.mxml.ImplementationGenerator.generateInitializerSupportDefs(Implementation Generator.java:1878)
    at flex2.compiler.mxml.ImplementationGenerator.generateClassDefinition(ImplementationGenerat or.java:1044)
    at flex2.compiler.mxml.ImplementationGenerator.<init>(ImplementationGenerator.java:206)
    at flex2.compiler.mxml.ImplementationCompiler.generateImplementationAST(ImplementationCompil er.java:499)
    at flex2.compiler.mxml.ImplementationCompiler.parse1(ImplementationCompiler.java:197)
    at flex2.compiler.mxml.MxmlCompiler.parse1(MxmlCompiler.java:168)
    at flex2.compiler.CompilerAPI.parse1(CompilerAPI.java:2871)
    at flex2.compiler.CompilerAPI.parse1(CompilerAPI.java:2824)
    at flex2.compiler.CompilerAPI.batch2(CompilerAPI.java:446)
    at flex2.compiler.CompilerAPI.batch(CompilerAPI.java:1274)
    at flex2.compiler.CompilerAPI.compile(CompilerAPI.java:1496)
    at flex2.tools.oem.Application.compile(Application.java:1188)
    at flex2.tools.oem.Application.recompile(Application.java:1133)
    at flex2.tools.oem.Application.compile(Application.java:819)
    at flex2.tools.flexbuilder.BuilderApplication.compile(BuilderApplication.java:344)
    at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(A SApplicationBuilder.java:276)
    at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplication Builder.java:127)
    at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:190)
    at com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:7 4)
    at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(FlexProjectB uilder.java:480)
    at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(FlexProjectBuild er.java:306)
    at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(FlexIncremen talBuilder.java:157)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:218)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:360)
    at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:516)
    at org.eclipse.core.internal.resources.Project.build(Project.java:94)
    at org.eclipse.ui.actions.BuildAction.invokeOperation(BuildAction.java:221)
    at org.eclipse.ui.actions.WorkspaceAction.execute(WorkspaceAction.java:162)
    at org.eclipse.ui.actions.WorkspaceAction$2.runInWorkspace(WorkspaceAction.java:483)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38 )
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
    !SESSION 2010-12-22 09:48:27.766 -----------------------------------------------
    eclipse.buildId=M20100909-0800
    java.version=1.6.0_16
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
    Framework arguments:  -product org.eclipse.epp.package.jee.product
    Command-line arguments:  -data C:\Client_Flex4 -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product
    ================================================
    3. RESOLUTION/WORK AROUND
         - I was able to get this problem cleared by putting compiler option for Flex Application projects:  -keep-generated-actionscript
    4. SIDE NOTE
      I do not really see putting this compiler option as the solution and living with the mistery is making me fill a bit bad.

    Hi Faser,
    I just tried it on Vista with our latest FB Plugin build but
    I was unable to reproduce your issue with the following setup:
    - FB Plugin build installed by Administrator account user
    under her Documents folder
    - Administrator account user can launch, create Flex projects
    under her own workspace without any problems
    - Standard account user can launch the FB Plugin build (need
    Admin's password) and create Flex project (default location) under
    his own workspace
    If your setup is different, can you please log a bug at
    http://bugs.adobe.com/flex.
    Be sure to include what build you are using, whether it's
    reproducible, the detail of the setup, etc...
    thanks,
    Sharon

  • SS9 CC5.6 compiler bug - algorithm count confused with struct member

    Found some code that fails to compile in CC 5.6
    CC: Sun C++ 5.6 2004/07/15
    #include <algorithm>
    using namespace std;
    struct A {
      int count;   
    struct B
      struct A *a;
    int main(int argc, char **argv)
      struct B *b = 0;
      // This line fails to build, any other operator is ok
      if ( b->a->count < 50 )
      return (1);
    }Fails with error :
    "c56_algorithm_bug.cpp", line 21: Error: Unexpected ")" -- Check for matching parenthesis.
    "c56_algorithm_bug.cpp", line 22: Error: "," expected instead of "{".
    "c56_algorithm_bug.cpp", line 22: Error: Illegal value for template parameter.
    "c56_algorithm_bug.cpp", line 22: Error: ")" expected instead of "{".
    4 Error(s) detected.The compiler is getting confused with the use of the count struct member vs the count algorithm. Changing the < to a > fixes the problem.
    Using CC5.3 works fine as well as all other compilers we use (gcc 3.4, mipspro 7.4, VC 7.1)
    Anyone seen this ?
    - mark

    This bug has been fixed in the C++ 5.6 compiler. I'm not sure if the fix is in the first patch which is about to be released. If not, the fix definitely will be in the next patch.
    The workaround is not to use
    using namespace std;That using-declaration is a pretty big hammer, and often results in conflicts with user code, compiler bugs aside.

  • IPad Safari Landscape innerHeight/outerHeight bug still not fixed in iOS 7.1.1

    iPad Safari Landscape innerHeight/outerHeight bug still not fixed in iOS 7.1.1
    No bug in Chrome or other third party browsers.
    When are Apple going to fix this bug? It's painful.
    more info here:
    http://stackoverflow.com/questions/19012135/ios-7-ipad-safari-landscape-innerhei ght-outerheight-layout-issue

    Tell Apple not other users.
    Use http://www.apple.com/feedback/ipad.html

  • BUG! Not system locale Filenames support for 32-bit applications error in Windows 8.1 x64 and other microssoft x64 OS-s.

    BUG! Not system locale Filenames support for 32-bit applications error in Windows 8.1 x64.        
    All Windows x64 (XP,2003,2007,Vista,7,8) have no support for not system locale filenames|foldernames for all 32-bit applications. I think it is BUG!
    For example,  it is possible to read files|folders with French or Chinese in English locale windows installed, rename it, but it is not possible open it, edit or delete. (ERRORS: File not found OR Unknown format)
    With using 64-bit programs no such problems. How does it works and how can I fix this? Is it problem with encoding in translating kernel instructions for 32-bit apps in x64 Windows OS's? Whether there are
    solutions to this problem OR some hacks|fixes? 

    Hi,
    Have you installed the language package for French or Chinese?
    If no, please download the language package and install them.
    To download language package, please click the link below,
    http://windows.microsoft.com/en-US/windows/language-packs#lptabs=win7
    Best Regards.
    Steven Lee
    TechNet Community Support

  • Compiled executable does not open in maximized window

    I have attached a JPG showing the VI Properties that pertain to Window size.  Despite the fact that I have indicated in Run-Time Position - Position:  Maximized.  The compiled executable does not open in a maximized window.
    Even stranger, if I take the shortcut for the program and change it's properties (on the target machine) to Open Maximized, it still doesn't open maximized.
    I have had this behavior with every compiled executable for a couple of years using versions of LabVIEW 8, 2010, 2011 and currently 2011 SP1.  Both the compiling machine and the target machine are Windows XP.
    Is there any explanation for this behavior?  Any way to correct it?
    Solved!
    Go to Solution.
    Attachments:
    VI Properties.JPG ‏81 KB

    I think Ravens Fan is correct. The aspect ratio appears to take precedence over the window position.
    You can set a property manually in your code to maximize the window.
    http://zone.ni.com/reference/en-XX/help/371361H-01/lvprop/vi_fp_winstate/
    Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
    If you don't hate time zones, you're not a real programmer.
    "You are what you don't automate"
    Inplaceness is synonymous with insidiousness

  • Unable to publish in Swf format. Get error message: 'Swf compilation failed. Note: Please verify if any of the actionscript keywords is used as user variable name'. Anyone know how to fix?

    Unable to publish in Swf format. Get error message reads: 'Swf compilation failed. Note: Please verify if any of the actionscript keywords is used as user variable name'. Anyone know how to fix?

    Hi There,
    Can you tell me the Operating System and Captivate version you are using?
    Also can you confirm if you are getting this issue will this one project or all the projects? Try to copy paste this project on a new blank project and then try to publish.
    Regards,
    Mayank

  • Applet compiles but does not appear...

    the applet compiles but does not appear :(
    all that appears is a blank box...hopefully someone can help
    import java.awt.*;
    import java.applet.*;
    import java.awt.event.*;
    public class program2 extends Applet implements ActionListener
         private Button btLeft, btRight, btUp, btDown, btBgYellow,
         btBgRed, btBgBlue, btBgOrange, btTxtRed,btTxtYellow, btTxtBlue,
         btTxtOrange, btFtHel, btFtCr, btFtTr, btFtSy;
         private MessagePanel messagePanel;
         private Panel p = new Panel();
         public void init()
              p.setLayout(new BorderLayout());
              messagePanel = new MessagePanel("Java is Life");
              messagePanel.setBackground(Color.white);
              //directional buttons
              Panel pButtons = new Panel();
              pButtons.setLayout(new FlowLayout());
              pButtons.add(btLeft = new Button());
              pButtons.add(btRight = new Button());
              pButtons.add(btUp = new Button());
              pButtons.add(btDown = new Button());
              //Background buttons
              Panel BgButtons = new Panel();
              BgButtons.setLayout(new FlowLayout());
              BgButtons.add(btBgRed = new Button());
              btBgRed.setBackground(Color.red);
              BgButtons.add(btBgYellow = new Button());
              btBgYellow.setBackground(Color.yellow);
              BgButtons.add(btBgBlue = new Button());
              btBgBlue.setBackground(Color.blue);
              BgButtons.add(btBgOrange = new Button());
              btBgOrange.setBackground(Color.orange);
              //text color buttons
              Panel txtButtons = new Panel();
              txtButtons.setLayout(new GridLayout(4,1));
              txtButtons.add(btTxtRed = new Button());
              btTxtRed.setBackground(Color.red);
              txtButtons.add(btTxtYellow = new Button());
              btTxtYellow.setBackground(Color.yellow);
              txtButtons.add(btTxtBlue = new Button());
              btTxtBlue.setBackground(Color.blue);
              txtButtons.add(btTxtOrange = new Button());
              btTxtOrange.setBackground(Color.orange);
              //font buttons
              Panel ftButtons = new Panel();
              ftButtons.setLayout(new GridLayout(4,1));
              ftButtons.add(btFtHel = new Button());
              ftButtons.add(btFtCr = new Button());
              ftButtons.add(btFtTr = new Button());
              ftButtons.add(btFtSy = new Button());
              //layout
              p.add(messagePanel, BorderLayout.CENTER);//set center 1st
              p.add(pButtons, BorderLayout.SOUTH);
              p.add(BgButtons, BorderLayout.NORTH);
              p.add(txtButtons, BorderLayout.EAST);
              p.add(ftButtons, BorderLayout.WEST);
              //listeners
              btLeft.addActionListener(this);
              btRight.addActionListener(this);
              btUp.addActionListener(this);
              btDown.addActionListener(this);
              btBgRed.addActionListener(this);
              btBgYellow.addActionListener(this);
              btBgBlue.addActionListener(this);
              btBgOrange.addActionListener(this);
              btTxtRed.addActionListener(this);
              btTxtYellow.addActionListener(this);
              btTxtBlue.addActionListener(this);
              btTxtOrange.addActionListener(this);
              btFtHel.addActionListener(this);
              btFtCr.addActionListener(this);
              btFtTr.addActionListener(this);
              btFtSy.addActionListener(this);
         //implement listener
         public void actionPerformed(ActionEvent e)
              if(e.getSource() == btLeft)
                   left();
              else if(e.getSource() == btRight)
                   right();
              else if(e.getSource() == btUp)
                   up();
              else if(e.getSource() == btDown)
                   down();
              else if(e.getSource() == btBgRed)
                   red();
              else if(e.getSource() == btBgYellow)
                   yellow();
              else if(e.getSource() == btBgBlue)
                   blue();
              else if(e.getSource() == btBgOrange)
                   orange();
              else if(e.getSource() == btTxtRed)
                   redText();
              else if(e.getSource() == btTxtYellow)
                   yellowText();
              else if(e.getSource() == btTxtBlue)
                   blueText();
              else if(e.getSource() == btTxtOrange)
                   orangeText();
              else if(e.getSource() == btFtHel)
                   helvetica();
              else if(e.getSource() == btFtCr)
                   courier();
              else if(e.getSource() == btFtTr)
                   times();
              else if(e.getSource() == btFtSy)
                   symbol();
         //directional methods :0)
         private void left()
              int x = messagePanel.getXCoordinate();
              if(x > 10)
                   messagePanel.setXCoordinate(x - 10);
                   messagePanel.repaint();
         private void right()
              int x = messagePanel.getXCoordinate();
              if(x < (getSize().width - 5))
                   messagePanel.setXCoordinate(x + 5);
                   messagePanel.repaint();
         private void up()
              int y = messagePanel.getYCoordinate();
              if(y < (getSize().height - 10))
                   messagePanel.setYCoordinate(y - 10);
                   messagePanel.repaint();
         private void down()
              int y = messagePanel.getYCoordinate();
              if(y < (getSize().height + 10))
                   messagePanel.setYCoordinate(y + 10);
                   messagePanel.repaint();
         //background methods :)
         private void red()
              messagePanel.setBackground(Color.red);
         private void yellow()
              messagePanel.setBackground(Color.yellow);
         private void blue()
              messagePanel.setBackground(Color.blue);
         private void orange()
              messagePanel.setBackground(Color.orange);
         //text color methods :)
         private void redText()
              messagePanel.setForeground(Color.red);
         private void yellowText()
              messagePanel.setForeground(Color.yellow);
         private void blueText()
              messagePanel.setForeground(Color.blue);
         private void orangeText()
              messagePanel.setForeground(Color.orange);
         private void helvetica()
              Font myfont = new Font("Helvetica", Font.PLAIN,12);
              messagePanel.setFont(myfont);
         private void courier()
              Font myfont = new Font("Courier", Font.PLAIN,12);
              messagePanel.setFont(myfont);
         private void times()
              Font myfont = new Font("TimesRoman", Font.PLAIN,12);
              messagePanel.setFont(myfont);
         private void symbol()
              Font myfont = new Font("Symbol", Font.PLAIN,12);
              messagePanel.setFont(myfont);

    You add everything to the Panel p but you never add that panel to the applet. What you probably want is to add everything to the applet. An applet is a special kind of panel so you can just change "p" to "this" everywhere in init and remove the declaration of p at the top.

  • Program compiles, but does not run

    To: XCode Users <[email protected]>
    From: Brigit Ananya <[email protected]>
    Subject: Program compiles, but does not run
    I am trying to port a Java application from the PC to the Mac. I am using XCode and the program compiles, but it does not run.
    When I try to run the ...app, I get the message that the main class is not specified, etc.
    When I try to run the ...jar, I do not get the message that the main class is not specified, but I do get the message that there is no Manifest section for bouncycastle, etc.
    Here are the detailed messages I get in the Console when I try to run the program:
    When I try to run the ...app, I get the following message:
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] [LaunchRunner Error] No main class specified
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] [JavaAppLauncher Error] CallStaticVoidMethod() threw an exception
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] Exception in thread "main" java.lang.NullPointerException
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] at apple.launcher.LaunchRunner.run(LaunchRunner.java:112)
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
    When I try to run the ...jar, I do get the following message:
    1/9/09 7:22:43 AM [0x0-0x8d08d].com.apple.JarLauncher[2262] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] Exception in thread "main"
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] java.lang.SecurityException: no manifiest section for signature file entry org/bouncycastle/asn1/DEREnumerated.class
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:377)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:231)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:176)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.util.jar.JarVerifier.processEntry(JarVerifier.java:233)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.util.jar.JarVerifier.update(JarVerifier.java:188)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.util.jar.JarFile.initializeVerifier(JarFile.java:325)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.util.jar.JarFile.getInputStream(JarFile.java:390)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.misc.URLClassPath$JarLoader$1.getInputStream(URLClassPath.java:620)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.misc.Resource.cachedInputStream(Resource.java:58)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.misc.Resource.getByteBuffer(Resource.java:113)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.net.URLClassLoader.defineClass(URLClassLoader.java:249)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.security.AccessController.doPrivileged(Native Method)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    I do specify the main class in both, the Manifest file and the Info.plist file, in the correct way, "package.MainClass". Is there another place where I need to specify it?
    Why do I need org/bouncycastle/asn1/DEREnumerated.class, and how would I have to specify it in Manifest?
    I also posted these questions at Mac Programming at forums.macrumors.com and at Xcode-users Mailing List at lists.apple.com/mailman/listinfo, but I did not get any answer.
    Please help! Thanks!

    There was something wrong with my Info.plist file.
    So, here is my corrected Info.plist file:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
         <key>CFBundleDevelopmentRegion</key>
         <string>English</string>
         <key>CFBundleExecutable</key>
         <string>AnanyaCurves</string>
         <key>CFBundleGetInfoString</key>
         <string></string>
         <key>CFBundleIconFile</key>
         <string>AnanyaCurves.icns</string>
         <key>CFBundleIdentifier</key>
         <string>com.AnanyaSystems.AnanyaCurves</string>
         <key>CFBundleInfoDictionaryVersion</key>
         <string>6.0</string>
         <key>CFBundleName</key>
         <string>AnanyaCurves</string>
         <key>CFBundlePackageType</key>
         <string>APPL</string>
         <key>CFBundleShortVersionString</key>
         <string>0.1</string>
         <key>CFBundleSignature</key>
         <string>ac</string>
         <key>CFBundleVersion</key>
         <string>0.1</string>
         <key>Java</key>
         <dict>
              <key>JMVersion<key>
              <string>1.4+</string>
              <key>MainClass</key>
              <string>AnanyaCurves</string>
              <key>VMOptions</key>
              <string>-Xmx512m</string>
              <key>Properties</key>
              <dict>
                   <key>apple.laf.useScreenMenuBar</key>
                   <string>true</string>
                   <key>apple.awt.showGrowBox</key>
          <string>true</string>
              </dict>
         </dict>
    </dict>
    </plist>Ok, so now I can at least run the AnanyaCurves.jar file by double-clicking on it.
    However, I still cannot run the AnanyaCurves.app file. When I double-click on it, I get the following message in the Console:
    1/11/09 5:12:26 PM [0x0-0x67067].com.apple.JarLauncher[1128]  at ananyacurves.AnanyaCurves.main(AnanyaCurves.java:1961)
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137] [JavaAppLauncher Error] CFBundleCopyResourceURL() failed loading MRJApp.properties file
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137] [LaunchRunner Error] No main class specified
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137] [JavaAppLauncher Error] CallStaticVoidMethod() threw an exception
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137] Exception in thread "main" java.lang.NullPointerException
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137]  at apple.launcher.LaunchRunner.run(LaunchRunner.java:112)
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137]  at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137]  at apple.launcher.JavaApplicationLauncher.main(JavaApplicationLauncher.java:61)Why is it looking for the MRJApp.properties file? Isn't this outdated? Shouldn't it look for the Info.plist file? I do not have a MRJApp.properties file.
    Also, in the Run menu of my XCode project, Go, Run, and Debug are disabled, but perhaps this has to do with not being able to run the AnanyaCurves.app file.
    Thanks for your time! I really appreciate any help you can give me!

Maybe you are looking for

  • Could not find Simplified Chinese input method when using FormsCentral

    Hi When I creating files using FormsCentral, I could not find the input method of Simplified Chinese, therefore, the document I created look strange. The font is not what I wanted but I really could not find Simplified Chinese to edit the document. 

  • Problem with apex_item.date_popup in APEX 3.1

    Hi, I encountered a problem with the date_popup item after installing APEX3.1, probably someone can tell me if I am doing something wrong or if it is a sequel bug of 3.0. I have a form with a manually generated region displaying a row with different

  • Installing pse 7 serial number not valid

    I was having issues with a pse 7. I uninstalled then downloaded a fresh copy from Adobe. I entered my serial number and it returned 'not a valid serial number'. But it is valid.

  • How can I change the slide to 8 Radio buttons mutually exclusive?

    How can I change the slide to 8 Radio buttons mutually exclusive? I saw the example in Labview. but it only contains upto 5 radio buttons. I need 8. How can I change it? Is there any shortcuts?

  • Crop marks default

    How to change defaults when creating crop marks from the effects menu? I have to create my own crops at work more often than not, specially when we have more than one job on the sheet at different sizes. The ones created in Illustrator are at 0.25" f