Newbie help with a "simple" VI.

Hi all,
I need to write a VI with the following specifications:
Input: An integer
Output:  Two integers mapping the input integer to a coordinate system based on the following mapping system:
 22 23 24 25 ..
 21 06 07 08 09 
 20 05 00 01 10 
 19 04 03 02 11 
 18 44 45 46 12 
 17 16 15 14 13 
For instance, an input of 0 would be an output of (0,0). An input of 5 would be an output of (-1, 0)  and an input of 23 would be an output of (-1, 2).
 As you can see it is just a clockwise rectangular coordinate system starting with 0 in the middle.
I am new to LabVIEW and am having trouble visualizing how to do this. If I were in a text based language, I would do something like create a 2d array of booleans representing my coordinate system, and travel around in a clockwise circle marking each as true until I reached the input number, then output my current row and column. Does anyone have any suggestions of the best way to do it in LabVIEW? (In case you were curious why I don't stick with a language I know-- LabVIEW has the drivers for the motion controller I am using).
I know this is not as complex as many of the questions here, but any help or tips would be appreciated! 

22 23 24 25 ..
 21 06 07 08 09 
 20 05 00 01 10 
 19 04 03 02 11 
 18 44 45 46 12 
 17 16 15 14 13 
 As you can see it is just a clockwise rectangular coordinate system starting with 0 in the middle.
--- Actually, I'm having trouble seeing that, as the "44 45 46" seems out of place.
--- I'll assume that is an error in your table, not an error in your words.
 I know this is not as complex as many of the questions here, but any help or tips would be appreciated! 
--- Actually, this sort of thing is fun for me, because I get to be creative.
Consider the rules for generating a spiral pattern like that. 
Let's use a complex number to represent a position: Imag = row, Real = column
Let's use a complex number to represent a DIRECTION: 0-1i = up, 1+0i = right, 0+1i = down, -1+0i = left
Let's remember that multiplying a complex number by 0+1i is a turn of 90 degrees.
Let's start out with a position and a direction:
POSITION = 2+2i
DIRECTION = 0-1i  (up)
Let's start out with an array of -1 numbers (meaning empty cells)
To generate the array is then simple:
FOR i = 0 to N-1  // however many cells needed
    CellArray[POSITION.imag, POSITION.real] = i  // put a number into the cell.
    TURNRIGHT = DIRECTION * 0+1i //  look 90 degrees right
    if CellArray[TURNRIGHT.imag, TURNRIGHT.real] < 0  // if that cell is empty
        DIRECTION = TURNRIGHT         // turn right
    end if
    POSITION = POSITION + DIRECTION // move to next cell
 end for
The upper FOR loop in the code demonstrates this.
The lower WHILE  loop in the code is basically the same, but it:
stops when it reaches the input number
Subtracts the starting position from the current position
Converts the complex number to X and Y values
I believe your third example ("an input of 23 would be an output of (-1, 2).") is wrong, because of the 44-46 problem.
Here is the code, attached is a VI.
Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com
Blog for (mostly LabVIEW) programmers: Tips And Tricks
Attachments:
Spiral.vi ‏11 KB

Similar Messages

  • Need help with a simple process with FTP Adapter and File Adapter

    I am trying out a simple BPEL process that gets a file in opaque mode from a FTP server using a FTP adapter and writes it to the local file system using a File Adapter. However, the file written is always empty (zero bytes). I then tried out the FTPDebatching sample using the same FTP server JNDI name and this work fine surprisingly. I also verified by looking at the FTP server logs that my process actually does hit the FTP server and seems to list the files based on the filtering condition - but it does not issue any GET or RETR commands to actually get the files. I am suspecting that the problem could be in the Receive, Assign or Invoke activities, but I am not able identify what it is.
    I can provide additional info such as the contents of my bpel and wsdl files if needed.
    Would appreciate if someone can help me with this at the earliest.
    Thanks
    Jay

    persiandude wrote:
    Topic: Need help with if, else, and which statements and loops.
    How would I display 60 < temp. <= 85 in java
    System.out.println("60 < temp. <= 85 in java");
    another question is how do I ask a question like want to try again (y/n) after a output and asking that everytime I type in yes after a output and terminate when saying No.Sun's [basic Java tutorial|http://java.sun.com/docs/books/tutorial/]
    Sun's [New To Java Center|http://java.sun.com/learning/new2java/index.html].Includes an overview of what Java is, instructions for setting up Java, an intro to programming (that includes links to the above tutorial or to parts of it), quizzes, a list of resources, and info on certification and courses.
    [http://javaalmanac.com|http://javaalmanac.com]. A couple dozen code examples that supplement [The Java Developers Almanac|http://www.amazon.com/exec/obidos/tg/detail/-/0201752808?v=glance].
    jGuru. A general Java resource site. Includes FAQs, forums, courses, more.
    JavaRanch. To quote the tagline on their homepage: "a friendly place for Java greenhorns." FAQs, forums (moderated, I believe), sample code, all kinds of goodies for newbies. From what I've heard, they live up to the "friendly" claim.
    Bruce Eckel's [Thinking in Java|http://mindview.net/Books/DownloadSites] (Available online.)
    Joshua Bloch's [Effective Java|http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=pd_bbs_1?ie=UTF8&s=books&qid=1214349768&sr=8-1]
    Bert Bates and Kathy Sierra's [Head First Java|http://www.amazon.com/exec/obidos/tg/detail/-/0596004656?v=glance].
    James Gosling's [The Java Programming Language|http://www.bookpool.com/sm/0321349806].

  • Need help with a simple program (should be simple anyway)

    I'm (starting to begin) writing a nice simple program that should be easy however I'm stuck on how to make the "New" button in the file menu clear all the fields. Any help? I'll attach the code below.
    ====================================================
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Message extends JFrame implements ActionListener {
         public void actionPerformed(ActionEvent evt) {
         text1.setText(" ");
         text2.setText("RE: ");
         text3.setText(" ");
         public Message() {
         super("Write a Message - by Kieran Hannigan");
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setSize(370,270);
         FlowLayout flo = new FlowLayout(FlowLayout.RIGHT);
         setLayout(flo);
         //Make the bar
         JMenuBar bar = new JMenuBar();
         //Make "File" on Menu
         JMenu File = new JMenu("File");
         JMenuItem f1 = new JMenuItem("New");f1.addActionListener(this);
         JMenuItem f2 = new JMenuItem("Open");
         JMenuItem f3 = new JMenuItem("Save");
         JMenuItem f4 = new JMenuItem("Save As");
         JMenuItem f5 = new JMenuItem("Exit");
         File.add(f1);
         File.add(f2);
         File.add(f3);
         File.add(f4);
         File.add(f5);
         bar.add(File);
         //Make "Edit" on menu
         JMenu Edit = new JMenu("Edit");
         JMenuItem e1 = new JMenuItem("Cut");
         JMenuItem e2 = new JMenuItem("Paste");
         JMenuItem e3 = new JMenuItem("Copy");
         JMenuItem e4 = new JMenuItem("Repeat");
         JMenuItem e5 = new JMenuItem("Undo");
         Edit.add(e5);
         Edit.add(e4);
         Edit.add(e1);
         Edit.add(e3);
         Edit.add(e2);
         bar.add(Edit);
         //Make "View" on menu
         JMenu View = new JMenu("View");
         JMenuItem v1 = new JMenuItem("Bold");
         JMenuItem v2 = new JMenuItem("Italic");
         JMenuItem v3 = new JMenuItem("Normal");
         JMenuItem v4 = new JMenuItem("Bold-Italic");
         View.add(v1);
         View.add(v2);
         View.add(v3);
         View.addSeparator();
         View.add(v4);
         bar.add(View);
         //Make "Help" on menu
         JMenu Help = new JMenu("Help");
         JMenuItem h1 = new JMenuItem("Help Online");
         JMenuItem h2 = new JMenuItem("E-mail Programmer");
         Help.add(h1);
         Help.add(h2);
         bar.add(Help);
         setJMenuBar(bar);
         //Make Contents of window.
         //Make "Subject" text field
         JPanel row2 = new JPanel();
         JLabel sublabel = new JLabel("Subject:");
         row2.add(sublabel);
         JTextField text2 = new JTextField("RE:",24);
         row2.add(text2);
         //Make "To" text field
         JPanel row1 = new JPanel();
         JLabel tolabel = new JLabel("To:");
         row1.add(tolabel);
         JTextField text1 = new JTextField(24);
         row1.add(text1);
         //Make "Message" text area
         JPanel row3 = new JPanel();
         JLabel Meslabel = new JLabel("Message:");
         row3.add(Meslabel);
         JTextArea text3 = new JTextArea(6,22);
         messagearea.setLineWrap(true);
         messagearea.setWrapStyleWord(true);
         JScrollPane scroll = new JScrollPane(text3,
                                  JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                                  JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
         //SpaceLine
         JPanel spaceline = new JPanel();
         JLabel spacer = new JLabel(" ");
         spaceline.add(spacer);
         row3.add(scroll);
         add(row1);
         add(row2);
         add(spaceline);
         add(spaceline);
         add(row3);
         setVisible(true);
         public static void main(String[] arguments) {
         Message Message = new Message();
    }

    persiandude wrote:
    Topic: Need help with if, else, and which statements and loops.
    How would I display 60 < temp. <= 85 in java
    System.out.println("60 < temp. <= 85 in java");
    another question is how do I ask a question like want to try again (y/n) after a output and asking that everytime I type in yes after a output and terminate when saying No.Sun's [basic Java tutorial|http://java.sun.com/docs/books/tutorial/]
    Sun's [New To Java Center|http://java.sun.com/learning/new2java/index.html].Includes an overview of what Java is, instructions for setting up Java, an intro to programming (that includes links to the above tutorial or to parts of it), quizzes, a list of resources, and info on certification and courses.
    [http://javaalmanac.com|http://javaalmanac.com]. A couple dozen code examples that supplement [The Java Developers Almanac|http://www.amazon.com/exec/obidos/tg/detail/-/0201752808?v=glance].
    jGuru. A general Java resource site. Includes FAQs, forums, courses, more.
    JavaRanch. To quote the tagline on their homepage: "a friendly place for Java greenhorns." FAQs, forums (moderated, I believe), sample code, all kinds of goodies for newbies. From what I've heard, they live up to the "friendly" claim.
    Bruce Eckel's [Thinking in Java|http://mindview.net/Books/DownloadSites] (Available online.)
    Joshua Bloch's [Effective Java|http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=pd_bbs_1?ie=UTF8&s=books&qid=1214349768&sr=8-1]
    Bert Bates and Kathy Sierra's [Head First Java|http://www.amazon.com/exec/obidos/tg/detail/-/0596004656?v=glance].
    James Gosling's [The Java Programming Language|http://www.bookpool.com/sm/0321349806].

  • Help with a simple 1811 configuration

    I have a very basic level of understanding with Cisco products and I need help with what should be simple and even doable by me.
    I have a Cisco 1811 integrated router and am simply trying to use it on my home network.  I can configure the router with an enable secret password, password encryption, VTY, aux, and cons logins with no issues.  The router has 2 Ethernet interfaces, 0 and 1 and 8 switch ports.
    The idea is to bring Comcast ISP service into one of the Ethernet ports and then have three machines on the switch ports able to access the Internet.  Also I have an off-the shelf wireless router that I thought I would just plug that into an available switch port and allow a wireless AP as well. 
    This is so simply, that I can't believe I can't figure it out, but I can't.
    I set int F1 to DHCP, performed a 'no shut', and connected the ISP's router and have an up and up indication.  I have setup a static network with my three machines on the switch ports and enabled all applicable ports and have up and up indications - however, no traffic flow, even amongst my static Layer 2 switched LAN - not even a 'ping'.  By my understanding of Layer 2, this should work right now, whether the ISP service is working or not - WHAT AM I DOING WRONG?
    The addressing scheme I have ended up on is 172.16.1.0/28
    Obviously without the first hurdle cleared, of why the switched LAN doesn’t work, I haven't got any deeper.  Do I need to configure NAT?  I don't think I would need to in the scenario right?
    All of my experience, and none at the CCNA level, has been with larger Cisco equipment.  One thing I noticed on the 1811 was that when trying to create a new VLAN, it appears to work yet does not do anything and the 'sh vlans' output returns nothing, not even the VLAN1 I can see with 'sh ip int brief". 
    Anyway, if anyone has time to help a newbie out I would appreciate it; I’m lost.
    Thanks,
    Josh

    Thanks for the help Andrew!  You know, I think if this was two separate devices (switch and router) I think I would be up and running, but this integrated stuff is throwing me off, not to mention that the IOS is a much older version (I guess) than what I'm used to. 
    They were throwing this 1811 in the trash can at work, so I just emptied the trash can.  I have no documentation at all but I have since found the 1800 series documentation on Cisco.com and have tried to implement the basic configurations cited; with what seems like success, but still no joy.  I did have to recover the password and did so with 0x2142, I bypassed the setup and compared the default configuration with what is listed in the documentation and they DO NOT match; I also tried to go through setup mode with the same indications.  Additionally I've also learned that the 1800 series is pre-configured on certain options (DHCP, VLAN), which is new to me - I thought Cisco routers were not configured by default - isn't that kind of the point?  (By the way, the below port status may not be correct since I now have all the ports unplugged)
    Anyway, here is the 'show run' command, the 'sh ip int brief' command, followed by the 'sh version' command:
    Show Run
    Casino#sh run                                                                 
    Building configuration...                                                     
    Current configuration : 2006 bytes                                            
    version 12.4                                                                  
    service timestamps debug datetime msec                                        
    service timestamps log datetime msec                                          
    service password-encryption                                                   
    hostname Casino                                                               
    boot-start-marker                                                             
    boot-end-marker                                                               
    enable secret 5 $1$meWw$nsMTp6US7axi/uE0MWULK.                                
    enable password 7 06535E741C1B584C55                                          
    no aaa new-model                                                              
    ip cef                                                                        
    no ip dhcp use vrf connected                                                  
    ip dhcp excluded-address 172.16.1.1                                           
    ip dhcp pool Casino                                                           
       import all                                                                 
       network 172.16.1.0 255.255.255.240                                         
       default-router 67.165.208.1                                                
       dns-server 68.87.89.150                                                    
       domain-name hsd1.co.comcast.net                                            
    no ip domain lookup                                                           
    ip domain name GinRummy.localhost                                             
    ip name-server 68.87.85.102                                                   
    ip name-server 68.87.69.150                                                   
    ip auth-proxy max-nodata-conns 3                                              
    ip admission max-nodata-conns 3                                               
    multilink bundle-name authenticated                                           
    archive                                                                       
    log config                                                                   
      hidekeys                                                                    
    interface Loopback0                                                           
    ip address 172.16.1.1 255.255.255.240                                        
    interface FastEthernet0                                                       
    no ip address                                                                
    shutdown                                                                     
    duplex auto                                                                  
    speed auto                                                                   
    interface FastEthernet1                                                       
    ip address dhcp                                                              
    ip nat outside                                                               
    ip virtual-reassembly                                                        
    duplex auto                                                                  
    speed auto                                                                   
    pppoe enable                                                                 
    pppoe-client dial-pool-number 1                                              
    interface BRI0                                                                
    no ip address                                                                
    encapsulation hdlc                                                           
    shutdown                                                                     
    interface FastEthernet2                                                       
    interface FastEthernet3                                                       
    interface FastEthernet4                                                       
    interface FastEthernet5                                                       
    interface FastEthernet6                                                       
    interface FastEthernet7                                                       
    interface FastEthernet8                                                       
    interface FastEthernet9                                                       
    interface Vlan1                                                               
    no ip address                                                                
    ip nat inside                                                                
    ip virtual-reassembly                                                        
    interface Dialer0                                                             
    ip address negotiated                                                        
    ip mtu 1492                                                                  
    encapsulation ppp                                                            
    dialer pool 1                                                                
    ppp authentication chap                                                      
    ip forward-protocol nd                                                        
    no ip http server                                                             
    no ip http secure-server                                                      
    ip nat pool Casino 172.16.1.2 172.16.1.14 netmask 255.255.255.240             
    ip nat inside source list 1 interface Dialer0 overload                        
    access-list 1 permit 172.16.1.0 0.0.0.15                                      
    dialer-list 1 protocol ip permit                                              
    control-plane                                                                 
    line con 0                                                                    
    password 7 080E5916584B4442435E5C                                            
    login                                                                        
    line aux 0                                                                    
    password 7 013C135C0A59475A70191E                                            
    login                                                                        
    line vty 0 4                                                                  
    password 7 09635B51485756475A5954                                            
    login                                                                        
    end                                                                           
    Show IP Interface Brief
    Casino#sh ip int brief                                                        
    Interface                  IP-Address      OK? Method Status                Prl
    FastEthernet0              unassigned      YES NVRAM  administratively down do
    FastEthernet1              unassigned      YES DHCP   up                    do
    BRI0                       unassigned      YES NVRAM  administratively down do
    BRI0:1                     unassigned      YES unset  administratively down do
    BRI0:2                     unassigned      YES unset  administratively down do
    FastEthernet2              unassigned      YES unset  up                    do
    FastEthernet3              unassigned      YES unset  up                    do
    FastEthernet4              unassigned      YES unset  up                    do
    FastEthernet5              unassigned      YES unset  up                    do
    FastEthernet6              unassigned      YES unset  up                    do
    FastEthernet7              unassigned      YES unset  up                    do
    FastEthernet8              unassigned      YES unset  up                    do
    FastEthernet9              unassigned      YES unset  up                    up
    Vlan1                      unassigned      YES NVRAM  up                    up
    Loopback0                  172.16.1.1      YES manual up                    up
    Dialer0                    unassigned      YES manual up                    up
    NVI0  
    'show version'
    Casino#sh ver                                                                 
    Cisco IOS Software, C181X Software (C181X-ADVIPSERVICESK9-M), Version 12.4(15))
    Technical Support: http://www.cisco.com/techsupport                           
    Copyright (c) 1986-2008 by Cisco Systems, Inc.                                
    Compiled Thu 24-Jan-08 13:05 by prod_rel_team                                 
    ROM: System Bootstrap, Version 12.3(8r)YH12, RELEASE SOFTWARE (fc1)           
    Casino uptime is 52 minutes                                                   
    System returned to ROM by reload at 17:09:25 UTC Fri Jul 1 2011               
    System image file is "flash:c181x-advipservicesk9-mz.124-15.T3.bin"           
    This product contains cryptographic features and is subject to United         
    States and local country laws governing import, export, transfer and          
    use. Delivery of Cisco cryptographic products does not imply                  
    third-party authority to import, export, distribute or use encryption.        
    Importers, exporters, distributors and users are responsible for              
    compliance with U.S. and local country laws. By using this product you        
    agree to comply with applicable laws and regulations. If you are unable       
    to comply with U.S. and local laws, return this product immediately.          
    A summary of U.S. laws governing Cisco cryptographic products may be found at:
    http://www.cisco.com/wwl/export/crypto/tool/stqrg.html                        
    If you require further assistance please contact us by sending email to       
    [email protected].                                                             
    Cisco 1812 (MPC8500) processor (revision 0x400) with 118784K/12288K bytes of m.
    Processor board ID FHK120622J3, with hardware revision 0000                   
    10 FastEthernet interfaces                                                    
    1 ISDN Basic Rate interface                                                   
    31488K bytes of ATA CompactFlash (Read/Write)                                 
    Configuration register is 0x2102  
    Thanks again for your help,
    Josh

  • Need help with a simple basketball game.

    Hi im new here and I need help with making this simple basketball game.
    Im trying to recreate this game from this video. Im not sure if he is using as2 or as3
    Or if anyone could help me make a game like this or direct me to a link on how to do it It would be greatly appreciated.

    If you couldn't tell whether it is AS2 or AS3, it is doubtful you can turn it from AS2 into AS3, at least not until you learn both languages.  There is no tool made that does it for you.

  • Help with a simple program.

    I need some help writing a simple program. Can anybody help??
    thanks to all.
    2. HTML Java Source Code Reserved Word Highlighter
    Write a program that inputs a Java source code file and outputs a copy of that file with Java keywords surrounded with HTML tags for bold type. For example this input:
    public class JavaSource
    public static void main ( String[] args )
    if ( args.length == 3 )
    new BigObject();
    else
    System.out.println("Too few arguments.");
    will be transformed into:
    <B>public</B> <B>class</B> JavaSource
    <B>public</B> <B>static</B> <B>void</B> main ( String[] args )
    <B>if</B> ( args.length == 3 )
    <B>new</B> BigObject();
    <B>else</B>
    System.out.println("Too few arguments.");
    In a browser the code will look like this:
    public class JavaSource
    public static void main ( String[] args )
    if ( args.length == 3 )
    new BigObject();
    else
    System.out.println("Too few arguments.");

    Here is something that may get you started...
    import java.io.*; 
    import java.util.*; 
    public class HtmlJava{
         public static void main(String arg[]){
              if(arg.length!=1){
                   System.out.println("Usage java HtmlJava sourceFile");       
              else
                   new HtmlJava(arg[0]);
         HtmlJava(String source){
              try{
                   BufferedReader sourceReader=new BufferedReader(new InputStreamReader(new FileInputStream(source)));
                   BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(source+"Html.txt")));  
                   Vector keywords=new Vector();
                   addKeywords(keywords);
                   String line;
                   StringTokenizer tokenizer=null;
                   String word;
                   while((line=sourceReader.readLine () )!=null){
                        tokenizer=new StringTokenizer(line);
                        while(tokenizer.hasMoreTokens()){
                             word=tokenizer.nextToken();
                             if(keywords.contains(word)){
                                  writer.write(""+word+" ");
                             else{
                                  writer.write(word+" ");
                        writer.write("\r\n");
                   writer.close();
                   sourceReader.close(); 
                   System.out.println("Output File written to "+source+"Html.txt"); 
              catch(Exception ex){
                   ex.printStackTrace();      
         private void addKeywords(Vector keywords){
              keywords.addElement ( "abstract");
              keywords.addElement( "boolean");
              keywords.addElement( "break");
              keywords.addElement( "byte");
              keywords.addElement( "byvalue");
              keywords.addElement( "case");
              keywords.addElement( "cast");
              keywords.addElement( "catch");
              keywords.addElement( "char");
              keywords.addElement( "class");
              keywords.addElement( "const");
              keywords.addElement( "continue");
              keywords.addElement( "default");
              keywords.addElement( "do");
              keywords.addElement( "double");
              keywords.addElement( "else");
              keywords.addElement( "extends");
              keywords.addElement( "false");
              keywords.addElement( "final");
              keywords.addElement( "finally");
              keywords.addElement( "float");
              keywords.addElement( "for");
              keywords.addElement( "future");
              keywords.addElement( "generic");
              keywords.addElement( "goto");
              keywords.addElement( "if");
              keywords.addElement( "implements");
              keywords.addElement( "import");
              keywords.addElement( "inner");
              keywords.addElement( "instanceof");
              keywords.addElement( "int");
              keywords.addElement( "interface");
              keywords.addElement( "long");
              keywords.addElement( "native");
              keywords.addElement( "new");
              keywords.addElement( "null");
              keywords.addElement( "operator");
              keywords.addElement( "outer");
              keywords.addElement( "package");
              keywords.addElement( "private");
              keywords.addElement( "protected");
              keywords.addElement( "public");
              keywords.addElement( "rest");
              keywords.addElement( "return");
              keywords.addElement( "short");
              keywords.addElement( "static");
              keywords.addElement( "super");
              keywords.addElement( "switch");
              keywords.addElement( "synchronized");
              keywords.addElement( "this");
              keywords.addElement( "throw");
              keywords.addElement( "throws");
              keywords.addElement( "transient");
              keywords.addElement( "true");
              keywords.addElement( "try");
              keywords.addElement( "var");
              keywords.addElement( "void");
              keywords.addElement( "volatile");
              keywords.addElement( "while");
    }Hope it helped

  • Help with some simple coding

    Hello
    I am very new to Java and am currently studying a course in the language.
    I am working through a tutorial at the moment and a question has been asked and I am struggling a bit
    I have been given the code to a program that creates a window with a ball bouncing around inside the window.
    There are 2 classes (code below) - Call class - this contains all the code need to create the ball and BallWorld Class (the main Class) this create the window and moves the ball, it also detects if the ball hits the edge of the window, whne this happens it redirects the ball. I understand how all this code works
    I have been asked the following:-
    Rather than testing whether or not the ball has hit the wall in the nmain program, we could use inhertitance to provide a specialized forom of Ball. Create a class BoundedBall that inherits from the class Ball. The constructor for this class should provide the height and width of the window, which should be maintained as data fields in the class, rewrite the move method so that the ball moves outside the bound, it automatically reflects its direction. Finally rewrite the BallWorld class to use an instance of BoundedBall rather than ordianary Ball, and elimiante the bounds test in the main program.
    I am having trouble with this and I can not get my code to work, I think I may be going in completly the wrong direction with the code can sombody please provide me with a simple working code for both the BoundedBall and ammended BallWorld class, as this will help me understand whare I am going wrong
    Ball class
    //a generic round colored object that moves
    import java.awt.*;
    public class Ball {
    public Ball (Point lc, int r) {     //constructor for new ball
         //ball centre at point loc, radius rad
         loc = lc;
         rad = r;
    protected Point loc; //position in window
    protected int rad; //radius of ball
    protected double changeInX = 0.0; //horizontal change in ball position in one cycle
    protected double changeInY = 0.0; //vertical change in ball position in one cycle
    protected Color color = Color.blue; //colour of ball
    //methods that set attributes of ball
    public void setColor(Color newColor) {color = newColor;}
    public void setMotion(double dx,double dy)
    {changeInX = dx; changeInY = dy;}
    //methods that access attributes of ball
    public int radius() {return rad;}
    public Point location() {return loc;}
    //methods to reverse motion of the ball
    public void reflectVert(){ changeInY = -changeInY; }
    public void reflectHorz(){ changeInX = -changeInX; }
    //methods to move the ball
    public void moveTo(int x, int y) {loc.move(x,y);}
    public void move(){loc.translate((int)changeInX, (int)changeInY);}
    //method to display ball
    public void paint (Graphics g) {
    g.setColor(color);
    g.fillOval(loc.x-rad, loc.y-rad, 2*rad, 2*rad);
    BallWorld class
    //A bouncing ball animation
    import java.awt.*;          //import the awt package
    import javax.swing.JFrame;     //import the JFrame class from the swing package
    public class BallWorld extends JFrame{
         public static void main (String [] args){
              BallWorld world = new BallWorld(Color.red);
              world.show();
    for(int i = 0; i < 1000; i++) world.run();
    System.exit(0);
         public static final int FrameWidth = 600;
         public static final int FrameHeight = 400;
    private Ball aBall = new Ball(new Point (50,50),20);
         private BallWorld(Color ballColor) {     //constructor for new window
              //resize frame, initialize title
         setSize(FrameWidth, FrameHeight);
         setTitle("Ball World");
    //set colour and motion of ball
         aBall.setColor(ballColor);
         aBall.setMotion(3.0, 6.0);
         public void paint (Graphics g) {
    //first draw the ball
    super.paint(g);
         aBall.paint(g);
    public void run(){
              //move ball slightly
         aBall.move();
    Point pos =aBall.location();
    if ((pos.x < aBall.radius()) ||
    (pos.x > FrameWidth - aBall.radius()))
    aBall.reflectHorz();
    if ((pos.y < aBall.radius()) ||
    (pos.y > FrameHeight - aBall.radius()))
    aBall.reflectVert();
    repaint();
    try{
    Thread.sleep(50);
    } catch(InterruptedException e) {System.exit(0);}

    Here - you can study this :0))import java.awt.*;
    import javax.swing.*;
    public class MovingBall extends JFrame {
       mapPanel map   = new mapPanel();
       public MovingBall() {
          setBounds(10,10,400,300);
          setContentPane(map);
       public class mapPanel extends JPanel {
          Ball ball  = new Ball(this);
          public void paintComponent(Graphics g) {
            super.paintComponent(g);
            ball.paint(g);
    public class Ball extends Thread {
       mapPanel map;
       int x  = 200, y = 20, xi = 1, yi = 1;
    public Ball(mapPanel m) {
       map = m;
       start();
    public synchronized void run(){
       while (true) {
          try{
            sleep(10);
          catch(InterruptedException i){
            System.out.print("Interrupted: ");
          move();
    public void move() {
        map.repaint(x-1,y-1,22,22);
           if (x > map.getWidth()-20 || x < 0)  xi = xi*-1;
           if (y > map.getHeight()-20 || y < 0) yi = yi*-1;
           x = x + xi;
           y = y + yi;
           map.repaint(x-1,y-1,22,22);
        public void paint(Graphics g) {
           Graphics2D g2 = (Graphics2D)g;
           g2.setColor(Color.red);
           g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                               RenderingHints.VALUE_ANTIALIAS_ON);
           g2.fillOval(x,y,20,20);
           g2.dispose();
    public static void main(String[] args) {
       new MovingBall().show();
    }

  • Newbie - help with homework.

    Create a procedure to insert a record into the Bill_Items table. All the fields in the Bill_Items table will be specified as para with the exception of the Selling_Price, which will be the Current_Price, retrieved from the Menu_Items table. Do not allow the insert to finish unless there are enough of all ingredients on hand. If the insert is successfull, the quantity field in the Ingredient table will need to be updated accordingly.
    Tables are below.
    Thanks,
    CREATE TABLE Bill_Items
    Bill_Number NUMBER(6,0)
    CONSTRAINT FK_Bill_Items_Bill_Number REFERENCES Bills(Bill_Number)
    CONSTRAINT NN_Bill_Items_Bill_Number NOT NULL,
    Menu_Item_Number NUMBER(5,0)
    CONSTRAINT FK_Menu_Item_Num REFERENCES Menu_Items(Menu_Item_Number)
    CONSTRAINT NN_Bill_Items_Menu_Item_Num NOT NULL,
    Discount NUMBER(5,2)
    CONSTRAINT N_Bill_Items_Discount NULL,
    Quantity NUMBER(3,0) DEFAULT 1
    CONSTRAINT Bills_Items_Quanity_CC CHECK(Quantity > 0)
    CONSTRAINT NN_Bill_Items_Quantity NOT NULL,
    Selling_Price NUMBER(6,2) DEFAULT 0
    CONSTRAINT Bills_Items_SellingPrice_CC CHECK(Selling_Price >= 0)
    CONSTRAINT NN_Bill_Items_Selling_Price NOT NULL,
    CONSTRAINT PK_Bill_Items PRIMARY KEY(Bill_Number,Menu_Item_Number)
    CREATE TABLE Menu_Item_Ingredients
    Menu_Item_Number NUMBER(5,0)
    CONSTRAINT FK_Menu_Item_Ing_Menu_Item_Num REFERENCES Menu_Items(Menu_Item_Number)
    CONSTRAINT NN_Menu_Item_Ing_Meun_Item_Num NOT NULL,
    Ingredient_Number NUMBER(5,0)
    CONSTRAINT FK_Menu_Item_Ing_IngredientNo REFERENCES Ingredients(Ingredient_Number)
    CONSTRAINT NN_Menu_Item_Ing_IngredientNo NOT NULL,
    Quantity NUMBER(5,2) DEFAULT 1
    CONSTRAINT Menu_Item_Ing_Quanity_CC CHECK(Quantity > 0)
    CONSTRAINT NN_Menu_Item_Ing_Quanity NOT NULL,
    Constraint PK_Menu_Item_Ing PRIMARY KEY(Menu_Item_Number, Ingredient_Number)
    CREATE TABLE Ingredients
    Ingredient_Number Number(5,0)
    CONSTRAINT PK_Ingredients_IngredientNo PRIMARY KEY
    CONSTRAINT NN_Ingredients_IngredientNo NOT NULL,
    Ingredient_Name VarChar2(35)
    CONSTRAINT NN_Ingredients_Ingredient_Name NOT NULL,
    Portion_Code CHAR(2)
    CONSTRAINT FK_Ingredients_PortionCode REFERENCES Portions(Portion_Code)
    CONSTRAINT NN_Ingredients_PortionCode NOT NULL
    REFERENCES Portions(Portion_Code),
    On_Hand NUMBER(6,2) DEFAULT 1
    CONSTRAINT Ingredients_OnHand_CC CHECK(On_Hand > 0)
    CONSTRAINT NN_Ingredients_On_Hand NOT NULL,
    Reorder_Point NUMBER(6,2) DEFAULT 1
    CONSTRAINT Ingredients_Reorder_Point CHECK(Reorder_Point > 0)
    CONSTRAINT NN_Ingredients_Reorder_Point NOT NULL,
    Current_Cost NUMBER(5,2) DEFAULT 0
    CONSTRAINT Ingredients_CurrentCost_CC CHECK(Current_Cost >= 0)
    CONSTRAINT NN_Ingredients_Current_Cost NOT NULL
    CREATE TABLE Menu_Items
    Menu_Item_Number NUMBER(5,0)
    CONSTRAINT PK_Menu_Items_MenuItemsNo PRIMARY KEY
    CONSTRAINT NN_Menu_Items_MenuItemsNo NOT NULL,
    Menu_Item_Name VARCHAR2(50)
    CONSTRAINT NN_Menu_Items_Menu_Item_Name NOT NULL,
    Current_Price NUMBER(6,2) DEFAULT 0
    CONSTRAINT Menu_Items_CurrentPrice CHECK(Current_Price >=0)
    CONSTRAINT NN_Menu_Items_Current_Price NOT NULL,
    Production_Cost NUMBER(6,2) DEFAULT 0
    CONSTRAINT Menu_Items_ProdCost CHECK(Production_Cost >=0)
    CONSTRAINT NN_Menu_Items_Production_Cost NOT NULL
    );

    Newbie to oracle - help with homework.. Letting others do your work is called cheating, where I live.
    C.

  • Newbie: help with join in a select query

    Hi: I need some help with creating a select statement.
    I have two tables t1 (fields: id, time, cost, t2id) and t2 (fields: id, time, cost). t2id from t1 is the primary key in t2. I want a single select statement to list all time and cost from both t1 and t2. I think I need to use join but can't seem to figure it out even after going through some tutorials.
    Thanks in advance.
    Ray

    t1 has following records
    pkid, time, cost,product
    1,123456,34,801
    2,123457,20,802
    3,345678,40,801
    t2 has the following records
    id,productid,time,cost
    1,801,4356789,12
    2,801,4356790,1
    3,802,9845679,100
    4,801,9345614,12
    I want a query that will print following from t1 (time and cost for records that have product=801)
    123456,34
    345678,40
    followed by following from t2 (time and cost for records that have productid=801)
    4356789,12
    4356790,1
    9345614,12
    Is this possible?
    Thanks
    ray

  • Can someone help with this simple application

    I am taking my first java class and there are limited resourses for the class as far as getting help with coding.
    Any hoo if any one can point me in the correct direction from the following information listed below I would be greatfull. I am trying to use the set and get methods on the instance veriables and then I am goign to post the results once I get them workign to a JOption pane window.
    examples are most welcome thanks
    // Invoice.java
    // Homework assignment 3.13
    // Student Arthur Clark
    public class Invoice // public class
    String partNumber;// instance veriable quantity
    String partDescription;// instance verialbe partDescription
    //constructors
    public void setpartNumber( String number, String description )
              partNumber = number; //initalize quantity
              partDescription = description; // initalize partDescription
         }// end constructors
    //method getpartNumber
    public String getpartNumber()
              return partNumber;
         }//end method getpartNumber
    public String getpartDescription()
              return partDescription;
         }// end method getpartDescription
    public void displayMessage()
         //this is the statement that calls getpartNumber
         System.out.printf(" part number # \n%s!\n the description", getpartNumber(), getpartDescription() );
    } // method displaMessage
    }// end method main
    // Fig. 3.14 InvoiceTest.java
    // Careate and manipulate an account object
    import java.util.Scanner;
    import javax.swing.JOptionPane;//import JOptionPane
    public class InvoiceTest{
         // main method begins the exciution of the program
         public static void main ( String args [] )
              // create Scanner to obtain input from mommand window
              Scanner input = new Scanner ( System.in );
              // create a Invoice object and assig it to mymethod
              Invoice myMethod = new Invoice();
              Invoice myMethod2 = new Invoice();
              // display inital value of partName, partDescriptoin
              System.out.printf( "inital partname is %s\n\n", myMethod.getpartNumber() );
              // prompt for and read part name, partDescription
              System.out.println( "please enter the Part Number:" );
              String theNumber = input.nextLine(); // read a line of text
              myMethod.setpartNumber( theNumber ); // set the part name with in the parens
              System.out.println();// outputs blank line
              myMethod.displayMessage();
              System.out.println( "please enter the Part Description" );
              String theDescription = input.nextLine(); // read a line of text
              myMethod2.setpartDescription( theDescription );// set the part description
              System.out.println();// outputs blank line
              myMethod2.displayMessage();
         }// end main mehtod
    }// end class

    //constructors
    public void setpartNumber( String number, String description )
              partNumber = number; //initalize quantity
              partDescription = description; // initalize partDescription
         }// end constructorsThe above code is not a constructor. You do not include a return type, void or anything else. Also, the constructor should be called the same as your class.
    public Invoice( String number, String description )
              partNumber = number;
              partDescription = description;
         } Another thing, comments should only be used when it isn't bleedingly obvious what your code is doing.
    P.S. is your middle initial C?

  • Newbie - Help With templates

    I am fairly new to dreamweaver. Looking to put together a
    basic site for a holiday home for rent. Would like to include
    photos of the house and surrounding area, travel details, details
    of things to do and see, calendar, temeperature charts etc. Can
    anyone suggest where I can get my hands on templates that would
    help with this?
    Many thanks

    The best I've seen are from ProjectSeven -
    http://www.projectseven.com/
    They are commercial (look at the Page Packs) and they are
    excellent.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "Gusley5" <[email protected]> wrote in
    message
    news:[email protected]...
    >I guess sources for templates is what I'm looking for.
    I've little
    >knowledge
    > of writing code so was looking for a draft template
    which would have a
    > professional look to it with regard to font, layout,
    colours, buttons to
    > use
    > for links etc. I suppose some sort of table layout for
    including photos
    > with
    > related text may be best place to start.
    >
    > Code below is from a starter page available from
    dreamweaver. Any other
    > suggestions for templates gratefully received.
    >
    > Thanks
    >
    > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN"
    > "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    > <html xmlns="
    http://www.w3.org/1999/xhtml">
    > <!-- DW6 -->
    > <head>
    > <!-- Copyright 2005 Macromedia, Inc. All rights
    reserved. -->
    > <title>Lodging - Catalog</title>
    > <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1" />
    > <link rel="stylesheet"
    >
    href="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltI
    > n/StarterPages/mm_lodging1.css" type="text/css" />
    > </head>
    > <body bgcolor="#999966">
    > <table width="100%" border="0" cellspacing="0"
    cellpadding="0">
    > <tr>
    > <td width="15"
    nowrap="nowrap"> </td>
    > <td height="60" colspan="2" class="logo"
    nowrap="nowrap"><br />
    > WEBSITE NAME HERE</td>
    > <td width="100%"> </td>
    > </tr>
    >
    > <tr bgcolor="#ffffff">
    > <td colspan="4"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_spacer.gif" alt="" width="1" height="1"
    border="0"
    > /></td>
    > </tr>
    >
    > <tr bgcolor="#a4c2c2">
    > <td width="15"
    nowrap="nowrap"> </td>
    > <td height="36" id="navigation"
    class="navText"><a
    > href="javascript:;">HOME</a></td>
    > <td> </td>
    > <td width="100%"> </td>
    > </tr>
    >
    > <tr bgcolor="#ffffff">
    > <td colspan="4"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_spacer.gif" alt="" width="1" height="1"
    border="0"
    > /></td>
    > </tr>
    >
    > <tr bgcolor="#ffffff">
    > <td valign="top" width="15"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_spacer.gif" alt="" width="15"
    height="1" border="0"
    > /></td>
    > <td valign="top" width="35"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_spacer.gif" alt="" width="35"
    height="1" border="0"
    > /></td>
    > <td width="710" valign="top"><br />
    > <table border="0" cellspacing="0" cellpadding="2"
    width="610">
    > <tr>
    > <td colspan="7" class="pageName">Page Name
    Here</td>
    > </tr>
    > <tr>
    > <td width="22%" height="110"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_product_sm.gif" alt="small product
    photo" width="110"
    > height="110" border="0" /></td>
    > <td> </td>
    > <td width="22%" height="110"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_product_sm.gif" alt="small product
    photo" width="110"
    > height="110" border="0" /></td>
    > <td> </td>
    > <td width="22%" height="110"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_product_sm.gif" alt="small product
    photo" width="110"
    > height="110" border="0" /></td>
    > <td> </td>
    > <td width="22%" height="110"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_product_sm.gif" alt="small product
    photo" width="110"
    > height="110" border="0" /></td>
    > </tr>
    > <tr>
    > <td valign="top" class="calendarText"
    nowrap="nowrap"><a
    > href="javascript:;">Product Name</a><br
    />
    > Price: $0.00</td>
    > <td> </td>
    > <td valign="top" class="calendarText"
    nowrap="nowrap"><a
    > href="javascript:;">Product Name</a><br
    />
    > Price: $0.00</td>
    > <td> </td>
    > <td valign="top" class="calendarText"
    nowrap="nowrap"><a
    > href="javascript:;">Product Name</a><br
    />
    > Price: $0.00</td>
    > <td> </td>
    > <td valign="top" class="calendarText"
    nowrap="nowrap"><a
    > href="javascript:;">Product Name</a><br
    />
    > Price: $0.00</td>
    > </tr>
    > <tr>
    > <td colspan="7"> </td>
    > </tr>
    > <tr>
    > <td height="110"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_product_sm.gif" alt="small product
    photo" width="110"
    > height="110" border="0" /></td>
    > <td> </td>
    > <td height="110"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_product_sm.gif" alt="small product
    photo" width="110"
    > height="110" border="0" /></td>
    > <td> </td>
    > <td height="110"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_product_sm.gif" alt="small product
    photo" width="110"
    > height="110" border="0" /></td>
    > <td> </td>
    > <td height="110"><img
    >
    src="file:///C|/Program%20Files/Macromedia/Dreamweaver%208/Configuration/BuiltIn
    > /StarterPages/mm_product_sm.gif" alt="small product
    photo" width="110"
    > height="110" border="0" /></td>
    > </tr>
    > <tr>
    > <td valign="top" class="calendarText"
    nowrap="nowrap"><a
    > href="javascript:;">Product Name</a><br
    />
    > Price: $0.00</td>
    > <td> </td>
    > <td valign="top" class="calendarText"
    nowrap="nowrap"><a
    > href="javascript:;">Product Name</a><br
    />
    > Price: $0.00</td>
    > <td> </td>
    > <td valign="top" class="calendarText"
    nowrap="nowrap"><a
    > href="javascript:;">Product Name</a><br
    />
    > Price: $0.00</td>
    > <td> </td>
    > <td valign="top" class="calendarText"
    nowrap="nowrap"><a
    > href="javascript:;">Product Name</a><br
    />
    > Price: $0.00</td>
    > </tr>
    > <tr>
    > <td colspan="7"> </td>
    > </tr>
    > </table> </td>
    > <td> </td>
    > </tr>
    >
    > <tr>
    > <td width="15"> </td>
    > <td width="35"> </td>
    > <td width="710"> </td>
    > <td width="100%"> </td>
    > </tr>
    > </table>
    > </body>
    > </html>
    >

  • Newbie - Help with Fireworks CS5 nav bar

    I am new to Fireworks. I am using Fireworks CS5. I need help with creating navigation bars and menu. Any tutorial or tips is greatly appreciated.
    Thank you.

    You'll find a tutorial named "Create a basic navigation bar" in the Fireworks help files.

  • Im DROWNING! need help with a simple java assignment! plz someone help me!

    i need help with my java assignment, with validating a sin number. easy for must who know java. im drowning... please help!

    You will need to store each digit of the social insurance number in a field of its own. To validate the entry you will:
    1. Multiply the 2nd, 4th, 6th and 8th digit by 2.
    2. If the product of any of the four multiplications result in a value greater than 9, add the two resulting digits together to yield a single-digit response. For example 6 * 2 = 12, so you would add the 1 and the 2 to get a result of 3.
    3. Add these four calculated values together, along with the 1st, 3rd, 5th, and 7th digits of the original number.
    4. Subtract this sum from the next highest multiple of 10.
    5. The difference should be equal to the 9th digit, which is considered the check digit.
    Example of validating S.I.N. 765932546
    1st digit 7
    2nd digit (6*2 =12 1+2=) 3
    3rd digit 5
    4th digit (9*2 = 18 1+8 =) 9
    5th digit 3
    6th digit (2*2 = 4) 4
    7th digit 5
    8th digit (4*2 = 8) 8
    Total 44 next multiple of 10 is 50
    50-44 = 6 which is the 9th digit
    Therefore the S.I.N. 765932546 is Valid
    ********* SIN Validation *********
    Welcome - Please enter the first number: 120406780
    Second digit value multiplied by 2 4
    Fourth digit value multiplied by 2 8
    Sixth digit value multiplied by 2 12
    Eighth digit value multiplied by 2 16
    Value derived from 6th digit 3
    Value derived from 8th digit 7
    The total is 30
    Calculated digit is 10
    Check digit must be zero because calculated value is 10
    The SIN 120406780 is Valid
    this is my assignemtn this is what i have! i dont know where to start! please help me!
    /*     File:     sinnumber.java
         Author:     Ashley
         Date:     October 2006
         Purpose: Lab1
    import java.util.Scanner;
    public class Lab1
              public static void main(String[] args)
                   Scanner input = new Scanner(System.in);
                   int sin = 0;
                   int number0, number1, number2, number3, number4, number5, number6, number7, number8;
                   int count = 0;
                   int second, fourth, sixth, eighth;
                   System.out.print("\t\n**********************************");
                   System.out.print("\t\n**********SIN Validation**********");
                   System.out.print("\t\n**********************************");
                   System.out.println("\t\nPlease enter the First sin number: ");
                   sin = input.nextInt();
                   count = int.length(sin);     
                   if (count > 8 || count < 8)
                   System.out.print("Valid: ");
         }

  • NEWBIE: help with simple JSF question

    Hi, I'm having trouble wrapping my head around how JSF is supposed to be used for something.
    Let's say I have a list of people on the left, and I want to show the selected person in an editor on the right (so you can change the name and phone number and click 'save changes', for example).
    So I have a <h:selectOneListbox> with a <f:valueChangeListener>. Something like this:
    <h:selectOneListbox value="#{personController.selectedPerson}">
    <f:selectItems value="#{personController.listOfPersons}" />
    <f:valueChangeListener type="PersonSelectionListener" />
    </h:selectOneListbox>
    So in Java I have 2 objects.
    1. PersonController which maintains the list of persons and the selected person and is identified as a session bean in the faces-config.xml
    2. PersonSelectionListener which listens for selection changes and does something with the selection, let's say it writes the selected person's name to a log file just for sake of example.
    My question is, when the PersonSelectionListener detects that a selection change has occurred, how should I get the selected person from the person controller so I can, say, write the name to a log file?
    (Note: I'm pretty sure I can make the PersonController and the PersonSelectionListener the same object and just reference the selectedPerson member variable -- but I'm trying to wrap my head around how objects are supposed to interact in a JSF application, so let's assume they have have to be separate objects.)
    Any information is greatly appreciated. Thanks!

    Normally I would tell you to inject the PersonController bean into the PersonSelectionListener bean as a managed property. Then drill into the bean to get the data you need.
    However, in this case you are dealing with a value change listener. Value change events are fired at the end of the Process Validations phase, before the Update Model Values phase. So in this case, the PersonController bean will not contain the selected person from the request. This is not a problem however, since the new value is passed via the ValueChangeEvent object.

  • Can anyone help with a simple coding problem?

    I'm creating a website using Dreamweaver MX 2004 and making a
    real mess of it!
    I have created two pages which are identical in terms of
    background, but one has a text box in the middle. What I want to
    happen when you click the link to this page is the first one
    without the text box appears for a couple of seconds, then the
    other page automatically loads to give the impression that this
    text box has magically appeared. really simple, but I can't find
    any behaviour codes to make this happen!
    Can anyone help me out with a code or give me a clue to how
    it can be achieved really easily.
    Cheers everyone!

    You can try just using the same page and hiding and showing
    the layer using the Behaviors menu. that would acheive the same
    thing without having to load another page.

Maybe you are looking for

  • How to create PDF file from bypassing the Save as Dialogue box in Adobe XI

    I am from powerbuilder development team. I want to save the output of the datawindow to PDF file using Adobe PDF printer but should not as for saving the file. The program should save the file to location mentioned in the registry key. I want to know

  • Cisco ISE disabled all internal Network users

    Hi All, Somehow, this morning when we checked on the ISE, all the IP phone users along with the internal users are disabled. We have disabled the password policy to disable the accounts if password is not changed. Our version is 1.2 and no patches. C

  • Redirecting using a new browser tab or window

    How does one send a redirect response to a new window or tab of a browser? Currently forwarding to a new URL with AOL function in a controller class using pageContext.sendRedirect("Initialize.jsp?queryString1="value"&OAFunc=UI...")

  • Wireless Lan Controller in HA

    Hi Folks, I would like know if i can use Wirelles Lan Controller 5508 with Virtual WLC for used in HA. Tks

  • Mutex Sleep

    Hi, Can someone please explain, what exactly mutex sleep section shows and how came the waits in AWR are in negative values. Mutex Type__________Location__________Sleeps______Wait Time (ms) Library Cache________kglpin1 4_______ 1,696,355_____ -3,364,