Need a little help with a Jbutton not working out the way I planned

The following code is to fulfill an assignment I am working on. The problem I am having is with the btnCalc. For some reason when the button is used, the results I get is from another button. I think the variables are set right for the program to function properly but I am really hung up on this. Do anyone have any suggestions?
import java.awt.*;                     //Contains classes for creating GUI
import java.awt.event.*;                //For listener events
import javax.swing.*;                     // Imports the Main Swing Package
import javax.swing.event.*;
import javax.swing.text.*;           // Positions text box
import java.text.NumberFormat;          // For number format such as currency
import java.text.*;                     // Imports the Main Text Package
import java.util.*;                     // Utility Package
public class MPC extends JFrame implements ActionListener           //Creates Class for MPC
//double dblLoanAmount, dblInterestRate, dblMonthlyPayment;
TextField txtTotalMort;
     //JButton fixRates = new JButton("Choose Fixed Rates");
     JLabel lblTotalMort = new JLabel("How much is the loan?"); // Label for dblLoanAmount amount
     JTextField txtYears = new JTextField(10);
     JLabel lblPayment = new JLabel("Your monthly payment is "); // Label for Payment
     JTextField txtPayment = new JTextField(10);
     JLabel lblYears = new JLabel("How many years?");
                         // add(lblYears);
               JTextField txtYearsInput = new JTextField(10);
                         //a dd(txtYears);
     JLabel lblInterestRate = new JLabel("What is the interest rate?");
                         //add(lblInterestRate);
               JTextField txtInterestRate = new JTextField(10);
                         //add(txtInterestRate);
     //JLabel lblPayment = new JLabel("Your monthly payment is:");
                         //add(lblPayment);
               //JTextField txtPayment = new JTextField(10);
                         //txtPayment.setEditable(false);
                              //add(txtPayment);
     JButton btnCalc = new JButton("Calculate");
                         //add(btnCalc);
                         //btnCalc.addActionListener(this);
JButton year7InterestRateBtn = new JButton("7 years at 5.35%");     // Mortgage Term and Interest Rate
JButton year15InterestRateBtn = new JButton("15 years at 5.50%");
JButton year30InterestRateBtn = new JButton("30 years at 5.75%");
JButton reset = new JButton("Clear All");
JTextArea boxSpace = new JTextArea(100,200);          // Morgtage table size
JScrollPane scroll = new JScrollPane(boxSpace);     // ScrollPane
          public MPC()     // Method
     super("MPC");     // Frame Title
          JMenuBar mb = new JMenuBar();     // Menu Bar
setJMenuBar(mb);
                    setSize(325, 500);          // Frame Size
                    JPanel pane = new JPanel();
                    pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); //Grid box configuration
                    Container grid = getContentPane();
                    grid.setLayout(new GridLayout(8,2,8,8));     // Grid Layout
                    pane.add(grid);                                        // Adds grid
                    pane.add(scroll);                                   // Adds scrollPane
               grid.setBackground(Color.white);
                    Setting color of text and backgrounds
               txtYears.setBackground(Color.white);
          txtYears.setForeground(Color.black);
               txtYears.setFont(new Font("Arial", Font.PLAIN, 10));
                    txtPayment.setBackground(Color.white);
               txtPayment.setForeground(Color.black);
          txtPayment.setFont(new Font("Arial", Font.PLAIN, 10));
               boxSpace.setBackground(Color.white);
               boxSpace.setForeground(Color.black);
               boxSpace.setFont(new Font("Arial", Font.PLAIN, 10));
          grid.add(lblYears);
          grid.add(txtYearsInput);
          grid.add(lblInterestRate);
          grid.add (txtInterestRate);
          grid.add(lblTotalMort);          // Adds the Mortgage Amount Label
          grid.add(txtYears);               // Adds the Mortgage Amount Text Field
          grid.add(lblPayment);           // Adds the Payment Label
          grid.add(txtPayment);           // Adds the Monthly Payment Text Field
               txtPayment.setEditable(false);          // Disables editing in this Text Field
          grid.add(btnCalc);
     grid.add(year7InterestRateBtn);               // Adds 1st Loan and Rate Button
          grid.add(year15InterestRateBtn);          // Adds 2nd Loan and Rate Button
          grid.add(year30InterestRateBtn);          // Adds the Exit Button
          grid.add(reset);                               // Adds the New Calc Button
          setContentPane(pane);                          // Enables the Content Pane
          setVisible(true);                               // Sets JPanel to be Visable
          reset.addActionListener(this);                          // Adds Action Listener to the New Calc Button
          txtYearsInput.addActionListener(this);
          txtInterestRate.addActionListener(this);
          btnCalc.addActionListener(this);
     year7InterestRateBtn.addActionListener(this);                              // Adds Action Listener to the 1st loan Button
          year15InterestRateBtn.addActionListener(this);                              // Adds Action Listener to the 2nd loan Button
          year30InterestRateBtn.addActionListener(this);                               // Adds Action Listener to the 3rd loan Button
          txtYears.addActionListener(this);                              // Adds Action Listener to the Mortgage Amount Text Field
          txtPayment.addActionListener(this);                              // Adds Action Listener to the Monthly payment Text Field
          public void actionPerformed(ActionEvent e)                               // Tests to Verify Which Button is Pressed
     Object command = e.getSource(); // Enables command to get data
     int intYears = 0;          // Declares intYears
               double dblLoanAmount, dblInterestRate, interestRate, intRate;
     if (command == year7InterestRateBtn)                                   // Activates the 1st Loan Button
