Calendar gui for text string

I want to create a pop-up calendar looking gui that will show when the user clicks on the text field.
example) user will click on text field below
Time:_______________
...and something like this will pop-up:
< day >
< month >
< year >
...and they can push the arrow buttons to move left and right the corresponding day, month, year.
My question is if anyone knows anywhere I can find examples of something like this. I have never done anything of this sort before and don't know where to begin!

I do a lot of looking for components that I can use in any applications I am building. I don't often post on the forum, but your questions seemed to be one that I could help you out with.

Similar Messages

  • How to modify  the search results of the GUI for subscribing to calendars

    How to modify the search results of the GUI for subscribing to calendars
    Note:
    <OL>
    <LI>The following information applies only to iPlanet Calendar Server 5.0
    Patch 3.
    <LI>All of the cases for which the XSLT changes will work have not been
    verified.
    <LI>The following is only an example of an XSLT customization.
    </OL>
    The example below shows a sample customization of the
    search_for_calendars
    dialog. This customization will result in the Display Name being included as
    part of the search results in the GUI, which would normally show just the
    calendar ID. It will render the returned calendars in the following format:
    <P>
    Display Name - <I>description</I>
    <P>
    Normally, the format would be as follows:
    <P>
    Calendar-ID - <I>description</I>
    <P>
    </A>
    The example consists of the following two files:
    <P>
    <OL>
    <LI>search_for_calendars_common.xsl
    (the entire XSLT file)
    <P>
    <LI>diffctx.txt
    (the context sensitive diff patch file,
    which basically shows only the changes that need to be made)
    </OL>
    <P>
    <HR>
    </A><B>
    search_for_calendars_common.xsl</B>
    <?xml version="1.0" ?>
    <!DOCTYPE xsl:stylesheet (View Source for full doctype...)>
    - <!--
    set the output properties
    <xsl:stylesheet
    xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"
    result-ns="http://www.w3.org/TR/REC-html40">
    -->
    - <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
    - <!-- set the output properties
    -->
    <xsl:output method="html" encoding="ISO-8859-1" />
    <xsl:include href="data/common.xsl" />
    <xsl:include href="data/i18n.xsl" />
    <xsl:include href="data/date_format.xsl" />
    <xsl:include href="data/dialog_tabs.xsl" />
    - <xsl:template match="/">
    <xsl:apply-templates select="calendar" />
    </xsl:template>
    - <xsl:template match="calendar">
    - <xsl:choose>
    - <xsl:when test="@top='true'">
    - <xsl:variable name="Frame1">
    <xsl:value-of select="frame[1]" />
    </xsl:variable>
    - <xsl:variable name="Frame2">
    <xsl:value-of select="frame[2]" />
    </xsl:variable>
    - <xsl:variable name="Frame3">
    <xsl:value-of select="frame[3]" />
    </xsl:variable>
    - <xsl:variable name="tab_value">
    <xsl:value-of select="@tab" />
    </xsl:variable>
    - <HTML>
    - <HEAD>
    <xsl:call-template name="contextJavascript" />
    <TITLE>Calendars Search: Calendar Express - iPlanet</TITLE>
    </HEAD>
    - <FRAMESET border="0" frameborder="0" rows="77,*,71">
    <FRAME name="tab" marginheight="0" marginwidth="0" scrolling="no"
    scrollbars="no" src="{$Frame1}" />
    <FRAME name="main" frameborder="0" src="{$Frame2}" />
    <FRAME name="button" marginheight="0" marginwidth="0" scrolling="no"
    scrollbars="no" frameborder="0" src="{$Frame3}" />
    </FRAMESET>
    </HTML>
    </xsl:when>
    - <xsl:when test="@view='searchProperties'">
    - <xsl:for-each select="group">
    - <xsl:if test="@name='searchProperties'">
    <xsl:call-template name="search_toolbar" />
    </xsl:if>
    </xsl:for-each>
    </xsl:when>
    - <xsl:when test="@view='main'">
    - <xsl:for-each select="group">
    - <xsl:if test="@name='main'">
    <xsl:call-template name="main" />
    </xsl:if>
    </xsl:for-each>
    </xsl:when>
    - <xsl:when test="@view='button'">
    - <xsl:for-each select="group">
    - <xsl:if test="@name='button'">
    <xsl:call-template name="button_root" />
    </xsl:if>
    </xsl:for-each>
    </xsl:when>
    - <xsl:otherwise>
    - <html>
    What's this view? (search_for_cals.xsl) -
    <xsl:value-of select="@view" />
    </html>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:template>
    - <xsl:template name="search_toolbar">
    - <HTML>
    <xsl:call-template name="emit_frame_head_tag" />
    - <BODY bgcolor="{$bgcolor_background}" background="imx/tdbg.gif"
    marginwidth="0" marginheight="0" onload="window.focus()">
    - <FORM>
    - <xsl:attribute name="action">
    <xsl:value-of select="./formdata@action" />
    </xsl:attribute>
    <xsl:attribute name="name">form</xsl:attribute>
    <xsl:attribute name="onSubmit">document.forms[0]['find'].click(); return false;
    </xsl:attribute>
    <xsl:apply-templates select="formdata" />
    - <CENTER>
    - <TABLE border="0" cellpadding="2" cellspacing="0" width="100%" height="100%">
    - <TR>
    - <TD align="center">
    - <TABLE border="0" cellpadding="3" cellspacing="1">
    - <TR>
    - <TD colspan="4">
    <FONT size="{$font_size_big_2}" face="{$font_name}">Find all calendars where
    the calendar</FONT>
    </TD>
    </TR>
    - <TR>
    - <TD valign="baseline">
    - <FONT size="{$font_size_big_2}" face="{$font_name}">
    - <SELECT name="which">
    <OPTION value="name;calid">name or ID</OPTION>
    <OPTION value="name">name</OPTION>
    <OPTION value="primaryOwner">primary owner</OPTION>
    <OPTION value="calid">ID</OPTION>
    </SELECT>
    </FONT>
    </TD>
    - <TD valign="baseline">
    - <FONT size="{$font_size_big_2}" face="{$font_name}">
    - <SELECT name="how">
    <OPTION value="0">contains</OPTION>
    <OPTION value="1">begins with</OPTION>
    </SELECT>
    </FONT>
    </TD>
    - <TD valign="baseline">
    <INPUT type="text" name="what" />
    </TD>
    - <TD valign="baseline">
    - <FONT size="{$font_size_big_2}" face="{$font_name}">
    - <INPUT type="button" name="find" value="Find">
    - <xsl:attribute name="onClick">
    <xsl:value-of select="./button[@name='find']" />
    </xsl:attribute>
    </INPUT>
    </FONT>
    </TD>
    </TR>
    </TABLE>
    </TD>
    </TR>
    </TABLE>
    </CENTER>
    </FORM>
    </BODY>
    </HTML>
    </xsl:template>
    - <xsl:template name="main">
    - <HTML>
    <xsl:call-template name="emit_frame_head_tag" />
    - <BODY bgcolor="{$bgcolor_background}" background="imx/tdbg.gif"
    marginwidth="0" marginheight="0">
    - <FORM name="form" method="post">
    - <xsl:attribute name="action">
    <xsl:value-of select="./formdata@action" />
    </xsl:attribute>
    <xsl:attribute name="name">form</xsl:attribute>
    <xsl:apply-templates select="formdata" />
    <INPUT type="hidden" name="how" value="0" />
    <INPUT type="hidden" name="which" value="name;calid" />
    <INPUT type="hidden" name="what" value=" />
    <INPUT type="hidden" name="selectedGroup" />
    - <xsl:if test="(./calsearchresults/nomatch)">
    - <!-- print no match found
    -->
    &#38;nbsp;
    &#38;nbsp;
    No Match Found
    </xsl:if>
    - <xsl:for-each select="./calsearchresults/searchresultcal">
    - <P>
    &#38;nbsp;
    &#38;nbsp;
    - <FONT size="{$font_size_big_2}" face="{$font_name}">
    - <FONT size="{$font_size_big}" face="{$font_name}">
    Owner:
    <xsl:value-of select="@owner" />
    <FONT size="{$font_size_big}" face="{$font_name}" color="{$bgcolor_wend_mid}">|
    </FONT>
    Calendar ID:
    <xsl:value-of select="@id" />
    <BR />
    </FONT>
    - <FONT size="{$font_size_big_2}" face="{$font_name}">
    - <xsl:choose>
    - <xsl:when test="@subscribed='false'">
    &#38;nbsp;
    &#38;nbsp;
    - <INPUT type="checkbox" name="calendar">
    - <xsl:attribute name="value">
    <xsl:value-of select="@name" />
    </xsl:attribute>
    </INPUT>
    &#38;nbsp;
    &#38;nbsp;
    - <A target="_blank">
    - <xsl:attribute name="href">
    <xsl:value-of select="@viewCommand" />
    </xsl:attribute>
    <xsl:value-of select="@name" />
    </A>
    </xsl:when>
    - <xsl:otherwise>
    &#38;nbsp;
    &#38;nbsp;
    - <A target="_blank">
    - <xsl:attribute name="href">
    <xsl:value-of select="@viewCommand" />
    </xsl:attribute>
    <xsl:value-of select="@name" />
    </A>
    &#38;nbsp;
    (Subscribed)
    </xsl:otherwise>
    </xsl:choose>
    - <xsl:if test="string-length(@description) > 0">
    &#38;nbsp;
    &#38;nbsp;
    - <FONT size="{$font_size_big}" face="{$font_name}">
    <xsl:value-of select="@description" />
    </FONT>
    </xsl:if>
    </FONT>
    </FONT>
    </P>
    </xsl:for-each>
    </FORM>
    </BODY>
    </HTML>
    </xsl:template>
    </xsl:stylesheet>
    <P>
    <A HREF="#back">Back</A>
    <P>
    <HR>
    </A>
    <B>diffctx.txt</B>
    Index: search_for_calendars_common.xsl
    ===================================================================
    RCS file: /m/src/ns/server/msg/calendar/core/html/search_for_calendars_common.xsl,v
    retrieving revision 1.1.2.14
    diff -c -r1.1.2.14 search_for_calendars_common.xsl
    *** search_for_calendars_common.xsl 2000/12/12 23:10:43 1.1.2.14
    --- search_for_calendars_common.xsl 2001/03/15 23:55:19
    *** 182,188 ****
    &#38;nbsp; &#38;nbsp;
    <INPUT type="checkbox" name="calendar">
    <xsl:attribute name="value">
    ! <xsl:value-of select="@id"/>
    </xsl:attribute>
    </INPUT>
    &#38;nbsp; &#38;nbsp;
    --- 182,188 ----
    &#38;nbsp; &#38;nbsp;
    <INPUT type="checkbox" name="calendar">
    <xsl:attribute name="value">
    ! <xsl:value-of select="@name"/>
    </xsl:attribute>
    </INPUT>
    &#38;nbsp; &#38;nbsp;
    *** 190,196 ****
    <xsl:attribute name="href">
    <xsl:value-of select="@viewCommand"/>
    </xsl:attribute>
    ! <xsl:value-of select="@id"/>
    </A>
    </xsl:when>
    <xsl:otherwise>
    --- 190,196 ----
    <xsl:attribute name="href">
    <xsl:value-of select="@viewCommand"/>
    </xsl:attribute>
    ! <xsl:value-of select="@name"/>
    </A>
    </xsl:when>
    <xsl:otherwise>
    *** 199,205 ****
    <xsl:attribute name="href">
    <xsl:value-of select="@viewCommand"/>
    </xsl:attribute>
    ! <xsl:value-of select="@id"/>
    </A>
    &#38;nbsp;(Subscribed)
    </xsl:otherwise>
    --- 199,205 ----
    <xsl:attribute name="href">
    <xsl:value-of select="@viewCommand"/>
    </xsl:attribute>
    ! <xsl:value-of select="@name"/>
    </A>
    &#38;nbsp;(Subscribed)
    </xsl:otherwise>
    <P>
    <A HREF="#back">Back</A>

    Maybe on the Google API s page?

  • Searching for a string in given text file

    Hi,
    I have two strings and i need to search the entire file for the strings and highlight the lines between the strings
    say, for example,
    hi this is xyz
    i am a begineer in java
    can i have some help in this issue please
    i gave 'hi' and 'can' i need the three lines to be highlighted
    can you give me an idea about this.
    how to proceed
    thanks all in advance
    Edited by: anub on Feb 6, 2009 3:24 AM

    Here's an idea. Find a link to the java API. Create a utility class with a method to read a file and a method to write a file. Look in java.io for this. That should keep you busy for a while and give you something specific to ask questions about. Next, create a GUI class and put a button on it. Figure out how to make a button click open a "FileChooser" or "JFileChooser" (Look in the api for that) Imagine that these need to talk to each other so figure out what parameters are needed. After you've done that then figure out how the user is going to enter the two search criteria (something that acts like a text field). Choose a GUI class that supports text highlighting. Display all the information that the user would like to know e.g. The name of the file selected to parse, the name of the file to write, and whether the strings were found successfully.
    kr
    walker

  • Multi-language support for user-specified text strings used in the forms

    multi-language support for user-specified text strings used in the forms
    Instead of creating multiple forms, 1 in each different language, for the same service, is there any workaround?

    Hoan - is your question what are the considerations when creating multiligual catalogs? If so, I can tell you that at other clients I have seen them use a single catalog for one or two languages. For the two langugages, such as Spanish/English, you can create a single catalog with both of them. Once you get to more than two languages, the catalog would get unweildy and is therefore not suggested.

  • Script to search all files in specified folder for multiple string text values listed in a source file and output each match to one single results txt file

    I have been searching high and low for this one.  I have a vbscript that can successfully perform the function if one file is listed.  It does a Wscript.echo on the results and if I run this via command using cscript, I can output to a text file
    that way.  However, I cannot seem to get it to work properly if I want it to search ALL the files in the folder.  At one point, I was able to have it create the output file and appear as if it worked, but it never showed any results when the script
    was executed and folder was scanned.  So I am going back to the drawing board and starting from the beginning.
    I also have a txt file that contains the list of string text entries I would like it to search for.  Just for testing, I placed 4 lines of sample text and one single matching text in various target files and nothing comes back.  The current script
    I use for each file has been executed with a few hundred string text lines I want it to search against to well over one thousand.  It might take awhile, but it works every time. The purpose is to let this run against various log files in a folder and
    let it search.  There is no deleting, moving, changing of either the target folder/files to run against, nor of the file that contains the strings to search for.  It is a search (read) only function, going thru the entire contents of the folder and
    when done, performs the loop function and onto the next file to repeat the process until all files are searched.  When completed, instead of running a cscript to execute the script and outputting the results to text, I am trying to create that as part
    of the overall script.  Saving yet another step for me to do.
    My current script is set to append to the same results file and will echo [name of file I am searching]:  No errors found.  Otherwise, the
    output shows the filename and the string text that matched.  Because the results append to it, I can only run the script against each file separately or create individual output names.  I would rather not do that if I could include it all in one.
     This would also free me from babysitting it and running each file script separately upon the other's completion.  I can continue with my job and come back later and view the completed report all in one.  So
    if I could perform this on an entire folder, then I would want the entries to include the filename, the line number that the match occurred on in that file and the string text that was matched (each occurrence).  I don't want the entire line to be listed
    where the error was, just the match itself.
    Example:  (In the event this doesn't display correctly below, each match, it's corresponding filename and line number all go together on the same line.  It somehow posted the example jumbled when I listed it) 
    File1.txt Line 54 
    Job terminated unexpectedly
     File1.txt Line 58 Process not completed
    File1.txt
    Line 101 User input not provided
    File1.txt
    Line 105  Process not completed
    File2.txt
    No errors found
    File3.txt
    Line 35 No tape media found
    File3.txt
    Line 156 Bad surface media
    File3.txt Line 188
    Process terminated
    Those are just random fake examples for this post.
    This allows me to perform analysis on a set of files for various projects I am doing.  Later on, when the entire search is completed, I can go back to the results file and look and see what files had items I wish to follow up on.  Therefore, the
    line number that each match was found on will allow me to see the big picture of what was going on when the entry was logged.
    I actually import the results file into a spreadsheet, where further information is stored regarding each individual text string I am using.  Very useful.
    If you know how I can successfully achieve this in one script, please share.  I have seen plenty of posts out there where people have requested all different aspects of it, but I have yet to see it all put together in one and work successfully.
    Thanks for helping.

    I'm sorry.  I was so consumed in locating the issue that I completely overlooked posting what exactly I was needing  help with.   I did have one created, but I came across one that seemed more organized than what I originally created.  Later
    on I would learn that I had an error in log location on my original script and therefore thought it wasn't working properly.  Now that I am thinking that I am pretty close to achieving what I want with this one, I am just going to stick with it.
    However, I could still use help on it.  I am not sure what I did not set correctly or perhaps overlooking as a typing error that my very last line of this throws an "Expected Statement" error.  If I end with End, then it still gives same
    results.
    So to give credit where I located this:
    http://vbscriptwmi.uw.hu/ch12lev1sec7.html
    I then adjusted it for what I was doing.
    What this does does is it searches thru log files in a directory you specify when prompted.  It looks for words that are contained in another file; objFile2, and outputs the results of all matching words in each of those log files to another file:  errors.log
    Once all files are scanned to the end, the objects are closed and then a message is echoed letting you know (whether there errors found or not), so you know the script has been completed.
    What I had hoped to achieve was an output to the errors.log (when matches were found) the file name, the line number that match was located on in that file and what was the actual string text (not the whole line) that matched.  That way, I can go directly
    to each instance for particular events if further analysis is needed later on.
    So I could use help on what statement should I be closing this with.  What event, events or error did I overlook that I keep getting prompted for that.  Any help would be appreciated.
    Option Explicit
    'Prompt user for the log file they want to search
    Dim varLogPath
    varLogPath = InputBox("Enter the complete path of the logs folder.")
    'Create filesystem object
    Dim oFSO
    Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
    'Creates the output file that will contain errors found during search
    Dim oTSOut
    Set oTSOut = oFSO.CreateTextFile("c:\Scripts\errors.log")
    'Loop through each file in the folder
    Dim oFile, varFoundNone
    VarFoundNone = True
    For Each oFile In oFSO.GetFolder(varLogPath).Files
        'Verifies files scanned are log files
        If LCase(Right(oFile.Name,3)) = "log" Then
            'Open the log file
            Dim oTS
            oTS = oFSO.OpenTextFile(oFile.Path)
            'Sets the file log that contains error list to look for
            Dim oFile2
            Set oFile2 = oFSO.OpenTextFile("c:\Scripts\livescan\lserrors.txt", ForReading)
            'Begin reading each line of the textstream
            Dim varLine
            Do Until oTS.AtEndOfStream
                varLine = oTS.ReadLine
                Set objRegEx = CreateObject("VBScript.RegExp")
                objRegEx.Global = True  
                Dim colMatches, strName, strText
                Do Until oErrors.AtEndOfStream
                    strName = oFile2.ReadLine
                    objRegEx.Pattern = ".{0,}" & strName & ".{0,}\n"
                    Set colMatches = objRegEx.Execute(varLine)  
                    If colMatches.Count > 0 Then
                        For Each strMatch in colMatches 
                            strText = strText & strMatch.Value
                            WScript.Echo "Errors found."
                            oTSOut.WriteLine oFile.Name, varLine.Line, varLine
                            VarFoundNone = False
                        Next
                    End If
                Loop
                oTS.Close
                oFile2.Close
                oTSOut.Close
                Exit Do
                If VarFoundNone = True Then
                    WScript.Echo "No errors found."
                Else
                    WScript.Echo "Errors found.  Check logfile for more info."
                End If
        End if

  • How to search for a text string in Reports designer?

    In iDS reports (10gR2), I want to search from top down for a text string was used in one of the queries or triggers. In Forms, you can do it, in reports the related menu item is always seems to be grayed out no matter what item I pick in the Navigator. Is it doable or not? If yes, then how. I don't wanna open each program piece including the queries in the data model, report triggers or program units and look for (by visual scanning) for the text I am searching for. This is crazy. There must be a way to do it. Thanx.

    That is pretty bad for such an expensive report development program. The forms allows it, I wonder why Oracle did not include similar functionality in the reports developer. I knew the conversion to ascii, but during development it is pain in the ... just to search for a simple text string in the related program units in the report, to convert to ascii, do the search and then go back to the developer. Anyway, if that is the only way, there is nothing we can do I guess :(

  • Looking for a way to monitor forums for a text string.

    Hi as the subject says I'm looking for a way to monitor various forums for a list of text strings and give me a link to the post. I'm have tried googling but cant find anything specific enough I've tried looking at methabot but am unsure as to if this is the right sort of program, anyone with any experience or ideas in this area would be much appreciated.
    thanks in advance.

    you could write a daemon method which would, every so often, search the forums for the keyword.
    Better yet, you can use google's "site: bbs.archlinux.org keyword format to do your search.
    But, be sure not to do it too often. If you keep banging a particular forum website too often, your ip might get banned.

  • Where can I find the appropriate text string for China Time zone?

    Hi,
    Where can I find the appropriate text string for China Time zone?

    Hi,
    The following timezone strings are supported in Oracle8i 8.1.7:
    AST, ADT: Atlantic Standard or Daylight Time
    BST, BDT: Bering Standard or Daylight Time
    CST, CDT: Central Standard or Daylight Time
    EST, EDT: Eastern Standard or Daylight Time
    GMT: Greenwich Mean Time
    HST, HDT: Alaska-Hawaii Standard Time or Daylight Time.
    MST, MDT: Mountain Standard or Daylight Time
    NST: Newfoundland Standard Time
    PST, PDT: Pacific Standard or Daylight Time
    YST, YDT: Yukon Standard or Daylight Time
    Since your's isn't one of these, I'm hoping this is in reference to the Web Agent's ORDWEBUTL package, in which case, you can use an offset from GMT instead. For example, here in New Hampshire, USA, we are 5 hours behind GMT, so the offset would be -5, while in France, it would be +1 as they are one hour in front of GMT. According to my Windows clock, Beijing is GMT +8. Of course, you'll have to figure daylight-savings time into the equation, if you have to deal with such changes.
    Regards,
    Simon
    null

  • Anything simple I can add to a GUI for some extra credit?

    I had to write a GUI for my COMP class this time, and if we add anything extra, we can get some extra points..which would be quite nice.
    I have the GUI made and working as we were shown how to do, and now I would like to add some extra things to make it better.
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Tuition extends JFrame
        private JLabel stateResL, credsL, typeL, tuitFeeL, actFeeL;
        private JTextField stateResTF, credsTF, typeTF, tuitFeeTF, actFeeTF;
        private JButton calculateB, exitB;
        private CalculateButtonHandler cbHandler;
        private ExitButtonHandler ebHandler;
        public Tuition()
            stateResL = new JLabel ("Is Student a TN State Resident? 1 = yes, 0 = no ", SwingConstants.RIGHT);
            credsL = new JLabel ("Enter number of credits presently being taken: ", SwingConstants.RIGHT);
            typeL = new JLabel ("Is student an undergraduate = 0, or graduate student = 1? ", SwingConstants.RIGHT);
            actFeeL = new JLabel ("Activity Fee: ", SwingConstants.RIGHT);
            tuitFeeL = new JLabel ("Tuition amount owed = $", SwingConstants.RIGHT);
            //text fields
            stateResTF = new JTextField(10);
            credsTF = new JTextField(10);
            typeTF = new JTextField(10);
            actFeeTF = new JTextField(10);
            tuitFeeTF = new JTextField(10);
             //calculate button
            calculateB = new JButton ("Calculate Tuition");
            cbHandler = new CalculateButtonHandler();
            calculateB.addActionListener(cbHandler);
            //exit button
            exitB = new JButton ("Exit");
            ebHandler = new ExitButtonHandler();
            exitB.addActionListener(ebHandler);
            //set title of window
            setTitle("Tuition and extra Fees");
            //get container
            Container pane = getContentPane();
            //set layout
            pane.setLayout (new GridLayout (6, 2));
            //place components in pane
            pane.add (stateResL);
            pane.add (stateResTF);
            pane.add (credsL);
            pane.add (credsTF);
            pane.add (typeL);
            pane.add (typeTF);
            pane.add (tuitFeeL);
            pane.add (tuitFeeTF);
            pane.add (actFeeL);
            pane.add (actFeeTF);
            pane.add (calculateB);
            pane.add (exitB);
            setSize (WIDTH, HEIGHT);
            setVisible (true);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
        private class CalculateButtonHandler implements ActionListener
            public void actionPerformed (ActionEvent e)
                //computes activity fee and tuition and sets them to respective variables
                double tuition = 0;
                double actFee = 0;
                int credits, stateRes, type;
                type = Integer.parseInt(typeTF.getText());
                stateRes = Integer.parseInt(stateResTF.getText());
                credits = Integer.parseInt(credsTF.getText());
                if (credits >= 6)
                       actFee = 44;
                else
                    actFee = 6 * credits;
                if (stateRes == 0)
                        if (type == 1 || type == 0)
                            tuition = ((448 * credits) + actFee);
                else if (stateRes == 1)
                        if (type == 0)
                            tuition = ((241 * credits ) + actFee);
                        else if (type == 1)
                            tuition = ((343 * credits ) + actFee);
                    actFeeTF.setText ("" + actFee);
                    tuitFeeTF.setText ("" + tuition);
            private class ExitButtonHandler implements ActionListener
                public void actionPerformed (ActionEvent e)
                    System.exit(0);
    }I don't care for something way out of my league (I'm only in my second semester of actually doing "tough" stuff. Maybe something that would change the colors of the text fields where the questions are, or change the color of the font printed, or change the font type, maybe add a logo or something for a school (it's a tuition calculator).
    I looked through the API but reading over class names doesn't do much for me, and I searched Google a bit but most of the stuff I found seemed pretty difficult/beyond my knowledge.

    alright...I fixed the messy issue, but I don't know how to setup the action listeners or whatever...
    I need my calculate tuition method to work using the radio buttons, and I don't know how to set up the listeners correctly.
    I can't find a single example on the internet that does anything like what I'm doing that I can use as a reference. I need something using radio buttons that calculates another number based on the results of the radio buttons...like what mine should do.
    This has got to be a noob question, but I just can't get it to work....
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Tuition extends JFrame
        private JLabel stateResL, credsL, typeL, tuitFeeL, actFeeL;
        private JTextField stateResTF, credsTF, typeTF, tuitFeeTF, actFeeTF;
        private JButton gradB, calculateB, exitB;
        private CalculateButtonHandler cbHandler;
        private ExitButtonHandler ebHandler;
        private StateResButtonHandler srbHandler;
        private NonStateResButtonHandler nsrbHandler;
        private UndGradButtonHandler ugbHandler;
        private GradButtonHandler gbHandler;
        /** extra */
        JScrollBar scrollbar_h_1;
        JScrollBar scrollbar_v_1;
        JRadioButton undGradRB, gradRB, stateResRB, nonStateResRB;
        ButtonGroup radioGroup1, radioGroup2;
        static String stateResString = "Resident";
        static String nonResString = "Non-Resident";
        static String undGradString = "Undergraduate";
        static String gradString = "Graduate";
        public Tuition()
            getContentPane().setFont(new Font("Arial", Font.ITALIC, 12));
            getContentPane().setBackground(Color.blue);
            stateResL = new JLabel ("Is Student a TN State Resident? ", SwingConstants.RIGHT);
            credsL = new JLabel ("Enter number of credits presently being taken: ", SwingConstants.RIGHT);
            typeL = new JLabel ("Is student an undergraduate, or graduate student? ", SwingConstants.RIGHT);
            actFeeL = new JLabel ("Activity Fee: ", SwingConstants.RIGHT);
            tuitFeeL = new JLabel ("Tuition amount owed = $", SwingConstants.RIGHT);
            //text fields
            credsTF = new JTextField(10);
            actFeeTF = new JTextField(10);
            tuitFeeTF = new JTextField(10);
             //calculate button
            calculateB = new JButton ("Calculate Tuition");
            cbHandler = new CalculateButtonHandler();
            calculateB.addActionListener(cbHandler);
            //exit button
            exitB = new JButton ("Exit");
            ebHandler = new ExitButtonHandler();
            exitB.addActionListener(ebHandler);
            radioGroup1 = new ButtonGroup();
            JRadioButton stateResButton = new JRadioButton(stateResString);
            stateResButton.setMnemonic(KeyEvent.VK_B);
            stateResButton.setActionCommand(stateResString);
            stateResButton.setSelected(true);
            JRadioButton nonResButton = new JRadioButton(nonResString);
            nonResButton.setMnemonic(KeyEvent.VK_B);
            nonResButton.setActionCommand(nonResString);
            radioGroup1.add (stateResButton);
            radioGroup1.add (nonResButton);
            radioGroup2 = new ButtonGroup();
            JRadioButton undGradButton = new JRadioButton(undGradString);
            undGradButton.setMnemonic(KeyEvent.VK_B);
            undGradButton.setActionCommand(undGradString);
            undGradButton.setSelected(true);
            JRadioButton gradButton = new JRadioButton(gradString);
            gradButton.setMnemonic(KeyEvent.VK_B);
            gradButton.setActionCommand(gradString);
            radioGroup2.add(undGradButton);
            radioGroup2.add(gradButton);
            srbHandler = new StateResButtonHandler();
            stateResButton.addActionListener(stateResString);
            nrbHandler = new NonResButtonHandler();
            nonResButton.addActionListener(nonResString);
            ugbHandler = new UndGradButtonHandler();
            undGradButton.addActionListener(undGradString);
            gbHandler = new GradButtonHandler();
            gradButton.addActionListener(gradString);
            //set title of window
            setTitle("Tuition and extra Fees");
            //get container
            Container pane = getContentPane();
            //set layout
            pane.setLayout (new GridLayout (6, 2));
            JPanel radioPanel = new JPanel(new GridLayout(0, 1));
            radioPanel.add(stateResButton);
            radioPanel.add(nonResButton);
             JPanel radioPanel2 = new JPanel(new GridLayout(0, 1));
             radioPanel2 = new JPanel (new GridLayout(0, 1));
             radioPanel2.add (undGradButton);
             radioPanel2.add (gradButton);
            //place components in pane
            pane.add (stateResL);
            add(radioPanel);
            pane.add (credsL);
            pane.add (credsTF);
            pane.add (typeL);
            add(radioPanel2);
            pane.add (actFeeL);
            pane.add (actFeeTF);
            pane.add (tuitFeeL);
            pane.add (tuitFeeTF);
            pane.add (calculateB);
            pane.add (exitB);
            setSize (WIDTH, HEIGHT);
            setVisible (true);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            /** EXTRA - EXTRA - EXTRA */
            calculateB.setToolTipText("Click this button to calculate tuition and activity fee.");
            exitB.setToolTipText("Click this button to exit the program.");
        private class CalculateButtonHandler implements ActionListener
            public void actionPerformed (ActionEvent e)
                //computes activity fee and tuition and sets them to respective variables
                double tuition = 0;
                double actFee = 0;
                int credits, stateRes, type;
                type = Integer.parseInt(typeTF.getText());
                stateRes = Integer.parseInt(stateResTF.getText());
                credits = Integer.parseInt(credsTF.getText());
                if (credits >= 6)
                       actFee = 44;
                else
                    actFee = 6 * credits;
                if (stateRes == 0)
                        if (type == 1 || type == 0)
                            tuition = ((448 * credits) + actFee);
                else if (stateRes == 1)
                        if (type == 0)
                            tuition = ((241 * credits ) + actFee);
                        else if (type == 1)
                            tuition = ((343 * credits ) + actFee);
                    actFeeTF.setText ("" + actFee);
                    tuitFeeTF.setText ("" + tuition);
            private class ExitButtonHandler implements ActionListener
                public void actionPerformed (ActionEvent e)
                    System.exit(0);
            private class StateResButtonHandler implements ActionListener
                public void actionPerformed (ActionEvent e){
            private class NonStateResButtonHandler implements ActionListener
                public void actionPerformed (ActionEvent e){
            private class UndGradButtonHandler implements ActionListener
                public void actionPerformed (ActionEvent e) {
            private class GradButtonHandler implements ActionListener
                public void actionPerformed (ActionEvent e) {
    }the calculateB and exitB listeners work, but I have nothing setup for the others that works. And the calculate button doesn't work because it isn't getting any info from the buttons.
    I get addActionListener(Java.awt.event.ActionListener) in Javax.swing.AbstractButton cannot be applied to (java.lang.String). on the listeners I attempted to add within the constructor....

  • Calendar Functionality for a date field in HTML of  a ITS service

    Hi
    I am working with SRM EBP module we want to add date help(with calendar function) to existign date fields in Shopping cart and PO screens . I found some HTML and Javascripts in SYSTEM and BBPGLOBAL services (named as calendar)but not sure which ones to use if anyone used date functionality or even have access to Standard SAP ITS screens that already have date field with calendar fuctionality can you help???????????????
    Thanks in Advance

    Hi
    Let me first thank you for the quick response and timely help you provided calendar popup works great but one minor issue i am not able to click on the date entry and bring the field back into the field not sure if this funcitonality is in show_calendar.
    I would really appreciate if you get time to look at below i am almost there with your help......thanks again
    Here are the steps I did
    I have a HTML page  SAPLBBP_SC_UI_ITS screen 300 in SRM module , I created a new HTML page (zcalendar.html) in the same internet service BBPSC01 as suggested and I included in my HTML page SAPLBBP_SC_UI_ITS screen 300 and also I added below code to add a icon and a href call to the show_calendar function.
    Code works great I get the popup but when I double click on the date it is not selecting the date into the field back .
    Any thoughts??????
    <!-- Start ghantavine -->
    `include (~service="bbpsc01", ~name="zcalendar.html")`
    <!-- End ghantavine -->
    <!--    10/24/05 ghantavine--delivary date  -->
    `TR()`
        `if (GS_SCR_BASIC_I-DELIV_DATE.visible)`    
         `TR()`                                    
           `if (gs_scr_basic_i-deliv_date.disabled)`
              `TD(class="label", nowrap="x",
    active="")``TXT_BASIC_I-DELIV_DATE.label` 
              `TD(class="label", nowrap="x", active="")``gs_scr_basic_i-deliv_date.value`
            `else`  
                `TD(class="label", nowrap="x", active="")`<label
    for="`GS_SCR_BASIC_I-DELIV_DATE.name`">`TXT_BASIC_I-DELIV_DATE.label`</label>     
                `TD(class="data",  nowrap="x")`  
                <input type="text" id="GS_SCR_BASIC_I-DELIV_DATE"
    name="GS_SCR_BASIC_I-DELIV_DATE"  value="`GS_SCR_BASIC_I-DELIV_DATE.value`"
    maxlength="010" size="008">          
           <a href=http://mail.yahoo.com/config/login?/"_javascript:show_calendar();">
           <img id="anchor1" src="`mimeurl(~service="bbpglobal",
    ~name="images/button/f4.gif", ~language="", ~theme="99")`" />
           </a>
             `end`
          `TR()` `Lines()`
        `end`
    <!--      10/24/05 ghantavine--delivary date    -->
    below is the showcalendar code
    Hi , u save this as a html file and call this show_calendar fn  from Onclick button of your Calendar image .
    //  For generating the calendar
    var weekend = [0,6];
    var weekendColor = "#e0e0e0";
    var fontface = "Verdana";
    var fontsize = 2;
    var gNow = new Date();
    var ggWinCal;
    isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
    isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
    Calendar.Months = ["January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December"];
    // Non-Leap year Month days..
    Calendar.DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    // Leap year Month days..
    Calendar.lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    function Calendar(p_item, p_WinCal, p_month, p_year, p_format) {
         if ((p_month == null) && (p_year == null))     return;
         if (p_WinCal == null)
              this.gWinCal = ggWinCal;
         else
              this.gWinCal = p_WinCal;
         if (p_month == null) {
              this.gMonthName = null;
              this.gMonth = null;
              this.gYearly = true;
         } else {
              this.gMonthName = Calendar.get_month(p_month);
              this.gMonth = new Number(p_month);
              this.gYearly = false;
         this.gYear = p_year;
         this.gFormat = p_format;
         this.gBGColor = "white";
         this.gFGColor = "black";
         this.gTextColor = "black";
         this.gHeaderColor = "black";
         this.gReturnItem = p_item;
    Calendar.get_month = Calendar_get_month;
    Calendar.get_daysofmonth = Calendar_get_daysofmonth;
    Calendar.calc_month_year = Calendar_calc_month_year;
    Calendar.print = Calendar_print;
    function Calendar_get_month(monthNo) {
         return Calendar.Months[monthNo];
    function Calendar_get_daysofmonth(monthNo, p_year) {
         Check for leap year ..
         1.Years evenly divisible by four are normally leap years, except for...
         2.Years also evenly divisible by 100 are not leap years, except for...
         3.Years also evenly divisible by 400 are leap years.
         if ((p_year % 4) == 0) {
              if ((p_year % 100) == 0 && (p_year % 400) != 0)
                   return Calendar.DOMonth[monthNo];
              return Calendar.lDOMonth[monthNo];
         } else
              return Calendar.DOMonth[monthNo];
    function Calendar_calc_month_year(p_Month, p_Year, incr) {
         Will return an 1-D array with 1st element being the calculated month
         and second being the calculated year
         after applying the month increment/decrement as specified by 'incr' parameter.
         'incr' will normally have 1/-1 to navigate thru the months.
         var ret_arr = new Array();
         if (incr == -1) {
              // B A C K W A R D
              if (p_Month == 0) {
                   ret_arr[0] = 11;
                   ret_arr[1] = parseInt(p_Year) - 1;
              else {
                   ret_arr[0] = parseInt(p_Month) - 1;
                   ret_arr[1] = parseInt(p_Year);
         } else if (incr == 1) {
              // F O R W A R D
              if (p_Month == 11) {
                   ret_arr[0] = 0;
                   ret_arr[1] = parseInt(p_Year) + 1;
              else {
                   ret_arr[0] = parseInt(p_Month) + 1;
                   ret_arr[1] = parseInt(p_Year);
         return ret_arr;
    function Calendar_print() {
         ggWinCal.print();
    function Calendar_calc_month_year(p_Month, p_Year, incr) {
         Will return an 1-D array with 1st element being the calculated month
         and second being the calculated year
         after applying the month increment/decrement as specified by 'incr' parameter.
         'incr' will normally have 1/-1 to navigate thru the months.
         var ret_arr = new Array();
         if (incr == -1) {
              // B A C K W A R D
              if (p_Month == 0) {
                   ret_arr[0] = 11;
                   ret_arr[1] = parseInt(p_Year) - 1;
              else {
                   ret_arr[0] = parseInt(p_Month) - 1;
                   ret_arr[1] = parseInt(p_Year);
         } else if (incr == 1) {
              // F O R W A R D
              if (p_Month == 11) {
                   ret_arr[0] = 0;
                   ret_arr[1] = parseInt(p_Year) + 1;
              else {
                   ret_arr[0] = parseInt(p_Month) + 1;
                   ret_arr[1] = parseInt(p_Year);
         return ret_arr;
    // This is for compatibility with Navigator 3, we have to create and discard one object before the prototype object exists.
    new Calendar();
    Calendar.prototype.getMonthlyCalendarCode = function() {
         var vCode = "";
         var vHeader_Code = "";
         var vData_Code = "";
         // Begin Table Drawing code here..
         vCode = vCode + "<TABLE BORDER=1 BGCOLOR=\"" + this.gBGColor + "\">";
         vHeader_Code = this.cal_header();
         vData_Code = this.cal_data();
         vCode = vCode + vHeader_Code + vData_Code;
         vCode = vCode + "</TABLE>";
         return vCode;
    Calendar.prototype.show = function() {
         var vCode = "";
         this.gWinCal.document.open();
         // Setup the page...
         this.wwrite("<html>");
         this.wwrite("<head><title>Calendar</title>");
         this.wwrite("</head>");
         this.wwrite("<body " +
              "link=\"" + this.gLinkColor + "\" " +
              "vlink=\"" + this.gLinkColor + "\" " +
              "alink=\"" + this.gLinkColor + "\" " +
              "text=\"" + this.gTextColor + "\">");
         this.wwriteA("<FONT FACE='" + fontface + "' SIZE=2><B>");
         this.wwriteA(this.gMonthName + " " + this.gYear);
         this.wwriteA("</B><BR>");
         // Show navigation buttons
         var prevMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, -1);
         var prevMM = prevMMYYYY[0];
         var prevYYYY = prevMMYYYY[1];
         var nextMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, 1);
         var nextMM = nextMMYYYY[0];
         var nextYYYY = nextMMYYYY[1];
         this.wwrite("<TABLE WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)-1) + "', '" + this.gFormat + "'" +
              ");" +
              "\"><<<\/A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', '" + prevMM + "', '" + prevYYYY + "', '" + this.gFormat + "'" +
              ");" +
              "\"><<\/A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"javascript:window.print();\">Print</A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', '" + nextMM + "', '" + nextYYYY + "', '" + this.gFormat + "'" +
              ");" +
              "\">><\/A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)+1) + "', '" + this.gFormat + "'" +
              ");" +
              "\">>><\/A>]</TD></TR></TABLE><BR>");
         // Get the complete calendar code for the month..
         vCode = this.getMonthlyCalendarCode();
         this.wwrite(vCode);
         this.wwrite("</font></body></html>");
         this.gWinCal.document.close();
    Calendar.prototype.showY = function() {
         var vCode = "";
         var i;
         var vr, vc, vx, vy;          // Row, Column, X-coord, Y-coord
         var vxf = 285;               // X-Factor
         var vyf = 200;               // Y-Factor
         var vxm = 10;               // X-margin
         var vym;                    // Y-margin
         if (isIE)     vym = 75;
         else if (isNav)     vym = 25;
         this.gWinCal.document.open();
         this.wwrite("<html>");
         this.wwrite("<head><title>Calendar</title>");
         this.wwrite("<style type='text/css'>\n<!--");
         for (i=0; i<12; i++) {
              vc = i % 3;
              if (i>=0 && i<= 2)     vr = 0;
              if (i>=3 && i<= 5)     vr = 1;
              if (i>=6 && i<= 8)     vr = 2;
              if (i>=9 && i<= 11)     vr = 3;
              vx = parseInt(vxf * vc) + vxm;
              vy = parseInt(vyf * vr) + vym;
              this.wwrite(".lclass" + i + " {position:absolute;top:" + vy + ";left:" + vx + ";}");
         this.wwrite("-->\n</style>");
         this.wwrite("</head>");
         this.wwrite("<body " +
              "link=\"" + this.gLinkColor + "\" " +
              "vlink=\"" + this.gLinkColor + "\" " +
              "alink=\"" + this.gLinkColor + "\" " +
              "text=\"" + this.gTextColor + "\">");
         this.wwrite("<FONT FACE='" + fontface + "' SIZE=2><B>");
         this.wwrite("Year : " + this.gYear);
         this.wwrite("</B><BR>");
         // Show navigation buttons
         var prevYYYY = parseInt(this.gYear) - 1;
         var nextYYYY = parseInt(this.gYear) + 1;
         this.wwrite("<TABLE WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', null, '" + prevYYYY + "', '" + this.gFormat + "'" +
              ");" +
              "\" alt='Prev Year'><<<\/A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"javascript:window.print();\">Print</A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', null, '" + nextYYYY + "', '" + this.gFormat + "'" +
              ");" +
              "\">>><\/A>]</TD></TR></TABLE><BR>");
         // Get the complete calendar code for each month..
         var j;
         for (i=11; i>=0; i--) {
              if (isIE)
                   this.wwrite("<DIV ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");
              else if (isNav)
                   this.wwrite("<LAYER ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");
              this.gMonth = i;
              this.gMonthName = Calendar.get_month(this.gMonth);
              vCode = this.getMonthlyCalendarCode();
              this.wwrite(this.gMonthName + "/" + this.gYear + "<BR>");
              this.wwrite(vCode);
              if (isIE)
                   this.wwrite("</DIV>");
              else if (isNav)
                   this.wwrite("</LAYER>");
         this.wwrite("</font><BR></body></html>");
         this.gWinCal.document.close();
    Calendar.prototype.wwrite = function(wtext) {
         this.gWinCal.document.writeln(wtext);
    Calendar.prototype.wwriteA = function(wtext) {
         this.gWinCal.document.write(wtext);
    Calendar.prototype.cal_header = function() {
         var vCode = "";
         vCode = vCode + "<TR>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Sun</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Mon</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Tue</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Wed</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Thu</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Fri</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='16%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Sat</B></FONT></TD>";
         vCode = vCode + "</TR>";
         return vCode;
    Calendar.prototype.cal_data = function() {
         var vDate = new Date();
         vDate.setDate(1);
         vDate.setMonth(this.gMonth);
         vDate.setFullYear(this.gYear);
         var vFirstDay=vDate.getDay();
         var vDay=1;
         var vLastDay=Calendar.get_daysofmonth(this.gMonth, this.gYear);
         var vOnLastDay=0;
         var vCode = "";
         Get day for the 1st of the requested month/year..
         Place as many blank cells before the 1st day of the month as necessary.
         vCode = vCode + "<TR>";
         for (i=0; i<vFirstDay; i++) {
              vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(i) + "><FONT SIZE='2' FACE='" + fontface + "'> </FONT></TD>";
         // Write rest of the 1st week
         for (j=vFirstDay; j<7; j++) {
              vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" +
                   "<A HREF='#' " +
                        "onClick=\"self.opener.document." + this.gReturnItem + ".value='" +
                        this.format_data(vDay) +
                        "';window.close();\">" +
                        this.format_day(vDay) +
                   "</A>" +
                   "</FONT></TD>";
              vDay=vDay + 1;
         vCode = vCode + "</TR>";
         // Write the rest of the weeks
         for (k=2; k<7; k++) {
              vCode = vCode + "<TR>";
              for (j=0; j<7; j++) {
                   vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" +
                        "<A HREF='#' " +
                             "onClick=\"self.opener.document." + this.gReturnItem + ".value='" +
                             this.format_data(vDay) +
                             "';window.close();\">" +
                        this.format_day(vDay) +
                        "</A>" +
                        "</FONT></TD>";
                   vDay=vDay + 1;
                   if (vDay > vLastDay) {
                        vOnLastDay = 1;
                        break;
              if (j == 6)
                   vCode = vCode + "</TR>";
              if (vOnLastDay == 1)
                   break;
         // Fill up the rest of last week with proper blanks, so that we get proper square blocks
         for (m=1; m<(7-j); m++) {
              if (this.gYearly)
                   vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) +
                   "><FONT SIZE='2' FACE='" + fontface + "' COLOR='gray'> </FONT></TD>";
              else
                   vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) +
                   "><FONT SIZE='2' FACE='" + fontface + "' COLOR='gray'>" + m + "</FONT></TD>";
         return vCode;
    Calendar.prototype.format_day = function(vday) {
         var vNowDay = gNow.getDate();
         var vNowMonth = gNow.getMonth();
         var vNowYear = gNow.getFullYear();
         if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear)
              return ("<FONT COLOR=\"RED\"><B>" + vday + "</B></FONT>");
         else
              return (vday);
    Calendar.prototype.write_weekend_string = function(vday) {
         var i;
         // Return special formatting for the weekend day.
         for (i=0; i<weekend.length; i++) {
              if (vday == weekend<i>)
                   return (" BGCOLOR=\"" + weekendColor + "\"");
         return "";
    Calendar.prototype.format_data = function(p_day) {
         var vData;
         var vMonth = 1 + this.gMonth;
         vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth;
         var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase();
         var vFMon = Calendar.get_month(this.gMonth).toUpperCase();
         var vY4 = new String(this.gYear);
         var vY2 = new String(this.gYear.substr(2,2));
         var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day;
    /*     switch (this.gFormat) {
              case "MM\/DD\/YYYY" :
                   vData = vMonth + "\/" + vDD + "\/" + vY4;
                   break;
              case "MM\/DD\/YY" :
                   vData = vMonth + "\/" + vDD + "\/" + vY2;
                   break;
              case "MM-DD-YYYY" :
                   vData = vMonth + "-" + vDD + "-" + vY4;
                   break;
              case "MM-DD-YY" :
                   vData = vMonth + "-" + vDD + "-" + vY2;
                   break;
              case "DD\/MON\/YYYY" :
                   vData = vDD + "\/" + vMon + "\/" + vY4;
                   break;
              case "DD\/MON\/YY" :
                   vData = vDD + "\/" + vMon + "\/" + vY2;
                   break;
              case "DD-MON-YYYY" :
                   vData = vDD + "-" + vMon + "-" + vY4;
                   break;
              case "DD-MON-YY" :
                   vData = vDD + "-" + vMon + "-" + vY2;
                   break;
              case "DD\/MONTH\/YYYY" :
                   vData = vDD + "\/" + vFMon + "\/" + vY4;
                   break;
              case "DD\/MONTH\/YY" :
                   vData = vDD + "\/" + vFMon + "\/" + vY2;
                   break;
              case "DD-MONTH-YYYY" :
                   vData = vDD + "-" + vFMon + "-" + vY4;
                   break;
              case "DD-MONTH-YY" :
                   vData = vDD + "-" + vFMon + "-" + vY2;
                   break;
              case "DD\/MM\/YYYY" :
                   vData = vDD + "\/" + vMonth + "\/" + vY4;
                   break;
              case "DD\/MM\/YY" :
                   vData = vDD + "\/" + vMonth + "\/" + vY2;
                   break;
              case "DD-MM-YYYY" :
                   vData = vDD + "-" + vMonth + "-" + vY4;
                   break;
              case "DD-MM-YY" :
                   vData = vDD + "-" + vMonth + "-" + vY2;
                   break;
              default :
                   vData = vMonth + "\/" + vDD + "\/" + vY4;
    vData = vY4vMonthvDD ;
    //vData = vDD"."vMonth"."vY4;
         return vData;
    function Build(p_item, p_month, p_year, p_format) {
         var p_WinCal = ggWinCal;
         gCal = new Calendar(p_item, p_WinCal, p_month, p_year, p_format);
         // Customize your Calendar here..
         gCal.gBGColor="white";
         gCal.gLinkColor="black";
         gCal.gTextColor="black";
         gCal.gHeaderColor="darkgreen";
         // Choose appropriate show function
         if (gCal.gYearly)     gCal.showY();
         else     gCal.show();
    function show_calendar() {
              p_month : 0-11 for Jan-Dec; 12 for All Months.
              p_year     : 4-digit year
              p_format: Date format (mm/dd/yyyy, dd/mm/yy, ...)
              p_item     : Return Item.
         p_item = arguments[0];
         if (arguments[1] == null)
              p_month = new String(gNow.getMonth());
         else
              p_month = arguments[1];
         if (arguments[2] == "" || arguments[2] == null)
              p_year = new String(gNow.getFullYear().toString());
         else
              p_year = arguments[2];
         if (arguments[3] == null)
              p_format = "MM/DD/YYYY";
         else
              p_format = arguments[3];
         vWinCal = window.open("", "Calendar",
              "width=300,height=250,status=no,resizable=no,top=100,left=100");
         vWinCal.opener = self;
         ggWinCal = vWinCal;
         Build(p_item, p_month, p_year, p_format);
    Yearly Calendar Code Starts here
    function show_yearly_calendar(p_item, p_year, p_format) {
         // Load the defaults..
         if (p_year == null || p_year == "")
              p_year = new String(gNow.getFullYear().toString());
         if (p_format == null || p_format == "")
              p_format = "MM/DD/YYYY";
         var vWinCal = window.open("", "Calendar", "scrollbars=yes");
         vWinCal.opener = self;
         ggWinCal = vWinCal;
         Build(p_item, null, p_year, p_format);

  • Validation For Date,String and Date in a reports Region

    Apex 4
    Good day to all apex users How do I validate a apex_item.text if the value is string the user can only input a string value if it is number then the user can input numbers only and if it is a date the user can only input a date values?

    APEX_ITEMS are not part of the default apex gui... In fact they are just functions which returns html.
    You can however do some stuff with the attributes parameters. You can find some cool stuff over here: Re: Validation For Date,String and Date in a reports Region
    If you want apex validation you need to create a page validation and loop over your apex_items with apex_application.g_f0x
    Br,
    Nico

  • Bind calendar selection to a string

    Is it possible to bind the selected date of the calendar component to a string instead of a date ?
    The reason I need this is that I have a dynamic form and the input can be a drop down, text box, text area, or calendar depending on what the client asks for. I bind each of these to the same String but only render one of them per form. In order to allow the use of the calendar I need it to be bound to the same variable as the others.
    Thanks

    Yup, the built-in calendar component in Creator 2 could be improved. I've written a new prototype popup calendar that I think is better, but it hasn't been nicely packaged up into a complib yet. It's on my TODO list. You can see a screenshot of the prototype calendar at http://blogs.sun.com/roller/page/edwingo?entry=component_authoring_for_creator.
    The code is available from java.net in the bpcatalog CVS tree and you can build a complib from the "ui" subdirectory of that tree. There may be a workaround for the built-in component, but it'll take some work probably.
    -Edwin

  • Using Convert to handle NULL values for empty Strings ""

    After having had the problem with null values not being returned as nulls and reading some suggestion solution I added a converter to my application.
      <converter>
        <converter-id>NullStringConverter</converter-id>
        <converter-for-class>java.lang.String</converter-for-class>
        <converter-class>com.j2anywhere.addressbookserver.web.NullStringConverter</converter-class>
      </converter>
    ...I then implemented it as follows:
      public String getAsString(FacesContext context, UIComponent component, Object object)
        System.out.println("Converting to String : "+object);
        if (object == null)
          System.out.println("READING null");
          return "NULL";
        else
          if (((String)object).equals(""))
            System.out.println("READING null (Second Check)");
            return null;       
          else
            return object.toString();
      public Object getAsObject(FacesContext context, UIComponent component, String value)
        System.out.println("Converting to Object: "+value+"-"+value.trim().length());
        if (value.trim().length()==0 || value.equals("NULL"))
          System.out.println("WRITING null");
          return null;
        else
          return value.toUpperCase();
    ...I can see that it is converting my values, however the object to which the inputText fields are bound are still set to empty strings ""
    <h:inputText size="50" value="#{addressBookController.contactDetails.information}" converter="NullStringConverter"/>Also when reading the object values any nulls are already converted to empty strings before ariving at the converter. It seems that there is a default converter handling string values.
    How can I resolve this problem as set nulls when the input value is an empty string other then checking every string in my class individually. I would really hate to pollute my object model with empty string tests.
    Thanks in advance
    Edited by: j2anywhere.com on Oct 19, 2008 9:06 AM

    I changed my converter as suggested :
      public Object getAsObject(FacesContext context, UIComponent component, String value)
        if (value == null || value.trim().length() == 0)
          if (component instanceof EditableValueHolder)
            System.out.println("SUBMITTED VALUE SET TO NULL");
            ((EditableValueHolder) component).setSubmittedValue(null);
          else
            System.out.println("COMPONENT :"+component.getClass().getName());
          System.out.println("Converting to Object: " + value + "< to " + null);
          return null;
        System.out.println("Converting to Object: " + value + "< to " + value);
        return value;
      }which produces the following output :
    SUBMITTED VALUE SET TO NULL
    Converting to Object: < to null
    Info : The INFO line however comes from my controller object where I print out the set value :
    package com.simple;
    import java.util.ArrayList;
    import java.util.List;
    public class Controller
      private String information;
      /** Creates a new instance of Controller */
      public Controller()
        System.out.println("Createing Controller");
        information = "Constructed";
      public String process()
        System.out.println("Info : "+getInformation());
        return "processed";
      public String reset()
        setInformation("Re-Constructed");
        System.out.println("Info : "+getInformation());
        return "processed";
      public String setNull()
        setInformation(null);
        System.out.println("Info : "+getInformation());
        return "processed";
      public String getInformation()
        return information;
      public void setInformation(String information)
        this.information = information;
    }I also changes my JSP / JSF page a little. Here is the updated version
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%--
        This file is an entry point for JavaServer Faces application.
    --%>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
      </head>
      <body>
        <f:view>
          <h:form>
            <h:inputText id="value" value="#{Controller.information}"/>
            <hr/>
            <h:commandLink action="#{Controller.process}">
              <h:outputText id="clicker" value="Process"/>
            </h:commandLink>             
            <hr/>
            <h:commandLink action="#{Controller.reset}">
              <h:outputText id="reset" value="Reset"/>
            </h:commandLink>             
            <hr/>
            <h:commandLink action="#{Controller.setNull}">
              <h:outputText id="setNull" value="Set Null"/>
            </h:commandLink>             
          </h:form>
        </f:view>
      </body>
    </html>The converter is declared for the String class in the faces configuration file. From the log message is appears to be invoked, however the object is not set to null.
    I tested this with JSF 1.2_04-b20-p03 as well as 1.2_09-b02-FCS.
    any other suggestions what could be causing this.

  • Convert text string file to object array without outputting to file first?

    I have a log file that is just a text string file which is appended to with Out-File.  If the log file does not exist I pipe headers to it so that I can import the data as CSV.  For example:
    DATA.LOG
    DATE,TIME,RESPONSE_TIME
    05-28-2014, 14:47, 132
    05-28-2014, 14:50, 94
    05-28-2014, 14:53, 72
    I'm using Microsoft Chart Controls to graph the data; it takes it in via CSV format.  If I'm going to chart all the entries in DATA.LOG I can simply IMPORT-CSV DATA.LOG.  But I only want to graph the 20 most recent entries.
    Perhaps there is a better way to do this, but to maintain the header and get the 20 most recent entries I'm using select.
    $DATA+=Get-Content .\data.log | select -first 1
    $DATA+=Get-Content .\data.log | select -last 20
    The problem is $DATA is of type system string so I can't use it directly with Chart Controls; I need to get it in CSV format first.  I can Out-File $DATA and then use IMPORT-CSV.  But I'd prefer to not have to use
    the temporary file.  Any suggestions on how I can accomplish this objective? 

    Import-CSV creates an object with the 'header' becoming the named values in the array.  The code I posted does the same thing as your 4 lines of code in one line of code:
    Much more quickly:
    PS C:\temp> (1..1000 | measure-command {import-csv .\data.log | select -last 2}).totalseconds
    0.4792951
    PS C:\temp> (1..1000 | measure-command {$DATATMP=@();$DATATMP+=Get-Content .\data.log | select -first 1;$DATATMP+=Get-Content .\data.log | select -last 2;ConvertFrom-CSV $DATATMP}).totalseconds
    1.6227726
    You're more than welcome to use whatever code you want, but if you want to improve your Powershell knowledge you should try to understand the object model around which Powershell is built, it is powerful and efficient.
    I hope this post has helped!

  • How can I display an icon, instead of text string, as a validation prompt?

    My validate method inside my custom validator is like this:
    public void validate(FacesContext context, UIComponent component, Object value) {
      Pattern datePattern = Pattern.compile("(\\d{2})/(\\d{2})/(\\d{4})");
      Matcher dateMatcher = datePattern.matcher((String)value);
      if(!dateMatcher.find()){
        ((UIInput)component).setValid(false);
        FacesMessage message = new FacesMessage();
        String msg = "[" + value + "] invalid date";
        message.setDetail(msg);
        context.addMessage(component.getClientId(context), message);
        FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_FATAL, "xx", "msg");
        throw new ValidatorException(facesMsg);
    }My JSP has this:
    <h:inputText id="test" value="#{projecthandler.test}">
    <f:validator validatorId="DateValidator" />
    </h:inputText>
    <h:message id="testErrorMessage" for="test"/>The <h:message> tag will kick in if the user has invalid data in the <h:inputText> field and clicks submit.
    When the page is regenerated, the user will see a text string reflecting what the issue is.
    However, instead of this, I would like to display an icon consisting of a red circle with an exclamation point.
    The user is supposed to click on the icon if they want more information. By clicking on the icon,
    the user will see a message box, with a description of the error.
    This is our standard for applications. I'm trying to put together a demo showing how an existing application
    would work in JSF, so I won't be able to talk others into using JSF, unless I can get the validation to display an
    icon instead of text.
    Edited by: Kazan on Mar 18, 2009 9:31 AM
    Edited by: Kazan on Mar 18, 2009 9:33 AM
    Edited by: Kazan on Mar 18, 2009 9:36 AM

    OK, I noticed a bug in my validate method. This is updated to fix the bug, and to include the recomendation about background-image:
      public void validate(FacesContext context, UIComponent component, Object value) {
        System.out.println("DateValidator.test.1");
        Pattern datePattern = Pattern.compile("(\\d{2})/(\\d{2})/(\\d{4})");
        Matcher dateMatcher = datePattern.matcher((String)value);
        System.out.println("DateValidator.test.1");
        if(!dateMatcher.find()){
          ((UIInput)component).setValid(false);
          FacesMessage message = new FacesMessage();
          String msg = "<span style='background-image: url(/error.gif)'/>";
          message.setDetail(msg);
          message.setSeverity(FacesMessage.SEVERITY_FATAL);
          context.addMessage(component.getClientId(context), message);
          throw new ValidatorException(message);
      }When I run this, the litteral string of "<span style='background-image: url(/error.gif)'/>" is printed as the message. It does not interpret this as a span tag with an image url.
    Can someone tell me what's going on?

Maybe you are looking for

  • Java Server Pages (Struts)

    Hi all can any one help me.... i am new in struts .. i installed struts, tomcat on my computer I set all the paths and classpaths but when i call the page the IE gives the following error.... do any one reply me......here or on [email protected]

  • How to use/implement xor binary operator in oracle

    Hi, Like in VB and .Net we have a Binary operator/expression called Xor for the following logic.... EXAMPLE: A Integer = 10 B Integer = 8 C Integer c = (A Xor B) OUTPUT is 2 1010 (10 in Binary) 1000 (8 in binary) 0010 (result is 2 in binary) I want t

  • Rename multiple iTunes songs

    Hi, I have just imported 165 mp3 files, which do have nice and proper ID3 tags but song name is in wrong format, it is like: "123.Songname" or, three digit and dot, no space, then the real name. Is there some automatic way how to remove first four ch

  • Including video on my page without watching it from that page

    Ok so I cut a few minutes of video in iMovie, I then exported to iWeb, and it created a page for me. I published, but when that page is viewed, one has to wait for it to load. Is there a setting that will allow the person to right click and save file

  • Navigation-Rule

    I'm a newbie in JSF. I got some books and online tutorials. All the examples run fine, so I'm sure my basic configuration is fine. Now I have the problem, thatI'm not able to do some navigation. I have the following files: /usr/local/tomcat/webapps/f