Problem with 1.5 Scanner class

I'm trying to learn to use the new Scanner class in Java 1.5. I wrote this little program:
import java.util.*;
public class Howdy {
  public static void main(String[] args) {
    Scanner reader = Scanner.create(System.in);
    String name = reader.readLine();
    System.out.println("Hello, " + name);
}When I try to compile it, I get these complaints:
Howdy.java:5: cannot find symbol
symbol  : method create(java.io.InputStream)
location: class java.util.Scanner
    Scanner reader = Scanner.create(System.in);
                            ^
Howdy.java:6: cannot find symbol
symbol  : method readLine()
location: class java.util.Scanner
    String name = reader.readLine();
                        ^
2 errorsI know I have the 1.5 goodies turned on, because I can (for example) use the enhanced for loop.
What's the problem?

Can someone tell me what I'm doing wrong here.....I have a input file that has 7 rows and 10 columns. I posted the error I'm getting below. Thanks.
import java.util.Scanner;
import java.io.File;
import java.io.IOException;
public class windChill
public static void main(String[] args) throws IOException
File inputFile = new File("input.txt");
Scanner fscan = new Scanner ( inputFile );
Scanner lscan;
lscan = new Scanner(fscan.nextLine());
int [][] chill = new int [7][10];
for (int i = 0;i < 7; i++)
for (int j = 0;j < 10; j++)
chill[i][j] = lscan.nextInt();
lscan = new Scanner(fscan.nextLine());
System.out.println(chill[1][9]);          
----jGRASP exec: java windChill
Exception in thread "main" java.util.NoSuchElementException: No line found
     at java.util.Scanner.nextLine(Unknown Source)
     at windChill.main(windChill.java:37)
----jGRASP wedge2: exit code for process is 1.
----jGRASP: operation complete.

Similar Messages

  • Problem with running the midlet class (Error with Installation suite )