intYears = 0;                                        // Sets 1st value of Array
     if (command == year15InterestRateBtn)                                   // Activates the 2nd Loan Button
     intYears = 1;                                        // Sets 2nd value of Array
          if (command == year30InterestRateBtn)                                   // Activates the 3rd Loan Button
               intYears = 2;                                        // Sets 3rd value of Array
               if (command == btnCalc)
                    //dblLoanAmount = Double.parseDouble(txtTotalMort.getText() ); // Loan amount
                    //interestRate = Double.parseDouble(txtInterestRate.getText() ); // /100 )/ 12; // Devides rate
                    intRate = (Double.parseDouble(txtInterestRate.getText() )/100 )/ 12;
                    //int intYearsMonths = Integer.parseInt(txtYearsInput.getText() );// * 12; //Multiplies loan length
                    int months = Integer.parseInt(txtYearsInput.getText() )* 12;
dblLoanAmount = 0;                                   // Declares and Initializes dblLoanAmount
               dblInterestRate = 0;                                        // Declares and Initializes dblInterestRate
          double [][] dblTrmLoanRate = {{7, 5.35}, {15, 5.50}, {30, 5.75},};           // Array Data for Calculation
try
dblLoanAmount = Double.parseDouble(txtYears.getText()); // Gets user input from txtYears Text Field
catch (NumberFormatException nfe)                          // Checks for correct user input
                         JOptionPane.showMessageDialog(null, "You must enter a valid number.", "MPC", JOptionPane.INFORMATION_MESSAGE);
return;
          interestRate = dblTrmLoanRate [intYears][1];
               //dblInterestRate=interestRate;
               intRate = (interestRate / 100) / 12;                         // Calculates Interst Rate
     double intYearsMonths = dblTrmLoanRate [intYears] [0];                    // Calculates Loan Term in Months
int months = (int)intYearsMonths * 12;                          // Devides by months
double interestRateMonthly = (intRate / 12); // Devides Rate
          double payment = dblLoanAmount * intRate / (1 - (Math.pow(1/(1 + intRate), months))); // Calculates monthly payment
     double dblRmnLoan = dblLoanAmount;                              //Left over balance
     double txtPaymentInterest = 0;                                   // Payment
     double txtPaymentPrincipal = 0;                                   // Payment of principal
NumberFormat currency = NumberFormat.getCurrencyInstance(Locale.US); // Curreny format
     txtPayment.setText(currency.format(payment));
          boxSpace.setText("Month\tPrincipal\tInterest\tBalance Left\n");
          for (;months > 0 ; months -- )
          txtPaymentInterest = (dblRmnLoan * intRate);
                    txtPaymentPrincipal = (payment - txtPaymentInterest);          // Calculates monthly payment
               dblRmnLoan = (dblRmnLoan - txtPaymentPrincipal);
                    boxSpace.setCaret (new DefaultCaret());                    // Scroll position
                    boxSpace.append(String.valueOf(months) + "\t" +               // Table data
                    currency.format(txtPaymentPrincipal) + "\t" +
               currency.format(txtPaymentInterest) + "\t" +
               currency.format(dblRmnLoan) + "\n");
if(command == reset)
                         Clears fields
                    txtYearsInput.setText(null);
                    txtInterestRate.setText(null);
          txtYears.setText(null);
                    txtPayment.setText(null);
     boxSpace.setText(null);
                    public static void main(String[] args)                               //This is the signature of the entry point of all the desktop apps
          new MPC();
}

This portion to be exact. All the buttons work for me except this one. I need to calculate user input and also use the fixed data that can be found in the dblTrmLoanRate array. When I choos to use user input instead, the program either crashes or for some reason uses the year7InterestRateBtn instead.
               if (command == btnCalc)
                    //dblLoanAmount = Double.parseDouble(txtTotalMort.getText() ); // Loan amount
                    //interestRate = Double.parseDouble(txtInterestRate.getText() ); // /100 )/ 12; // Devides rate
                    intRate = (Double.parseDouble(txtInterestRate.getText() )/100 )/ 12;
                    //int intYearsMonths = Integer.parseInt(txtYearsInput.getText() );// * 12; //Multiplies loan length
                    int months = Integer.parseInt(txtYearsInput.getText() )* 12;
I was going to leave out the remed portion but thought it might help you with the navigation. I am sorry I did not use code tags, but I am going to go find out what those are and use them in the future.