    hi everyone...
    i have problem with running the midlet class(BluetoothChatMIDlet.java)
    it keep showing me the same kind of error in the output pane of netbeans...
    which is:
    Installing suite from: http://127.0.0.1:49296/Chat.jad
    [WARN] [rms     ] javacall_file_open: wopen failed for: C:\Users\user\javame-sdk\3.0\work\0\appdb\delete_notify.dat
    i also did some research on this but due to lack of forum that discussing about this,im end up no where..
    from my research i also find out that some of the developer make a changes in class properties..
    where they check the SIGN DISTRIBUTION...and also change the ALIAS to UNTRUSTED..after that,click the EXPORT KEY INTO JAVA ME SDK,PLATFORM,EMULATOR...
    i did that but also didnt work out..
    could any1 teach me how to fix it...
    thanx in advance... :)

    actually, i do my FYP on bluetooth chatting...
    and there will be more than two emulators running at the same time..
    one of my frens said that if u want to run more than one emulator u just simply click on run button..
    and it will appear on the screen..

  • Problem with setContentPane() in JFrame class

    I recently discovered a problem with the setContentPane method in the JFrame class. When I use setContentPane(Container ..), the previously existing contentPane remains in the stack. I have tried nullifying getContentPane(), and all manner of things, but, each time I use setContentPane, I have another instance of a JPanel in the stack.
    I'm using code similar to setContentPane(new CustomJPanel()); and each time the user changes screens, and a similar call to that is made, the old CustomJPanel instance remains in the stack. Can anyone suggest a way around this? On their own the panels do not take up very much memory, but after several hours of usage, they will build up.

    I tried what you suggested; it only resulted in a huge performance decrease. The problem with memory allocation is still there.
    Here is the method I use to switch screens in my app:
    public static void changeScreen (JPanel panel){
              try{
                   appFrame.setTitle("Wordinary : \""+getTitle()+"\"");
                   appFrame.setContentPane(panel);
                   appFrame.setSize(appFrame.getContentPane().getPreferredSize());     
                   appFrame.getContentPane().setBackground(backColour);
                   for (int i = 0; i < appFrame.getContentPane().getComponents().length; i++)
                        appFrame.getContentPane().getComponents().setForeground(textColour);
                   //System.out.println("Background colour set to "+backColour+" text colour set to "+textColour);
                   appFrame.validate();
              catch (Exception e){
                   //System.out.println("change");
                   e.printStackTrace();
    And it is called like this:
    changeScreen(new AddWordPanel());The instantiation of the new instance is what is causing the memory problems, but I can't think of a way around it.

  • Problem with Dynamically accessing EJB Class objects in WL 7.0 SP1

    I am trying to build a component which has the ability to instantiate and execute
    an known EJB method on the fly.
    I have managed to build the component but when I try and execute it I get a ClassNotFoundException.
    I know that the EJB I am trying to invoke is deployed and available on the server,
    as I can see it in the console, I also seen to have been able to get the remote
    interface of the object, my problem occurs when I try and access the class object
    so I can perform a create on the object and then execute my method
    The code I have written is below:
    private Object getRemoteObject(Context pCtx, String pJNDIName, String pHomeBean)
    throws Exception {
         String homeCreate = "create";
         Class []homeCreateParam = { };
         Object []homeCreateParamValues = {};           
    try {  
    //This call seems to work and doesn't throw an exception     
    Object home = pCtx.lookup(pJNDIName);
    //However this call throws a java.lang.ClassNotFoundException
    Class homeBean = Class.forName(pHomeBean);
    Method homeCreateMethod = homeBean.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    } catch (NamingException ne) {             
    logStandardErrorMessage("The client was unable to lookup the EJBHome.
    Please make sure ");
    logStandardErrorMessage("that you have deployed the ejb with the JNDI
    name "+pJNDIName+" on the WebLogic server ");
    throw ne;
    } catch (Exception e) {
    logStandardErrorMessage(e.toString());
    throw e;     
    Any advice would be really appreciated, I'm fast running out of ideas, I suspect
    it has something to do with the class loader but I'm not sure how to resolve it
    Regards
    Jo Corless

    Hello Joanne,
    Congratulations! I'm very happy that you've managed to fix your problem. It's
    always essential to understand how to package applications when deploying on BEA
    WebLogic. Usually, by throwing everything into an EAR file solves just about all
    the class loader problems. :-) Let us know if you have any further problems that
    we can assist you with.
    Best regards,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    "Joanne Corless" <[email protected]> wrote:
    >
    >
    I've fixed it!!!!!!!!
    Thanks to everyone who gave me help!!!!
    The class loader was the culprit which is what I suspected all along.
    As soon
    as I put the 2 jar files I was using into an EAR file the problem went
    away!!!!!
    Thanks again
    Jo Corless
    "Ryan LeCompte" <[email protected]> wrote:
    Hello Joanne,
    As Mr. Woollen mentioned, I also believe it's a problem with the class
    loader.
    You need to be careful how you arrange your EJBs, because WebLogic has
    a specific
    method in which it loads classes in an EAR, JAR, and WAR file(s). Please
    refer
    to http://dev2dev.bea.com/articles/musser.jsp for more information about
    BEA WebLogic
    class loading mechanisms and caveats. Also, try printing out the various
    methods
    that are available on the object that was returned to you via reflection.
    For
    example, use the getMethods() method, which returns an array of Method
    objects
    that you can subsequently cycle through and print out the various method
    names.
    This way you can discover if the class found/returned to you is indeed
    the one
    you intend to locate.
    Hope this helps,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    Rob Woollen <[email protected]> wrote:
    I believe the issue is the home interface class for this EJB is not
    available in the class loader which is doing the reflection.
    If you do:
    getClass().getClassLoader().loadClass(homeInterfaceClassName)
    I suspect it will fail. Reflection still requires that the class be
    loadable.
    -- Rob
    Joanne Corless wrote:
    Hi Slava,
    If I make my code look like you describe below I get a compliationerror telling
    me that
    home.getMethod() is not recognised (no such method)
    If I change it slightly and use
    Method homeCreateMethod =
    home.getClass().getMethod(homeCreate,homeCreateParam);
    The code will compile OK but when executed it still throws a NoSuchMethodException
    Any ideas ?
    Thanks for your help so far
    Regards
    Jo Corless
    Your code should look like
    Object home = pCtx.lookup(pJNDIName);
    Method homeCreateMethod =
    home.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    Regards,
    Slava Imeshev
    "Joanne Corless" <[email protected]> wrote in message
    news:[email protected]...
    Hi Ryan,
    I also wanted to mention that if you do a "header search" in this
    particular
    newsgroup
    with the search query as "reflection", you will see many previousmessages
    regarding
    reflection and EJBs. I believe you could learn a lot from thedifficulties
    that
    others have faced and solved.I tried that and although there was a number of similar cases noneof them
    actually
    seem to fix my issue. Thanks for the suggestion though
    Are the EJBs that you are trying to access accessible via your
    system
    classpath?
    Try to avoid having them accessible via the main system classpath,and
    only bundle
    them in your appropriate EJB jar files (contained in an EAR file,for
    example).Maybe I should have laid the problem out a little clearer.
    I have a number of EJB's bundled up in a JAR file which is hot deployedto
    the
    server. Within this first JAR file is an EJB (SSB) component that
    needs
    to
    be
    able to invoke a known method on another EJB. This second EJB may
    or
    may
    not be
    within the first JAR file but it also will be hot deployed.
    The component trying to invoke the method on the 2nd EJB has to
    be
    able to
    create
    an instance of the 2nd EJB without actually knowing anything bar
    a
    JNDI
    Name which
    is passed in at runtime.
    I can get as far as doing the
    Object home = pCtx.lookup(pJNDIName);
    This returned a class with the name
    "com.csc.edc.projects.allders.httppostoffice.postman.PostmanBean_mp8qy2_Home
    Impl_WLStub"
    My problem seems to occur when I try and invoke the create method
    Method homeCreate = home.getClass().getMethod("create", new Class[0]);
    My code throws a java.lang.NoSuchMethodException at this point so
    I
    am
    unable
    to progress to the next step of :
    Object bean = homeCreate.invoke(home, null);
    So I can return the instantiated bean back to the calling client.
    Why am I getting the NoSuchMethodException, is is because I am gettinga
    stub
    back rather than the home interface and if so how do I get the truehome
    interface
    from the bean
    Thanks in advance
    Jo Corless

  • K7 delta ISLR problems with visioneer 7700 scanner and startup

    I am a computer tech at our store i ran into a problem with k7 delta board with a visioneer photoport 7700 usb scanner plugged in at bootup it sit there at bios init for 1 min before the machine boots.
    The scanner works fine but i have never seen a machine that took so long to boot with scanner pluuged into the usb.
    If i unplug the usb scanner it boot at its fast normal speed could it be because its also a card reader that part of it is slowing down the bootup process?.

    Hi,
    Wait for machine to boot, then switch on scanner - problem solved!!!  
    Axel  

  • Problems with HP C4500 Scanner

    Anyone having problems with the HP Printer/Scanner Drivers in Mavericks?
    I have a C4500 printer/scanner and the HP Scanner software doesn;t work!  Starts up ok, scans the document and it appears ok on the screen but the saved image is garbage and when you try to print the scanned document from the screen, it error messages with file access (read only?)...
    Help!!
    I use my scanner daily :-)
    Ian Baker
    Phillip Island Australia

    Thanks - that worked!  I can scan again...
    OS X can see and use the scanner with Preview, so it must be the HP software that doesn't like the new OS
    Hopefully HP will update the drivers for Mavericks and the HP Scan Utility is pretty useful I find...
    Again thanks...

  • Problem with epson v300 scanner and iMac?

    My epson v300 scanner worked well with my G4, but when I got the iMac it scanned photos with parallel wavy lines in the pictures' dark areas (looks a bit like wood grain, only wavy like an EKG monitor line). Got a new one since the warranty had run out, but it did the same thing. Called epson It yesterday and their solution was to get another machine (scanner), which seems pointless, since it seems it's more likely a problem with this model. I've used Epson products for years and like them, (except for the cost of printer ink), and would probably get another of their scanners, but want to make sure I'm not doing anything wrong myself first. Any advice?

    Hello
    be sure to use the right driver for your system version ?
    download driver page is here
    http://www.epson.com/cgi-bin/Store/support/supDetail.jsp?BV_UseBVCookie=yes&oid= 113127&prodoid=63077159&infoType=Downloads&platform=All
    try this one
    ICA Scanner Driver v5.3.0 for Image Capture
    Mac OS X (v10.6 - v10.6.x)
    epson13969.dmg - 8.4MB - posted on 08/27/10
    This file contains the ICA Scanner Driver v5.3.0 for Apple's Image Capture utility.  This driver corrects possible issues when using Apple's Image Capture utility with an Epson scanner.  
    Installation instructions:
    Double-clicking this file creates a disk image on your desktop.
    Open the disk image.
    Double-click the installer icon to begin the installation.
    Please view the Scanning With Mac OS X 10.6 and 10.7page for additional information. 
    Attention Mac OS X 10.6 and 10.7 Users:
    Newer drivers may be available directly from Apple. After installing this file, please view our Mac OS X Software Update Instructions page for details.
    Download Now
    HTH
    Pierre

  • Problems with Sandisk 16Gb microsdhc Class 2 in N8...

    Hello to you all..
    Yesterday my 16Gb microSDHC died... I wanted to charge my phone and suddenly the phone freezes and it refused to turn back on. So I decided to eject the 16Gb card and gladly I managed to turn my phone back on. So the problem was the microSDHC card. I had tested it with my PC but no response..
    This is my 2nd 16Gb card!! I never had problems with the standard 8Gb card..
    So finally I went to the shop and returned the dead card and got a refund.So now I am back to my old 8Gb card and till now everything works fine.
    But is there somebody else that had problems with a 16Gb microSDHC card in a N85 (particulary Sandisk)? Because I think the card reacted on some sort of Voltage level that he could not handle... Can this be possible?
    Black Nokia N97, productcode 0585162 FW V20.0.19 NL and 8Gb microSDHC A-data card

    hi n97fanboy
    The class thing is to do with the minimum write speed of the cards, and thus the class only describes "how good" a card is for the type of device the card is used with. Some devices require slower speed cards than others, some devices might require faster ones. Grschinon further up this thread indicated that class 2 may be too slow for the N85, and that it's minimum write speed is that of a class 4, which is the class of the micro SHDC card that the UK version of the N85 is supplied with. This makes sense.
    However, the Nokia website states that the N97 and N85 is compatible with their Class 2 16GB card, but we're not sure that this is correct given the behaviour of Sandisk Class 2 16GB cards in the device (I've had one fried, and almost lost the second one). Personally I've gone back to the 8GB Class 4 supplied with the phone, and will try and find a larger class 4 or above card at a later date.
    I'm sorry I can't help with the best card for the N97 as I've only played with the device in the Nokia Store. If it comes supplied with a microSDHC card, check for the digit on that card. If you do decide to upgrade it to a larger card, you should stick to the same class number it has or a larger one, from the experiences dkawa and myself have had with the N85. Best to try and get someone from Nokia's technical department's to confirm.
    HTH
    S.
    Black/Copper N85 sw v.30.019 Nokia 8GB Class 4 microSDHC

  • Problem with name of Servlet Class

    Hi to all,
    I have a class named AClassName and it work fine when a spider come in my web site he try to connect to the class named aclassname. I try to create a class with all lower case letter, but in windows system it's not possibile to have in the same directory a file named AClassName.class and one with the name aclassname.class
    Any help will be appreciated
    Regards
    Rinaldo

    you can solve this using servlet mapping,
    which is the correct way to call servlets,
    instead of using the invoker
    <servlet-mapping>
       <servlet-name>ListaLoc</servlet-name>
       <url-pattern>/listaloc</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
       <servlet-name>ListaLoc</servlet-name>
       <url-pattern>/ListaLoc</url-pattern>
    </servlet-mapping>

  • Problem with axis2 and QName class

    Hello,
    We have deployed AXIS2 library with a library project (J2EE server component) as it is specify by a SAP guide. We deployed the sda file correctly and we know how to reference this library in Portal Application and J2ee Module WEB or EJB.
    The problem is when we want to use internally javax.xml.namespace.QName is thrown an exception. This exception is shown bellow:
    java.lang.LinkageError: loader constraints violated when linking javax/xml/namespace/QName class
    at wpt.ConventerStub.populateAxisService(ConventerStub.java:52)
    at wpt.ConventerStub.<init>(ConventerStub.java:100)
    at wpt.ConventerStub.<init>(ConventerStub.java:89)
    at wpt.ConventerStub.<init>(ConventerStub.java:140)
    at wpt.ConventerStub.<init>(ConventerStub.java:132)
    at com.eadscasa.axis2.Axis2Converter.doContent(Axis2Converter.java:26)
    In the guide is said that we have to deploy a library project to avoid this problem but we still are getting it. I have realized that Qname class is a basic class into the JDK 1.4 and in different projects as AXIS2 making revision about this class.
    How can I deploy these libraries (jars) without dependencies with SAP Portal libraries?
    Is there any way to setup the classloader to avoid this error?
    In the documentation about this kind of project it is said that you cannot deploy libraries (*.jar) with the same name. I donu2019t know if it happens the same with the class.
    We have to develop web Services with Soap 1.2 specification, SAML etc and we need to develop this class because sap portal doesnu2019t support this kind o features.
    Regards,
    Daniel Urbano

    Hi,
    Firstly thanks for you reply. I generate the client with wsdl2java tool as it is mentioned in AXIS2 documentation and as you specified in your blog. After I follow the steps:
    Step 1 - Generating the Axis2.war
    Step 2 u2013 Modify the service *.aar file
    Step 3 u2013 Create the J2EE library
    Step 4 u2013 Create the J2EE application wrapping the web module axis2.war
    We know how to make the step 1,2 and 3 but there is a little mess in the last step. Donu2019t worry about this because we got the general idea in this document. According to the guide the main problem is to solve a classloading conflict because it only can be loaded the libraries once and you need the AXIS2 libraries for *.arr and for the axis2 engine to be able to manage this module. This problem it is solved making a J2EE library Project and putting a reference to this library in the module, applications or project, which have to use AXIS2 libraries.
    We have 3 different kind of projects that we can develop according to Sap Netweaver:
    J2EE Project:
    ·     Web Module Project: Resulting a war file.
    ·     Enterprise Application Project: Resulting a ear file
    ·     EJB Module Project: Resulting a war file.
    Portal Application
    ·     Portal Application Project: Resulting a par file.
    In any project mentioned upper we know how to deploy these with a reference to this library project that previously we deployed successfully in the portal. But the problem is when we are going to check this module running it the server give us an exception.
    java.lang.LinkageError: loader constraints violated when linking javax/xml/namespace/QName class
    at wpt.ConventerStub.populateAxisService(ConventerStub.java:52)
    at wpt.ConventerStub.(ConventerStub.java:132)
    at com.eadscasa.axis2.Axis2Converter.doContent(Axis2Converter.java:26)
    This exception is because exist classes into the axis2 libraries as javax.xml.namespace.Qname that are in SAP Portal libraries into the J2ee Server (JDK 1.4). This conflict is mentioned in the blog u201C360° View on enterprise SOAu201D where Michael Koegel, the author, says that if you want that AXIS2 libraries works you will have to work around with the dependencies of libraries.
    The main problem in this point it is that we donu2019t know how to resolve this dependencies and if it is possible that other module of SAP Portal wonu2019t work fine if we change the base libraries. AXIS2 has newer classes than SAP Portal and it is possible that we can break other SAP Portal functions. In this case if we can not get that AXIS2 and SAP Portal co-exist in the same server we will probably have to change our way to get the enterprise objectives.
    In order to resolve these dependencies we have found a SAP Note Number: 1138545. In this note it is said that we can setup the precedence class loader in the visual admin  into the deploy service. If you add your AXIS2 library at the beginning of StandardAplicationReferences variable in the deploy service, it is loaded the axis2 libraries first and it works the services but other portal functionality fails. This variable it is used to load the libraries precedence for all applications in the Server. If we could setup the class load precedence in a web module project or the system doesnu2019t take into account the server libraries for this module it will work perfectly.
    If you could specify more the last point of your manual, I will appreciate it.
    Regards,
    Daniel Urbano

  • Problem with combination of LabVIEW classes (dynamic dispatch), statechart module and FPGA module

    SITUATION:
    - I am developing a plug-in-based software with plug-ins based on LabVIEW classes which are instanced at run-time. The actual plug-in classes are derived from generic plug-in classes that define the interfaces to the instancing VI and may provide basic functionality. This means that many of the classes' methods are dynamic dispatch and methods of child classes may even call the parent method.
    - Top-level plug-ins (those directly accessed by the main VI) each have a run method that drives a plug-in-specific statechart.
    - The statechart of the data acquisition plug-in class (DAQ class) calls a method of the DAQ class that reads in data from a NI FPGA card and passes it on to another component via a queue.
    PROBLEM:
    - At higher sampling rates, an FPGA-to-host FIFO overflow occurs after some time. When I "burden" the system just by moving a Firefox browser window over the screen, the overflow is immediately triggered. I did not have this kind of problem in an older software, where I was also reading from an FPGA FIFO, but did not make use of LabVIEW classes or statecharts.
    TRIED SOLUTIONS (WITHOUT SUCCESS):
    - I put the statechart into a timed loop (instead of a simple while loop) which I assigned specifically to an own core (I have a quad-core processor), while I left all the other loops of my application (there are many of them) in simple while loops. The FIFO overflow still does occur, however. 
    QUESTION:
    - Does anybody have a hint how I could tackle this problem? What could be the cause: the dynamic dispatch methods, the DAQ statechart or just the fact that I have a large number of loops? However, I can hardly change the fact that I have dynamic dispatch methods because that's the very core of my architecture... 
    Any hints are greatly appreciated!
    Message Edited by dlanger on 06-25-2009 04:18 AM
    Message Edited by dlanger on 06-25-2009 04:19 AM
    Solved!
    Go to Solution.

    I now changed the execution priority of all the VIs involved in reading from the FPGA FIFO to "time critical priority (highest)". This seems to improve the situation very much: so far I did not get a FIFO overflow anymore, even when I move around windows on the screen. I hope it stays like this...

  • Problem with Beansbinding as separated class

    Hello,
    I used beansbinding together with a JTextfield and usually it works, which means that if I do it like the following;
      /// the class that I use implements a binding listener
    binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_WRITE,                        // two-way binding
                                                        systemDaten ,                                                             //source and backing bean
                                                           BeanProperty.create("debeyeHueckelkonstanteA") ,          //name of field
                                                           debeyeHueckelkonstanteA,                                            // name of jtextfield as swing source
                                                           textProperty,                                                     //Property textProperty = BeanProperty.create("text");  
                                                          "debeyeHueckelkonstanteA" );                             // Name      
              binding.setConverter(null);
           binding.setValidator(null);
               binding.addBindingListener(this);                                                  /// this = because the class that I use implements a binding listener
            binding.bind();
    //if I use instead of binding.addBindingListener(this) the following version with an anonym class, it works as well:
    binding.addBindingListener(new BindingListener() {
                @Override
                public void bindingBecameBound(Binding binding) {
                @Override
                public void bindingBecameUnbound(Binding binding) {
                @Override
                public void syncFailed(Binding binding, SyncFailure failure) {
                @Override
                public void synced(Binding binding) {
                @Override
                public void sourceChanged(Binding binding, PropertyStateEvent event) {
                @Override
                public void targetChanged(Binding binding, PropertyStateEvent event) {
            } );if I use this form using a customized class and a constructor with the data (double number) to be represented :
                            binding.addBindingListener(new SystemBindingListener(systemDaten.getMesstemperatur()) )with a class implementing the listener as below it doesn't work.
    public class SystemBindingListener implements BindingListener {
        private double value = 0.0;
        public SystemBindingListener(double value) {
         super();
         this.setValue(value);
        private final PropertyChangeSupport propertyChangeSupport =
         new PropertyChangeSupport(this);
         public void addPropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.addPropertyChangeListener(l);
        public void removePropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.removePropertyChangeListener(l);
                 @Override
                    public void bindingBecameBound(Binding binding) {
                        System.out.println("bound ok " + binding.getName());  }
                @Override
                    public void bindingBecameUnbound(Binding binding) {
                        System.out.println("unbound ok " + binding.getName());  }
                @Override
                    public void syncFailed(Binding binding, SyncFailure failure) {
                        System.out.println("sync not ok " + binding.getName());  }
                @Override
                    public void synced(Binding binding) {
                    this.setValue(value);
                      System.out.println("sync ok " + binding.getName() + this.getValue()); }
                @Override
                    public void sourceChanged(Binding binding, PropertyStateEvent event) {
                        System.out.println("source ok " + binding.getName());    }
                @Override
                    public void targetChanged(Binding binding, PropertyStateEvent event) {
                        System.out.println("target ok " + binding.getName()); }
            public double getValue(){
             return value;
            public void setValue(double value){
            final double old = this.value;
         this.value = value;
         propertyChangeSupport.firePropertyChange(
                          "value", // the name of the property
                          old, // the old value
                          value // the new value
            this.value = value;
    }The problem is that I wanted to "outsource" the BindingListener but change its output depending on the source modified on the GUI.
    I have several textfields and I want to be sure that whenever one of them gets modified the value is modified in the backing bean
    and this should be visible by the System.out.println(this.getValue()) output.
    I added Property Support but this didn't help. As you can see I want a Read-Write Binding which works as described in the first two examples.
    But with a externalized class binding doesn't work.
    Does anyone know how to do this.
    Thanks for help
    Thommy
    Edited by: 886674 on 4 oct. 2011 08:31
    Edited by: 886674 on 4 oct. 2011 08:35

    Hello,
    I am not sure if it is as short as you want to, but anyway there cannot be less classes than that, because I need each of them and any further reduction
    would falsify the situation given.
    Also there are only some lines which are determining size, location - and especially Layout - etc which I left nearly as they are.
    Before using the given function addComponent() I had big problems to get a proper GUI Layout so I changed not to much concerning the layout (I didn't want to take the risk that nothing appears at all (or not at the right place) as I experienced many times before).
    Anyway, it is much less than the 10 classes (or the 30 original classes) I had before. So here is the code:
    package controls;
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.GridLayout;
    import java.awt.Toolkit;
    import java.beans.PropertyChangeListener;
    import java.beans.PropertyChangeSupport;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import org.jdesktop.beansbinding.AutoBinding;
    import org.jdesktop.beansbinding.BeanProperty;
    import org.jdesktop.beansbinding.Binding;
    import org.jdesktop.beansbinding.Binding.SyncFailure;
    import org.jdesktop.beansbinding.BindingGroup;
    import org.jdesktop.beansbinding.BindingListener;
    import org.jdesktop.beansbinding.Bindings;
    import org.jdesktop.beansbinding.Property;
    import org.jdesktop.beansbinding.PropertyStateEvent;
    public class Main {
        public static Mainframe wg = null;
        public static void main(String[] args)  {
        wg = new Mainframe();
        wg.setVisible(true);
    class Mainframe extends JFrame {
    public static final long serialVersionUID = 1111111;
        private JPanel pnlOben;
        private JPanel pnlMitte;
        private KonstantenPanel kp = null;
        private   Dimension screendimension;
        private   Dimension dimension;   
        public Mainframe(){
        super();
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        screendimension = Toolkit.getDefaultToolkit().getScreenSize();
        dimension = new Dimension();
        dimension.setSize(400, 400);
        this.setSize(dimension);
        this.setLocation((int) ((screendimension.getSize().getWidth()) / 2), (int) (screendimension.getSize().getHeight()/ 2));
        init();
    public void init(){
      desktopMalen();
    private void desktopMalen() {
             this.setLayout(new BorderLayout(20, 20));
            this.add(NordPanelMalen(), BorderLayout.NORTH);
            this.add(CenterPanelMalen(), BorderLayout.WEST);
            this.add( new JPanel(),BorderLayout.SOUTH);
        private JPanel NordPanelMalen() {
            pnlOben = new JPanel(new FlowLayout(FlowLayout.LEFT));
            pnlOben.add(new JLabel("Test"));
           return pnlOben ;
       private JPanel CenterPanelMalen() {
            this.pnlMitte = new JPanel();  //new FlowLayout(FlowLayout.CENTER
            this.pnlMitte.setLayout(new GridLayout(1, 1));    
            Dimension d = new Dimension();       
            this.pnlMitte.setSize(400,400); d.setSize(400, 400);
            KonstantenPanel bp = new KonstantenPanel(d);  //// the panel with the swing component
             this.pnlMitte.add(bp);
      return pnlMitte;
    class KonstantenPanel extends JPanel {
        public static final long serialVersionUID = 1111111;  
        private Systemdaten systemDaten = null;
        private JTextField messtemperatur;
        private BindingGroup bindinggroup = null;
        private Binding binding;
        private SystemBindingListener sbl1;
        public KonstantenPanel(Dimension d) {
        this.setSize(d);
        init();
        private void init() {
       systemDaten = new Systemdaten();           /////// the bean class
        GridBagLayout gbl = new GridBagLayout();
       this.setLayout(gbl);
        this.addComp(gbl,new JLabel("Konstanten"),0,0,4,1,0,0,GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST);
        this.addComp(gbl,new JLabel("                   "),     0,1,4,1,0,0,GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST);
        this.addComp(gbl,new JLabel("Messtemperatur   "),       0,2,2,1,0,0,GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST);
                                                                /////the swing component using beansbinding
       messtemperatur = new JTextField("298.15             ");
       messtemperatur.setName("messtemperatur");
       this.addComp(gbl,messtemperatur ,  0,3,2,1,0,0,GridBagConstraints.HORIZONTAL, GridBagConstraints.NORTHWEST);
                                                         ///all the binding is done here in:
       bindProperties();
        @SuppressWarnings("unchecked")
            private void bindProperties() {
         Property textProperty = BeanProperty.create("text");
            bindinggroup=new BindingGroup();
         binding = Bindings.createAutoBinding(
           AutoBinding.UpdateStrategy.READ_WRITE, // two-way binding
           systemDaten,                 // bean
           BeanProperty.create("messtemperatur"),
           messtemperatur,        //field
           textProperty,        //name of property
           "messtemperatur" //name
            sbl1 = new SystemBindingListener(systemDaten.getMesstemperatur());
            binding.addBindingListener(sbl1);
            binding.setConverter(null);
         binding.setValidator(null);
             binding.bind();
             bindinggroup.addBinding(binding);
        bindinggroup.bind();
         public void addComp (   //Container cont,
                             GridBagLayout gbl, Component c, int x, int y, int width, int height, double weightx, double weighty, int cbc, int a)
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.fill = cbc ; //GridBagConstraints.BOTH;
        gbc.gridx = x; gbc.gridy = y;
        gbc.gridwidth = width; gbc.gridheight = height;
        gbc.weightx = weightx; gbc.weighty= weighty;
        gbc.anchor = a; gbl.setConstraints(c, gbc);
        this.add(c);
         * in praxis the extra class would be especially interesting if there are more variables     *
    class SystemBindingListener implements BindingListener {
        private double value = 0.0;
        SystemBindingListener(double value) {
         super();
         this.setValue(value);
        private final PropertyChangeSupport propertyChangeSupport =     new PropertyChangeSupport(this);
        void addPropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.addPropertyChangeListener(l);
        void removePropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.removePropertyChangeListener(l);
                 @Override
                    public void bindingBecameBound(Binding binding) {
                        System.out.println("bound ok " + binding.getName());  }
                @Override
                    public void bindingBecameUnbound(Binding binding) {
                        System.out.println("unbound ok " + binding.getName());  }
                @Override
                    public void syncFailed(Binding binding, SyncFailure failure) {
                        System.out.println("sync not ok " + binding.getName());  }
                @Override
                    public void synced(Binding binding) {
                    this.setValue(value);
                      System.out.println("sync ok " + binding.getName() + this.getValue()); }
                @Override
                    public void sourceChanged(Binding binding, PropertyStateEvent event) {
                        System.out.println("source ok " + binding.getName());    }
                @Override
                    public void targetChanged(Binding binding, PropertyStateEvent event) {
                        System.out.println("target ok " + binding.getName()); }
            double getValue(){
             return value;
           void setValue(double value){
            final double old = this.value;
         this.value = value;
         propertyChangeSupport.firePropertyChange(
                          "value", // the name of the property
                          old, // the old value
                          value // the new value
            this.value = value;
    class Systemdaten {
    static final long serialVersionUID = 1111111L;
        private double messtemperatur = 298.15;
        private final PropertyChangeSupport propertyChangeSupport =     new PropertyChangeSupport(this);
       void addPropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.addPropertyChangeListener(l);
       void removePropertyChangeListener(PropertyChangeListener l) {
         propertyChangeSupport.removePropertyChangeListener(l);
      double getMesstemperatur() {
            return messtemperatur;
       void setMesstemperatur(double messtemperatur) {
            final double old = this.messtemperatur;
         this.messtemperatur = messtemperatur;
         propertyChangeSupport.firePropertyChange(
                          "messtemperatur", // the name of the property
                          old, // the old value
                          messtemperatur // the new value
            this.messtemperatur = messtemperatur;
    }Due to your questions I guess to know why it there is no binding between the Listener-Instance and the Swing-Compound but
    I don't see how to get all three classes working together.
    I mean: If I want to have a binding between the value variable in the BindingListener and the SwingCompound I need to create such a binding in the panel-Class.
    But I only created a binding with the field in systemDaten because this is the bean I want to work with.
    It seems that I didn't understand how it is managed that the value is changing in the bean and the swingcompound simultaneously - after creating and adding the
    BindingListener-Instance.
    In the two other cases there is still a communication between the Listener and the swingCompound but in the given case there is not.
    I was not aware of this problem before and I am still not sure to fully understand why it works in the other cases.
    Do I need to give the binding variable or swing compound to the BindingListener to keep communication ?
    Thanks for your help
    Thommy

  • Problems with Factory CXmlCtx, xmlnode class on Solaris

    Hi,
    I am using Oracle 10g XDK and Iam facing the following problem in Solaris (this works fine in IBM AIX and HP-UX).
    CXmlCtx* ctxp = new CXmlCtx();
    Factory< CXmlCtx, xmlnode>* fp;
    fp = new Factory< CXmlCtx, xmlnode>( ctxp);
    parser->domparser = fp->createDOMParser(DOMParCXml, NULL);
    The code dumps a core at the 4th line (createDOMParser) function. The code was compiled with SunWSPro compiler /opt/SUNONE8/SUNWspro/bin/cc.
    Any pointers to the resolution of this issue will be appreciated.
    Thanks

    Yes, that is the Factory pattern you describe. The client programs are going to call your createFoo() method and get back an instance of a subclass of Foo. Typically this pattern is used where there is some external entity that determines what subclass will be returned -- for example a system property -- and the client programs call createFoo() with no arguments. In this case reflection is used to create the instance, and your base class does not need to know anything about any subclasses.
    However, if your client programs can influence the choice of subclass, then they will have to pass some kind of parameter into createFoo(). At this point, createFoo() requires some decision logic that says "create this, or that, depending on the input parameter". And if that parameter is simply a code that enables the client programs to say "Give me a ChocolateFoo instance", then returning "new ChocolateFoo()" is the most straightforward design. But in this case, why can't the client program do that?
    If you don't like the base class having to know about subclasses (and you shouldn't be happy if it does), then you could have a helper class -- FooFactory -- that contains only the static method createFoo(). This class would know about Foo, and about any of its subclasses that it can produce instances of. It's still a maintenance point, no avoiding that, but at least it is off by itself somewhere.

  • I Have Two Problems with the Fingerprint Scanner

    Hey guys, I want to slide to unlock my iPhone, but I want to authorize app purchases via fingerprint. But it seems I'm forced to have a passcode turned on in order to have touch ID active for itunes purchases. This means I have to either unlock my phone with a passcode or fingerprint and I don't want to do this? Why can't I have one without the other?
    Second problem, the scanner seesm to be flat out broken on a software level. I can record my fingerprints and use them to unlock the phone, but when making purchases on itunes/app-store it prompts me to enter my password. Yes, I've got the toggle set to active, I've tried using my fingerprint when promted for my password and I've updated to the latest software.
    I'm extremely disappointed that one of the largest companies in the world has sold me an $1100 phone that doesn't work properly. I feel like a beta tester for an unfinished product?

    First, open Terminal in your Utilities folder and paste this into the prompt line:
    sudo update_dyld_shared_cache
    Press RETURN. You will be prompted to enter your admin password which will not be echoed to the screen. Press RETURN again.
    Next, boot the computer into Safe Mode.
    Next, do the following:
    Reinstalling Lion/Mountain Lion Without Erasing the Drive
    Boot to the Recovery HD: Restart the computer and after the chime press and hold down the COMMAND and R keys until the menu screen appears. Alternatively, restart the computer and after the chime press and hold down the OPTION key until the boot manager screen appears. Select the Recovery HD and click on the downward pointing arrow button.
    Repair the Hard Drive and Permissions: Upon startup select Disk Utility from the main menu. Repair the Hard Drive and Permissions as follows.
    When the recovery menu appears select Disk Utility. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list.  In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the main menu.
    Reinstall Lion/Mountain Lion: Select Reinstall Lion/Mountain Lion and click on the Continue button.
    Note: You will need an active Internet connection. I suggest using Ethernet if possible because it is three times faster than wireless.

  • Problem with XML inside a class

    OK. This is a setter function in one of my classes. It's
    supposed to load an xml document into an array when i call it with
    the address of the xml document. When I debug i see the array but
    there's no data in it.
    I'm pretty sure i'm doing something just really dumb that's
    probably really easy to spot... sorry - i'm new to this!
    Thanks so much!
    (i've included the code, and the xml file under the code so
    you can see what I'm aiming at...)

    Inside call back handlers the members of the class go out of
    scope. You can solve this in several ways. In the code you posted
    you can use a local reference to the class (the current object). In
    other cases you might want to use the Delegate Class.

Maybe you are looking for

  • I'm having trouble with blocked plug -in

    Hi, I'm having some trouble when going on to websites, I'm continually faced with BLOCKED PLUG-IN....coming on screen, saying my Adobe flash player is out of date. I have downloaded the new version so many times it's ridiculous, however to no avail,

  • How to clear the contents of a table

    I was using a 'build table' to collect some datas and pass it to an 'Express  table'. what are the possible options to clear the contents of that table? How can i clear the contents using a 'button'?

  • Can Lookout 6.7 open, allow editing, and then save programs written in previous versions of Lookout like 4.2 or 5.1?

    I have several control stations provided by a 3rd party that need some tweaks made to them, however if I purchase Lookout, I will receive a much later version than they were originally written in.  I do not want to change the OS the stations are usin

  • Blocked Stack Ports on 2960X-48FPD-L Stack (Unstable Switch Stack!) Spanning Tree?

    I am having an issue where 2 2960X-48FPD-L Switches in a redundant flexstack (stack port 1 SW1 to port  2 SW2 and port 2 SW1 to port 1 SW2) ring.  At first running the 15.0(2).EX5 (and earlier EX3, and EX4) version IOS yielded all the ports on the st

  • Public folders share name

    I have been messing around with trying to figure out why my iMac and Macbook won't see my Windows Vista machine and why the vista machine will see the iMac but not the Macbook. In the process I removed the public folder shares for the two user accoun