Similar Messages

  • Need a Little Help with Understanding How Layers Work in PSE

    I have PSE version 5 and I am using it on a PC with Windows XP.
    As I get more into editing photos, I am enjoying it, but confusion is also starting to set in.  My question is about layers.  When I go to edit a photo for web/email use only, I start by resizing it to 72 ppi and then reducing the pixel dimensions quite a bit.  Then after that I normally go through this process of editing the photos by using normally about three different commands.  One is Levels, then I may go to Shadows/Highlights, and then my last command is always sharpening.  I used to do this all on one layer, but then finally learned to put each one of these editing features on their own layer so I can make changes/deletions without too much trouble.
    When I started doing the separate layers, I was just making a copy of the background layer each time and then touching that particulay layer up with Levels, Sharpen or Shadows/Highlights.  But I noticed that depending on the order in which the layers were placed, some changes would be obscured.  If I put the Levels layer on top, and then the Sharpen layer and the Shadows/Highlight layer below that, the sharpen effect and the shadows/highlights effects were no longer there.  I could only see the levels effect.  The photo was still not sharp and so on.  If I put the Sharpen level on top, then the photo showed the sharpen effects, but now the Levels and Shadows/Highlights effects were no longer visible.
    So then I started to make a copy of the background initially, do a levels adjustment here, then, instead of making a copy of the original background layer again, I would make a copy of the layer that now has the levels changes on it.  Then do the sharpen effect on this layer.  This way I had all the changes on one layer as long as I put that layer as the top layer.  But then I realized that I once again fI didn't have a layer with only one fix on it.   Finally, I started to use an adjustment layer for Levels, put this as the top layer, make a copy of the background layer, do shadows/highlights, copy background layer again, do sharpen, and this seems to work a little better.  But even with this way, depending on what order I place the sharpen and shadows/Highlights layers, one of them still seems to get obscured by the layer above it.
    Can someone help me to understand how layers work in this regard.  I am obviously a little confused here.
    Thanks,
    Lee

    You really aren't working efficiently. First of all, do your editing on a full sized version of the photo, since you have more data for PSE to work on and will get better results. Use save for web to make your web/email copy when you are totally done. You can resize it down on the right side of the save for web window.
    Duplicating a regular layer makes an opaque layer that obscures the layers below it. It's best to start off by not working on your original image, so that you don't have to worry if you mess up. If you're working on a copy, you can work right on the background layer, or only duplicate the layer once and apply your changes to that. So you'd apply both shadows/highlights and sharpening to the same layer.
    Finally, you should use an adjustment layer for levels. Layer>New Adjustment Layer>Levels. This will put levels on a transparent layer above your image, but you will need to click the layer below it to get back to a pixel layer to apply other changes (you can't sharpen an adjustment layer, for example).

  • Need a little help.... not major....but am unsure I have...

    Need a little help.... not major....but am unsure I have the 2.4 GHz Wireless-G Broadband Router Model WRT54G version 2 I had bought some time ago (over year and a half) and never really had it hooked up since I have been moving from place to place. Now that I'm retired and staying in one place I'm ready to set up. I find myself having "several" power adaptors and not sure which is the correct one. Can anyone tell me if all the broadband routers had the Linksys name and/or logo on them? None of the adapters I have do. I want to use a proper adapter so as not to damage....are there any specs that would be helpful so that one of these adapters would work? Also I'm running WindowsXP Sorry to bother you folks with a dumb question as I'm sure there are others with far more important questions and concerns. Although I can't tell other than the end going into the unit fits, I do have one Class 2 Transformer which might be the one it's about 1 1/2 inches thick, about 2 inches tall with following written information: Model 49-12-1000D CUI Inc Input AC 120V 60Hz 20W Output DC12V 1000mA Appreciate any help you can give.....I believe my unit is an older one based on version so there may have been a "fatter" adapter then than now.

    The power adapter output should be 12V, 0.5A(so 6W power rating)

  • Need a little Help with my new xfi titanium

    +Need a little Help with my new xfi titanium< A few questions here.
    st question? Im using opt out port on the xfi ti. card and using digital li've on a windows 7 64 bit system,? I would like to know why when i use 5. or 7. and i check to make sure each speakear is working the rear speakers wont sound off but the sr and sl will in replace of the rear speakers. I did a test tone on my sony amp and the speaker are wired correctly becasue the rear speakers and the surrond? left and right sound off when they suppose too. Also when i try to click on? the sl and sr in the sound blaster control panel they dont work but if i click on the rear speakers in the control panel the sl and sr sound off. Do anyone know how i can fix this? So i would like to know why my sl and sr act like rears when they are not?
    2nd question? How do i control the volume from my keyboard or from windows period when using opt out i was able to do so with my on board? sound max audio using spidf? Now i can only control the audio using the sony receiver.
    Thank you for any help..

    /Re: Need a little Help with my new xfi titanium? ?
    ZDragon wrote:
    I'm unsure about the first question. Do you even have a 7. system and receiver? If you just have 5., you should be able to remap the audio in the THX console.
    I do have a sony 7. reciever str de-995 its an older one but its only for my cpu. At first i didnt even have THX installed because it didnt come with the driver package for some reason until i downloaded the daniel_k support drivers and installed it. But it doesnt help in anyway.
    I have checked every where regarding the first question and alot of people are having problems getting sound out of there rear channels and the sound being re-mapped to the surround right and the surround left as if there rear left and rear right.
    I read somewhere that the daniel_k support drivers would fix this but it didnt for me and many others.
    For the second question i assumed it would be becasue of the spidf pass through and that my onboard sound card was inferior to the xfi titaniums. But i wasnt sure and i was hopeing that someone would have a solution for that problem because i miss controlling the volume with my keyboard.

  • Need a little help with syncing my iPod.

    I got a new macbook pro for cristmas and a few cds. After i tried to sync my ipod to itunes i put a symbol next to each song that i got from other cds saying that they were downloading but they werent. Also the cds i downloaded to my ipod for the first time didnt appear at all. Need help.

    /Re: Need a little Help with my new xfi titanium? ?
    ZDragon wrote:
    I'm unsure about the first question. Do you even have a 7. system and receiver? If you just have 5., you should be able to remap the audio in the THX console.
    I do have a sony 7. reciever str de-995 its an older one but its only for my cpu. At first i didnt even have THX installed because it didnt come with the driver package for some reason until i downloaded the daniel_k support drivers and installed it. But it doesnt help in anyway.
    I have checked every where regarding the first question and alot of people are having problems getting sound out of there rear channels and the sound being re-mapped to the surround right and the surround left as if there rear left and rear right.
    I read somewhere that the daniel_k support drivers would fix this but it didnt for me and many others.
    For the second question i assumed it would be becasue of the spidf pass through and that my onboard sound card was inferior to the xfi titaniums. But i wasnt sure and i was hopeing that someone would have a solution for that problem because i miss controlling the volume with my keyboard.

  • Need a little help with dial setup on CME

    I've got a CME I'm using for testing and I think I need a little help figuring out the proper config to get the system to accept numbers I dial and have those numbers be passed on to an Avaya system (including the leading 9 for ARS in Avaya) via H.323 IP trunks.   I have it working well for internal 5 digit extension calls across the H.323 trunks and I also have it working well for some types of outside calls that gets passed on to the Avaya and then the Avaya dials the call out to the PSTN.   My only real problem is, I can't figure out how to correctly configure CME to examine the digits I'm dialing and only send the digits once I'm finished dialing....not as soon as it sees an initial match.
    What's happening is this.  I can dial local numbers in my area as 7 digits or 10 digits.  The phone company doesn't yet force us to dial area code and number for local calls (10 digits).  I can still dial 7 digits.   But...if I put an entry in CME that looks like this....
    (by the way, the 192.168.1.1 IP is not the real IP address, that's just an example, but the rest of this entry is what I really have entered in CME)
    dial-peer voice 9 voip
    description Outside 7 Dig Local Calls Via Avaya
    destination-pattern 9.......
    session target ipv4:192.168.1.1
    dtmf-relay h245-alphanumeric
    no vad
    ...Then it will always try to dial out immediately after seeing the first 8 digits I dial (9 plus the 7 digit number I called)...even though I have a speicifc entry in the system that accounts for calls to 9 plus area code 513.  I would have assumed that if I put the specific entry in for 9513....... it would see that and wait to see if I was actually dialing something to match 9513....... instead of 9.......   Understand what I mean?   Because 9513....... is more specific than 9....... but it still tries to send the call out immediately after seeing the first 8 digits I dialed.
    dial-peer voice 9513 voip
    description Outside 10 Dig Local Calls Via Avaya
    destination-pattern 9513.......
    session target ipv4:192.168.1.1
    dtmf-relay h245-alphanumeric
    no vad
    ...BUT...here's the interesting thing.  If I trace the 10 digit call in Avaya, I see that the number being presented to the Avaya PBX is only the first 7 digits of the number....not the full 10 digits...BUT I see a few more of the digits I dialed (like the 8th and 9th digits) after the call is already setup and sent to the PSTN.  It's like the CME is trying to send the rest of the 10 digits I dialed, but at that point it's already too late.   It setup the call as a 7 digit call (9 plus 7 digits), not 10 digit like I wanted.
    I'm more familiar with how to setup dialing in the Avaya via ARS.  My background is Avaya, not Cisco, so this dial-peer config is a little difficult for me until I understand the reasoning of how it examines the numbers and what I should do to make it wait for me to finish dialing....or to tell the system that what I'm dialing will be a minimum or a certain amount of digits and maximum of a certain amount of digits, like the Avaya does.  I just need some pointers and examples to look at :-)   I think I've almost got it....but I'm just missing something at the moment.
    Just so you understand, the call flow should be like this:  Cisco phone registered to CME > CME to Avaya via H.323 trunks > Avaya to PSTN via ISDN PRI trunks connected to Avaya.  I have to be sure I send the 9 to the Avaya also, because 9 triggers ARS in the Avaya. 
    Thanks for your help

    Here is a good document that explains how dial-peers are matched in the Cisco world:
    http://www.cisco.com/en/US/tech/tk652/tk90/technologies_tech_note09186a008010fed1.shtml#topic7
    In your case, it is variable length dial plan you are trying to implenent. To fix it, you need to add a T to force the system to wait for more digits to be entered if there is any.
    dial-peer voice 9 voip
    description Outside 7 Dig Local Calls Via Avaya
    destination-pattern 9.......T
    session target ipv4:192.168.1.1
    dtmf-relay h245-alphanumeric
    no vad
    dial-peer voice 9513 voip
    description Outside 10 Dig Local Calls Via Avaya
    destination-pattern 9513.......
    session target ipv4:192.168.1.1
    dtmf-relay h245-alphanumeric
    no vad
    You can also configure the inter-digits timeout using the command timeouts interdigit under telephony-service.
    Please rate helpful answers!

  • Card reader not working out the box scr 3500?

    cac card reader not working out of box scr3500 help

    Welcome to discussions Kevin!
    I'm sorry to hear that first of all make sure that there is nothing sick on the eye of the camera it self, after that how is the lighting on the room that the computer will be set up? did the green light came on when you're trying to use iSight? i'm asking because the same thing happen to me but it was nothing but bad lighting in my office. If this doen't help call apple asap they should replace your computer with out a problem. Hope this helps good luck!
    Miguel

  • Need a little help with an animated JButton.

    I have a nice little button that on mouse entry runs a morf animation from one picture to another then stops.
    On leaving the button it runs the animation in reverse. The animation is done with two GIF images loaded as
    Icons using ImageIcon. Now this looks really nice, BUT it only dose it the first time the button is entered
    and the first time the button is exited. After this is abruptly switches from the "un-entered" button icon to the
    "entered" button icon (the end frame of the respective GIF animation's). I originally tried using the
    setRolloverIcon etc. When that did not work I thought that I would be able to get the images to be loaded
    each time by adding a MouseListener and using the mousePressed, mouseReleased, mouseEntered,
    mouseExited etc. methods. This gives me the situation described above. In the MouseListener methods a
    line like the following is used:
    ((JButton) e.getSource()).setIcon (new ImageIcon (MainWindow.
    class.getResource ("images/selected.gif")));
    How can I get the Button to run the animation every time it is entered | exited? The GIF from which the
    icons are made are set to run the animation through once, not an end less loop which would not be the
    desired effect.
    Any suggestions would be great
    Thank you
    M Pratten.

    Well I guess I should of just kept trying "lunch helps".
    Any way to get the image to reanimate each time the mouse pointer enters leaves the button I changed the
    code in the mouseListener to something like:
    ImageIcon i = new ImageIcon (MainWindow.class.getResource ("images/selected.gif"));
    i.getImage().flush ();
    ((JButton) e.getSource()).setIcon (i);
    I am assuming the flush puts the GIF animation back at its first frame so it has to redo the animation, which is
    exactly what I want.
    Now if any of the local experts know of a better way of doing this I would be happy to hear about it. But at
    the moment it seems to work just fine.
    Thanks to those that read my post.
    M Pratten.

  • Need a little help with JFrame

    I have looked all over the net for my answer but guess i am just not putting two and two together.
    I want to be able and edit the size of this JFrame but can not figure out how to set the default size and i know it is something simple but just a little over my head as i am a newb. I appreciate any help offered.
    class Browser extends JFrame {
         private JButton button;
         public Browser() {
              button = new JButton("Open Browser");
              this.getContentPane().add(button);
              this.pack();
              this.setSize(500, 600);
              this.setLocationRelativeTo(null);
              this.setDefaultCloseOperation(EXIT_ON_CLOSE);
              this.setTitle("Browser Demo");
    Thanks again for your help.

    iheartgeeks wrote:
    I would suggest using GridBagLayout - this will allow you to specify the position of your components in the frame.As do all layout managers, to some degree.
    As Michael_Dunn said, you're using two sizing methods which are, I suspect, giving you undesirable results. Delete the pack and see what happens. Delete the set size and see what happens. If you need further assistance, trying being more specific about the expected results, desired results and actual results.Good try, but not quite there.
    Swing has a couple ways to specify component sizes:
    PreferredSize -- This is the size some layout managers (pretty much anything but Grid) use to determine a default starting size when computing your layout. Most components will calculate this for you without you doing anything.
    MinimumSize & MaximumSize -- Self explanatory
    Size -- The current size of the component. This will be probably be wiped out when any layout managers start messing around with your frame
    the .pack() call is actually more important than you think. It will compute the smallest container size that allows your components to be sized to at least their preferredSize. Note that this must be done before making the frame visible
    So in short, when setting up a Swing layout
    1) If you're using GridLayout, don't bother setting PreferredSize, everything gets the same size; otherwise, don't set PreferredSize explicitly until you need to.
    2) Call frame.pack() before frame.setVisible()
    3) Run your gui and see what happens. At this point, if any components need to have their PreferredSize set, do it now.

  • Need a little help with Slimbox (Lightbox clone) and Spry data sets

    Hello guys!
    First of all let me say that I'm not a programmer in any way,
    shape or form, and somehow I managed to build me a dynamic
    thumbnail gallery that reads data from an XML file and displays it
    on my webpage using a Spry data set and a slider widget (yay!)
    This is of course only thanks to the many great examples
    provided by the Adobe Spry team, and me being stubborn enough to
    keep at it, even though I don't really understand what I'm doing :D
    But I got to this point where I have basically everything
    working, except that I can't get the Slimbox (Lightbox clone)
    script to work with the Spry-generated thumbnail gallery.
    From what I could understand from other threads on this
    forum, is that I need to add an observer somewhere, only that I'm
    not sure where and how (those threads are pretty old and the
    examples aren't available anymore).
    I'm sure you guys know what I'm talking about, anyway, here's
    what I got so far:
    http://www.riotdesign.com.ar/misc/gallery/test1.html
    I have the thumbnail gallery populated from the external XML
    file, a basic page navigation using the Sliding Panels widget, and
    the Slimbox script which works only on the static test image.
    Okay I guess that's it for now, sorry for the long post and
    of course any help with this will be GREATLY appreciated :)
    Thanks & bye!

    Kev,
    Where exactly does the .evalScripts = true; text need to go?
    Does it go in the href call?
    <a href="ManageNotes.asp" title="Manage Notes" onClick="this.blur();
    Modalbox.show(this.href, {title: 'Manage Notes', width: 575}); return false;">View your notes.</a>
    Thanks for any assistance.
    J Bishop

  • Need a little help with RAF logic

    So Im making a program to give different users, different rights. This is the method that appends them to file and Map
         * Writes the players rights to the appendages
         * @param playerName Player to update
         * @param playerRights Rights to give the player
         * @param pointer The lines index in the files
         * @throws IOException If a read/write error occours
        public void writeRights(String playerName, Rights playerRights, long pointer) throws IOException {
            rightsRAF.seek(pointer);
            rightsRAF.write(("\n" + playerName + "::" + playerRights).getBytes());
            if(rightsRAF.read() != '\n') {
                rightsRAF.seek(rightsRAF.getFilePointer()-1);
                rightsRAF.write("\n".getBytes());
            rightsMap.put(playerName, playerRights);
        }1. The RAF goes to the predetermined index in the file, pointer, which is the line the users name starts on. Entries are stored in the file as "name::RIGHTS"
    2.It writes out the players name, and rights
    3. It checks to see if it accidentally wrote over the \n
    My problem now, is that some rights are longer than others. For example, if there was already an entry, "name::MODERATOR" and you overwrite it, with "name::OWNER" then it would turn into "name::OWNERATOR" because the rest of the line wasn't overwritten.
    I need some help with logic to determine how to overwrote the entire line, because sometimes you could go from a short one, to a long one, and need to append a new \n character, and sometimes you could go the other way around from long to short and end up with two words fused, I cant figure out how to determine whats a word that got partially overwritten and whats a new line totally.
    Thanks

    As pointed out you need to have fixed size records, or at least a maximum size.
    You also have another problem nobody commented on yet (I don't think) with the getBytes() calls. At that point in your code you will mangle most unicode Strings.
    All things being equal here I think your best solution is to use an embedded database like JavaDB with JDBC. I think you will find an XML solution to slow for your purposes.
    If you decide to continue the RAF route though here is an example. I know this is not exactly what you are doing but you can extrapolate from this...
    public void updatePlayerName(String playerName, int playerIndex){
       int recordlength = 200;  
       byte[] buff = playerName.getBytes("UTF-8");
       if(buff.length>recordlength){
          //truncate bytes. this is also not great because a character at the end could be mangled
          byte[] temp = new byte[recordlength];
          System.arraycopy(buff,0,temp,0,temp.length);
          buff = temp;
       long pointer = playerIndex * (recordlength+4);// plus 4 bytes per record for actual length
       raf.seek(pointer);
       raf.writeInt(buff.length);
       raf.write(buff);
    public String getPlayerName(int playerindex){
        int recordlength = 200;  
        long pointer = playerIndex * (recordlength+4);
        raf.seek(pointer);
        int lengthToRead = raf.readInt();
        //length to read should be checked for sanity or bad things will happen next
        byte[] buff = new byte[lengthToRead];
        raf. readFully(buff);
        return new String(buff,"UTF-8");
    }And then of course you'd have to add storing the "rights". It gets complicated in a hurry. I do really recommend the JDBC route.

  • Need a little help with a trivia game

    Hey guys I was wondering if I could get some help. I'm taking a class at school for java programming and its my first class. And I have to do a final assignment, which is to make a java trivia game. I have all the parts coded already pretty sure. Now be forewarned that I'm not "that" great at programming.
    But the part that I'm stuck on and cant really get any help on is this: For the game I need to have a file with all the questions and answers, which is created already and works. The file writer has the question, choice 1, choice 2, choice 3, choice 4 and the answer written to it, in that order. We needed to implement a GUI and I coded that as a message label on top where the question will go, in the middle 4 radio buttons where the choices to the answer will go and on the bottom a next question, ok and quit button.
    My question is this: How do I pull the information from the file that was written to appear in the GUI, such as the question and the choices for the answers for the question? ANY and ALL help would be appreciated

    Read the information using a BufferedReader wrapped around a FileReader. Change your GUI using setText on the component you want to display the text.
    Edit: An example that does both things
    import java.io.*;
    import javax.swing.*;
    public class FileAndSwing {
       public static void main(String[] args) throws Exception {
          BufferedReader reader = new BufferedReader(
                new FileReader("FileAndSwing.java"));
          StringBuilder builder = new StringBuilder();
          for ( String line = null; (line = reader.readLine()) != null; ) {
             builder.append(line).append("\n");
          JFrame frame = new JFrame("FileAndSwing.java");
          frame.setSize(500, 500);
          JTextArea field = new JTextArea();
          frame.add(field);
          field.setText(builder.toString());
          frame.setVisible(true);
    }This is also kind of a Quine :-).
    Edited by: endasil on 15-Dec-2009 4:00 PM

  • Hi there... I need a little help with buttons and their actions using flex builder 4.5

    I run a repo company and have zero experience in the developing applications and I could use some help from anybody that is willing to give it.... Here is a basic idea of what I need...  let's say there are 3 states... state 1 has a question that says "car you read this?" and a "yes" and a "no" button... when you select either answer, you go to slide 2.  Slide 2 with have a question like "Is the sky brown?" and a "yes" and a "no" button and when either button is selected, you are taken to Slide 3.  Slide 3 needs to be some sort of a text form that is created by the user selecting the buttons and the screen would say something like "yes, i can read this.  no, the sky is not brown", or "no, I can't read this.   yes, the sky is brown" .  I know how to get the buttons to take the user to the correct new slide, but I do not know how to get the buttons to insert specific text somewhere else when any button is selected.... Can anybody help me?  Youtube is only getting me so far, and my kids are driving me nuts while I'm trying to figure this monster out...  I've gotten several slides created and some screens have several buttons, I just need to see what I need to put in the code to get it to do this type of function 

    Also where can I read up on setting my .Xdefaults and xmonad.hs file? I ripped someones from this forum, and it works nice, but I want to make my onw, but cant find any decent documentation. Thanks.
    At the moment, the best source for configs are those posted in the screenshots thread (for both Xdefaults and xmonad.hs), the xmonad config archive (and the available docs from the root page on that site), and our own thread.  Unfortunately you'll have to sort of scrounge for good docs on the xmonad.hs at the moment, since most of the information was written for the 0.4 version of xmonad.  The configuration has since been made MUCH simpler.
    Hope that helps some.

  • Need a little help with some errors.

    Receiving some errors..
    btn2.addActionListener(new ActionListener() {
    and also
    frame.setLocation(400,400);
    frame.setVisible(true);
    }<<~~has 2 errors here...
    Both above have class or interface expected errors..clueless on what i'm missing at the moment.
    Anyone mind pointing out what {'s and }'s i'm missing?
         btn1.addActionListener(new ActionListener() {
                             public void actionPerformed(ActionEvent evt) {
                                  btn1actions();
              private void btn1actions() {
                   if (radio1.isSelected()) System.out.println("Radio Button 1 is selected.");
                   if (radio2.isSelected()) System.out.println("Radio Button 2 is selected.");
         btn2.addActionListener(new ActionListener() {
                                       public void actionPerformed(ActionEvent evt) {
                                            btn2actions();
                        private void btn2actions() {
                             if (radio1.isSelected()) System.out.println("Radio Button 1 is selected.");
                             if (radio2.isSelected()) System.out.println("Radio Button 2 is selected.");
                   btn3.addActionListener(new ActionListener() {
                                       public void actionPerformed(ActionEvent evt) {
                                            btn1actions();
                        private void btn3actions() {
                             txt1.setText("");
                             txt1.requestFocus();
    public static void main(String[] args) {
        Test2 frame = new Test2();
        frame.setTitle("Test Frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setLocation(400,400);
        frame.setVisible(true);
    }

    All my code..finally posted...just need help with more errors.
    F:\DocumentsTest2.java:169: ';' expected
              btn1.addActionListener(new ActionListener()) {
    ^
    F:\Documents\Test2.java:176: illegal start of expression
              private void btn1actions() {
    ^
    F:\Documents\Test2.java:191: illegal start of expression
              private void btn2actions() {
    ^
    F:\Documents\.java:202: illegal start of expression
              private void btn3actions() {
    ^
    4 errors
    Tool completed with exit code 1
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Test2 extends JFrame{
         static JButton btn1,btn2,btn3;
         static JTextField txt1;
         static JRadioButton radio1,radio2;
           public Test2() {
             Container container = getContentPane();
             container.setLayout(new BorderLayout());
              //Create Panels
                JPanel Panel1 = new JPanel();
                JPanel Panel2 = new JPanel();
                JPanel Panel3 = new JPanel();
                JPanel Panel4 = new JPanel();
                JPanel Panel5 = new JPanel();
                JPanel Panel6 = new JPanel();
                JPanel Panel7 = new JPanel();
                JPanel Panel8 = new JPanel();
                JPanel Panel9 = new JPanel();
                JPanel Panel10 = new JPanel();
              //Set Layout for Panels
              Panel3.setLayout(new BorderLayout());
              Panel4.setLayout(new BorderLayout());
              Panel5.setLayout(new BorderLayout());
              Panel6.setLayout(new BorderLayout());
              Panel10.setLayout(new BorderLayout());
              //Create the Various Fonts and Colors for this GUI
              Font font1 = new Font("SansSerif", Font.BOLD, 20);
              Font font2 = new Font("Serif", Font.PLAIN, 15);
              Color color1 = new Color(3,15,125);//A Dark Blue Color
              Color color2 = new Color(201,29,10);//A Red Color
              Color color3 = new Color(127,127,127);//A Grey Color
              //Create Buttons and Labels
             btn1 = new JButton("Submit");
             btn2 = new JButton("Display Schedule");
             btn3 = new JButton("Enter New Name");
             JLabel label1 = new JLabel("Student Name");
             JLabel label2 = new JLabel("Course Number");
              JLabel label3 = new JLabel("Welcome to the Java Community College");
              JLabel label4 = new JLabel("Registration System!");
              //Declare Text Field For Entering Student Names
              txt1 = new JTextField(15);
              //"Put Course Number from another Method Here"
              String[] courseStrings = { "CISM2230 A", "CISM2230 B", "CISM1110 A", "CISM1110 B", "CISM1120 A", "CISM1120 B" };
              JComboBox Combo1 = new JComboBox(courseStrings);
              //Declare Radio Buttons for Add and Drop Course
              radio1 = new JRadioButton("Add a Course", false);
              radio2 = new JRadioButton("Drop a Course", false);
              ButtonGroup radioButtons = new ButtonGroup();
              radioButtons.add(radio1);
              radioButtons.add(radio2);
              //Panel 10 is the Main Displaying Panel
              Panel10.add(Panel3, BorderLayout.NORTH);
              Panel10.add(Panel4, BorderLayout.CENTER);
              Panel10.add(Panel8, BorderLayout.SOUTH);
              //Panel 3 Used to Display Label 3 and 4 using Panels 1 and 2
              Panel3.add(Panel1, BorderLayout.NORTH);
              Panel3.add(Panel2, BorderLayout.CENTER);
              Panel1.add(label3);
             Panel2.add(label4);
              //Panel 4 Used to Display Student Name, Txt1, Course Number, Combo Box and Radio Buttons
             Panel5.add(label1, BorderLayout.NORTH);
             Panel5.add(txt1, BorderLayout.CENTER);
             Panel6.add(label2, BorderLayout.NORTH);
              Panel6.add(Combo1, BorderLayout.CENTER);
              Panel7.add(radio1, BorderLayout.NORTH);
              Panel7.add(radio2, BorderLayout.CENTER);
              Panel4.add(Panel5, BorderLayout.NORTH);
              Panel4.add(Panel6, BorderLayout.CENTER);
              Panel4.add(Panel7, BorderLayout.SOUTH);
              //Panel 8 Used to Display the Buttons
              Panel9.add(btn1, BorderLayout.CENTER);
              Panel9.add(btn2, BorderLayout.CENTER);
              Panel9.add(btn3, BorderLayout.SOUTH);
              Panel8.add(Panel9, BorderLayout.CENTER);
              //Setting Background, ForeGround and Font of all Text.
             Panel1.setBackground(color3);
             Panel2.setBackground(color3);
             Panel3.setBackground(color3);
             Panel4.setBackground(color3);
             Panel5.setBackground(color3);
             Panel6.setBackground(color3);
             Panel7.setBackground(color3);
             Panel8.setBackground(color3);
             Panel9.setBackground(color3);
             Panel10.setBackground(color3);
             btn1.setBackground(color3);
             btn2.setBackground(color3);
             btn3.setBackground(color3);
             radio1.setBackground(color3);
             radio2.setBackground(color3);
             btn1.setFont(font2);
             btn2.setFont(font2);
             btn3.setFont(font2);
             Combo1.setFont(font2);
             Combo1.setBackground(color3);
             Combo1.setForeground(color1);
             label1.setFont(font2);
             label2.setFont(font2);
             label3.setFont(font1);
             label4.setFont(font1);
             label1.setForeground(color2);
             label2.setForeground(color2);
             label3.setForeground(color1);
             label4.setForeground(color1);
             container.add(Panel10);
              //Setting Keyboard Shortcuts to Radio Buttons and Regular Buttons
              btn1.setMnemonic('S');
              btn2.setMnemonic('D');
              btn3.setMnemonic('E');
              radio1.setMnemonic('A');
              radio2.setMnemonic('C');
              //ActionListener
              btn1.addActionListener(new ActionListener()) {
                   public void actionPerformed(ActionEvent evt) {
                        btn1actions();
              private void btn1actions() {
                   if (radio1.isSelected()){ System.out.println("Radio Button 1 is selected. Button 1")};
                   if (radio2.isSelected()){ System.out.println("Radio Button 2 is selected. Button 1")};
              btn2.addActionListener(new ActionListener()) {
                   public void actionPerformed(ActionEvent evt) {
                                            btn2actions();
              private void btn2actions() {
                   if (radio1.isSelected()) System.out.println("Radio Button 1 is selected(Button 2).");
                   if (radio2.isSelected()) System.out.println("Radio Button 2 is selected.Button 2");
              btn3.addActionListener(new ActionListener()) {
                   public void actionPerformed(ActionEvent evt) {
                        btn1actions();
              private void btn3actions() {
                   txt1.setText("");
                   txt1.requestFocus();
         public static void main(String[] args) {
             JavaCollegeTest2 frame = new JavaCollegeTest2();
             frame.setTitle("Project 4");
             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             frame.setSize(400, 300);
             frame.setLocation(400,400);
             frame.setVisible(true);
    }

  • Almost there! Need a little help with CSS Menu

    Hi folks,
    I am almost there with a menu system.  The problems I discovered were mostly to do with layout.css nav elements interfering with my custom code.   http://bendannie2.businesscatalyst.com/flexi2.html 
    Here are the problems I can't seem to resolve.
    There appears a red diamond list element and I can't seem to remove it or find it in the Inspector on any css link
    the secondary menus blink and are hard to select on hover over tertiary menus (see On Sale>Cartier> )
    the tertiary menus are a little crowded towards the secondary menus.
    the css classes in inspector seem to repeat ad infinitum
    Any help most deeply appreciated...
    BTW, it works better on a smart phone!
    Jeff

    Thanks, Don't know why I didn't see that... 
    I'm stil having a problem with the hover area for selecting sub menus... The problem appears to be the js, I think!, I'm not qualified to analyze jquery. 
    The behaviors are as follows:
    The On Sale submenus stay active even when you roll off that menu and select another.
    The hover area after the first scrollover appears to be below the existing text of the top level and not on the text itself.
    there is something going on as you scroll down  through the submenus where they are blinking on and off as you pass each sub tab...   This uses jQuery 1.7.2, so if that has been fixed in a later edition, I don't know... 
    Perhaps it is the way I set the CSS but I didn't, to my knowledge, change a hover/selection area for the menus...
    TIA,
    JEff

Maybe you are looking for

  • Configure New TM on a New Macbook pro with retina display Issue

    I have bought a new New Macbook pro with retina display laptop (Lion moutain OS)and a new TM (2TB). I have an internet router with wireless connect. I plugged TM to the router with an ethernet cable. Connect my TM to my macbook with an ethernet cable

  • Itu2019s showing confirmed qty more that order qty in sales order

    Dear Guru's I am working on production server issue; the issue is delivery has been created more that sales order qty.  When I am seeing sales Oder schedule lines itu2019s showing confirmed qty more that order qty in sales order what could be the rea

  • CS4: Spacing conflict between Firefox & IE - again :(

    I've posted here before on this topic and the answer always seems to come down to margin and/or padding properties. But I've been through my CSS file for this page again and again and I seem to be missing the issue. The same CSS file controls other p

  • BDC doubt.......

    Hi, I have to write a BDC which will update vendor master data for transaction FK01. User enters in FK01 and enetsres data in NAM1 and STREET field everyday. In the evening we need to write a BDC which will copy NAME1 to NAME3 and STREET to STREET4.

  • Interface Issue in PI7.1 - Unable to find receiver

    Hi, I have a strange issue cropping up. An interface has gone for production. Now due to some support packs being installed on the target side, they are testing few interfaces in Dev environment again. But this time it is not working. This interface