Multiple columns for the rows

Hello everyone,
Can anyone give me a logic in the below scenario.
Table A
Col1 Col2 Col3
Peter 01-jan-2009 1000
Peter 7-mar-2009 1000
Peter 13-dec-2009 1000
i need a sql which displays all the data in a single row in such a way that
1) if col2 month is jan, then the column heading should be "January" and value should be Jan
2) if col2 month is mar, then the column heading should be "Marchh" and value should be Mar
3) if col2 month is dec, then the column heading should be "December" and value should be Dec
Thank you in advance.

This may help
WITH DATA AS (
SELECT 'Peter' NAME,to_char(to_date('01-jan-2009','dd-mon-yyyy'),'MON') MON, 1000 salary FROM dual UNION
SELECT 'Peter' NAME,to_char(to_date('07-mar-2009','dd-mon-yyyy'),'MON') MON, 1000 salary FROM dual UNION
SELECT 'Peter' NAME,to_char(to_date('13-dec-2009','dd-mon-yyyy'),'MON') MON, 1000 salary FROM dual
SELECT NAME,max(decode(mon,'JAN',salary)) jan,
max(decode(mon,'FEB',salary)) FEB,
max(decode(mon,'MAR',salary)) MAR,
max(decode(mon,'APR',salary)) APR,
max(decode(mon,'MAY',salary)) MAY,
max(decode(mon,'JUN',salary)) JUN,
max(decode(mon,'JUL',salary)) JUL,
max(decode(mon,'AUG',salary)) AUG,
max(decode(mon,'SEP',salary)) SEP,
max(decode(mon,'OCT',salary)) OCT,
max(decode(mon,'NOV',salary)) NOV,
max(decode(mon,'DEC',salary)) DEC
        FROM DATA
GROUP BY NAME
NAME     JAN     FEB     MAR     APR     MAY     JUN     JUL     AUG     SEP     OCT     NOV     DEC
Peter      1000          1000                                             1000cheers!!!
Bhushan
Edited by: Buga on Nov 2, 2009 10:38 PM

Similar Messages

  • ALV  List  in the same Column for the row  CELL  i need button or value

    Hi,
    In my ALV list  for the same column I need Button or  Value for the different rows (CELL) depending upon my condition.
    as well as I have to make  read only of 3 rd column CELL based on my first column dropdown value CELL for this Row Only.
    Depends upon the value in  column 1 /  row 2   I have to  read only  the CELL of   column 5 / row 2   ie for the same row.
    Depends upon the value in Column 1/ row 3    I have to   EDITABLE  or   Button   the CELL  of column 5 / row 3 ie for the same row
    How to do the logic for this.
    I tried and got it for the entire column only.
    But my requirement is for the sepecific cell in the column.
    Kindly help to proceed further.
    Thanks in advance.
    Dav

    Here is how you can make a particular cell in the row read-only based on certain conditions.
    In my example I am displaying the flight details in an ALV. Here I am checking the airline id and if it is "AA' I am making the cell in the column airline id as readonly. In my example I am putting a check and readonly on the same column. However you can do this for different columns as well.
    In order to achieve this you need to add a new context attribute 'READONLY' of type abap_bool to the context node which is bound to data node of ALV.
    The method where I populate the node has the following code to populate the data.
      data: lr_input_node type ref to if_wd_context_node,
            lr_flight_node type ref to if_wd_context_node,
            lv_cityfrom   type s_from_cit,
            lv_cityto     type s_to_city,
            ls_from       type bapisfldst,
            ls_to         type bapisfldst,
            lt_flights    type table of bapisfldat,
            ls_flights    type bapisfldat.
      data: lt_final type if_mainview=>elements_node_flighttab,
            ls_final type if_mainview=>element_node_flighttab.
    * Instantiate the variable lr_input_note to the node NODE_FLIGHT
      lr_input_node  = wd_context->get_child_node( name = 'NODE_FLIGHT' ).
    * Instantiate the variable lr_flight_note to the node NODE_FLIGHTTAB
      lr_flight_node = wd_context->get_child_node( name = 'NODE_FLIGHTTAB' )
    * Get the attributes CityFrom und CityTo
      lr_input_node->get_attribute( exporting name = 'CITYFROM'
                                    importing value = lv_cityfrom ).
      lr_input_node->get_attribute( exporting name = 'CITYTO'
                                    importing value = lv_cityto ).
    * Fill the stuctures ls_from and ls_to
      ls_from-city = lv_cityfrom.
      ls_to-city   = lv_cityto.
    * Call the function BAPI_FLIGHT_GETLIST
      call function 'BAPI_FLIGHT_GETLIST'
       exporting
         destination_from       = ls_from
         destination_to         = ls_to
       tables
         flight_list            = lt_flights.
    Now I am going to check if the airline id is 'AA' and based on that I will fill the readonly context attribute.
    loop at lt_flights into ls_flights.
        MOVE-CORRESPONDING ls_flights to ls_final.
        if ls_flights-airlineid = 'AA'.
          ls_final-readonly = abap_true.
        else.
          ls_final-readonly = abap_false.
        endif.
        append ls_final to  lt_final.
      endloop.
    Finally bind the data to the context node.
    * Bind the data to the node NODE_FLIGHTTAB
      lr_flight_node->bind_elements( lt_final ).
    Now you need to do the ALV configuration settings.
    * create an instance of ALV component
      DATA:
        lr_salv_wd_table_usage TYPE REF TO if_wd_component_usage.
      lr_salv_wd_table_usage = wd_this->wd_cpuse_alv( ).
      IF lr_salv_wd_table_usage->has_active_component( ) IS INITIAL.
        lr_salv_wd_table_usage->create_component( ).
      ENDIF.
    * get ALV component
      DATA:
        lr_salv_wd_table TYPE REF TO iwci_salv_wd_table.
      lr_salv_wd_table = wd_this->wd_cpifc_alv( ).
      wd_this->alv_config_table = lr_salv_wd_table->get_model( ).
      CALL METHOD wd_this->alv_config_table->if_salv_wd_table_settings~set_read_only
        EXPORTING
          VALUE  = ABAP_FALSE
    * set visible row count
      DATA:
        lr_table_settings TYPE REF TO if_salv_wd_table_settings.
      lr_table_settings ?= wd_this->alv_config_table.
      lr_table_settings->set_visible_row_count( '10' ).
      DATA:
        lr_column_settings TYPE REF TO if_salv_wd_column_settings,
        lr_column          TYPE REF TO cl_salv_wd_column.
      lr_column_settings ?= wd_this->alv_config_table.
      DATA: lr_input_field TYPE REF TO cl_salv_wd_uie_input_field.
      lr_column = lr_column_settings->get_column( 'AIRLINEID' ).
      CREATE OBJECT lr_input_field EXPORTING value_fieldname = 'AIRLINEID'.
      lr_column->set_cell_editor( lr_input_field ).
      lr_input_field->set_read_only_fieldname( value = 'READONLY' ).
      CALL METHOD lr_column_settings->delete_column
        EXPORTING
          id     = 'READONLY'

  • Setting different Tabel Cell SemanticColor for Multiple Columns of each row

    Hi,
    I have requirement of setting different colors to different columns for each row based on some condition in table data.
    The data to table is coming from model, hence table is mapped to model node and attributes.
    I have created Seperate Node CellColorNode with attribue CellClr1 and CellClr2 of type TextView Semantic Color.
    Set the calculated, read only attribute to True. Mapped table columns text view to the CellColorNode->CellClr1 and CellColorNode-->CellClr2 correspondingly.
    Now, my query is how do i set the colors to CellClr1 and CellClr2 attributes. As I need to set the color for multiple columns of each table row.
    Is it in method getColorCellCellClr generated? Any  Example Code?

    Its resolved by following below link
    http://scn.sap.com/thread/158286

  • Multiple columns with uneven rows

    Good Evening Everybody
    Could somebody advise me on the best solution to do the following.
    I have a csv file. The csv file is being read using "read from spreadsheet file" vi.
    The file contains multiple columns. The columns all have a different last row address. By this I mean that...say...the last row of column 1 is 5. Column 2 last row is 23, Column 3 last row is 12. etc. The file might look like the following...note...this is an example of a file only, and any implications can't be construed.
                Column1    Column2    Column3    Column4     Column5
    Row1        0               1                 2             3                 4
    Row2       12             23              13            34                 0
    Row3       11             44              23                               11
    Row4       34             55            
    Row5       21           
    Lets assume that the value(s) of interest are contained in columns 2,4 and 5. Therefore the values I want to extract would be 55, 34 and 11
    I can select the columns of interest fine, but am having difficulty working out how to find the last row for these columns
    Caveats:
    1. The number of columns changes
    2. Position of column in file changes address...never found in same address
    Does anybody know how I might be able to locate the last row in the column of my choosing.
    Thanks for any assistance.
    best regards
    Ray

    Hi Ray,
    load the csv as an array of strings. Empty cells will result in empty strings. So you can easily test each column for an empty item, which will mark the "End of Data"...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How can I give different Editors in the same column for the jTable?

    I am having a JTable with 2 columns and 10 rows. In the 2nd column, for the first 2 rows
    I need to show JCheckBox, for nect 2 JComboBox and for remaining JTextField as the editor.
    How can I do this. Thanks in Advance.

    Remember, the parent class of a cell renderer does NOT have to be a Component itself. Most do simply because the end result of the getCellRenderer call is the component itself.
    Create 3 cell renderers, one based off of the checkbox, one based off the combobox, one based off of Object. The Object based one will hold instances of the other two renderers and will be the actual renderer supplied to the JTable. When called, based on the row, it will forward the call to the to the appropriate renderer and return the result of the call.
    Technically, the internal components do not NEED to be renderers themselves, but doing so makes it a lot easier to test them independently of the combined renderer.

  • Multiple columns for more than one record?

    Crystal Reports Xi
    I have a list of addresses, etc.  with attached route numbers.  If an address has 2 different route numbers, it will appear as two records.  Is there a way that I can list the address once, and have the route numbers just grow to more columns?
    Example - Change this...
    ADDRESS               ROUTE
    100 Main St.             1234
    100 Main St.             1235
    To This...
    100 Main St.            1234      1235
    Note:  An address may have one route number attached, or several route numbers attached.
    I tried playing around with the multiple columns, etc, but it kept on having everything in the section become multiple columns, etc.  Any help is appreciated.

    multiple columns only work in detail section.
    place your address without the route in the 1st details
    then insert a 2nd details and place the route in the details then select multiple columns for that details section.
    then underlay the first detail section and it should line up.

  • Upload a file where no. of columns for each row is not fixed...

    Hi All,,
    I have to upload a file......
    number of columns for each rows are not fixed ....
    e.g.
    Posting Date     Company Code     Currency     Header Text     Cost Center     Internal Order     Ref 1     Ref 2     Line Text     Account no.     Amount     Account no.     Amount     Account no.     Amount     Account no.     Amount     Account no.     Amount     Account no.     Amount     Account no.     Amount
    31-05-09     1000     EUR     PAYROLL 05/2009     1234     123456     123456     seaman     RU     999999     9,999.99                                                            
    31-08-09     1000     EUR     PAYROLL 05/2009     678     98765     98765     officer     GB     600015     4,560.00      600035     2,125.50      600020     1,325.40      600025     245.75      600030     300.00      280010     1,000.00      281091     6,000.00
    its in tab delimited txt file.....
    how to upload this type of file..
    Plz suggest....
    thnx
    rahul

    Hi,
    Define your internal table like this.
         TYPES: BEGIN OF upload_type,
           upload(330),
           END OF upload_type.
    DATA: itab_upload TYPE STANDARD TABLE OF upload_type,
           wa_upload TYPE upload_type.
    Data: file type string.
    file = 'C:/test.txt'.
      CALL FUNCTION 'GUI_UPLOAD'
           EXPORTING
                filename                = file
                filetype                = 'ASC'
               HAS_FIELD_SEPARATOR = 'X'
           TABLES
                data_tab                = itab_upload
           EXCEPTIONS
                file_open_error         = 1
                file_read_error         = 2
                no_batch                = 3
                gui_refuse_filetransfer = 4
                invalid_type            = 5
                no_authority            = 6
                unknown_error           = 7
                bad_data_format         = 8
                header_not_allowed      = 9
                separator_not_allowed   = 10
                header_too_long         = 11
                unknown_dp_error        = 12
                access_denied           = 13
                dp_out_of_memory        = 14
                disk_full               = 15
                dp_timeout              = 16
                OTHERS                  = 17.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Use the sring operations to identify your coloumns.
    Regards,
    Satish

  • Multiple values for the Parameter

    1. Had any tried the selecting MULTIPLE values for the parameter in Oracle Discoverer Plus Releae 4.1 Version 4.1.37.00.0. If so can please let me know how to implement it.
    2. In a Page-Detail Cross Tab workbook, I have to show the weighted average instead of the avg or sum. Any inputs please.
    3. I have to compare two periods (TOP) of datapoints. Any inputs please.

    If you wanted to eliminate the need for users to type in the parameter values, you could create a LOV on the desired column. This will produce a distinct list of all valid values where the user would simply select as the wish. Of course you still need to check the "let user enter multiple values" checkbox if you want them to select more than one.
    -DG

  • The workflow could not update the item, possibly because one or more columns for the item require a different type of information. Outcome: Unknown Error

    Received this error (The workflow could not update the item, possibly because one or more columns for the item require a different type of information.) recently on a workflow that was
    working fine and no changes were made to the workflow.
    I have tried a few suggestions, i.e. adding a pause before any ‘Update’ action (which didn’t help because the workflow past this action without incident); checked the data type being written
    to the fields (the correct data types are being written); and we even checked the list schema to ensure the list names and the internal names are aligned (they
    are), but we still cannot figure out why the workflow is still throwing this error.
    We located the area within the workflow step where it is failing and we inserted a logging action to determine if the workflow would execute the logging action but it did not, but wrote the same error message.
    The workflow is a Reusable Approval workflow designed in SharePoint Designer 2010 and attached to a content type. 
    The form associated with the list was modified in InfoPath 2010. 
    Approvers would provide their approval in the InfoPath form which is then read by the workflow.
    Side note - items created after the workflow throws this Unknown Error some seem to be working fine. 
    We have deleted the item in question and re-added it with no effect. 
    Based on what we were able to determine there don’t seem to be any consistency with how this issue is behaving.
    Any suggestions on how to further investigate this issue in order to find the root cause would be greatly appreciated?
    Cheers

    Hi,
    I understand that the reusable workflow doesn’t work properly now. Have you tried to remove the Update list item action to see whether the workflow can run without issue?
    If the workflow runs perfectly when the Update list item action is removed, then you need to check whether there are errors in the update action. Check whether the values have been changed.
    Thanks,
    Entan Ming
    Entan Ming
    TechNet Community Support

  • The workflow could not update the item, possibly because one or more columns for the item require a different type of information using Update Item action

       I got error  "The workflow could not update the item, possibly because one or more columns for the item require a different type of information "I  found out the cause is  Update Item action       
    I need to update item in another List call Customer Report ,the field call "Issues"  with data type  "Choice"   to yes
    then the error arise .   please help..

    Thanks for the quick response Nikhil.
    Our SPF 2010 server is relatively small to many setups I am sure. The list with the issue only has 4456 items and there are a few associated lists, eg lookups, Tasks, etc see below for count.
    Site Lists
    Engagements = 4456 (Errors on this list, primary list for activity)
    Tasks = 7711  (All workflow tasks from all site lists)
    Clients = 4396  (Lookup from Engagements, Tslips, etc)
    Workflow History = 584930 (I periodically run a cleanup on this and try to keep it under 400k)
    Tslips = 3522 (Engagements list can create items here, but overall not much interaction between lists)
    A few other lists that are used by workflows to lookup associations that are fairly static and under 50 items, eg "Parters Admin" used to lookup a partners executive admin to assign a task.
    Stunpals - Disclaimer: This posting is provided "AS IS" with no warranties.

  • WebTools Creating multiple users for the same User

    I had to make a few changes to a BP in SAP which will synch back into WebTools but now I am getting multiple users for the same contact. For example my user is cspehar_1 now in Webtools there are cspehar_1, cspehar_2, cspehar_3 and so on up to _8.
    This is occuring for several users in webtools.
    What causes this and how do I fix it?
    Thanks,
    Craig Spehar

    Hi Craig,
    There are two ways to cause this that I am aware of:
    1.  Change the "Business Partner Synch Contacts Field" setting after the initial synch.
    2.  Change the Web UserID on the BP contact in B1 (OCPR.U_PRX_SID).
    After that, update the user in WT  and synch. (might also happen if  you update the BP in B1)
    Since the synch is using the OCPR.U_PRX_SID to identify the contact, it will not be able to find it in B1 if the U_PRX_SID has changed.  When it does not find it, it assumes it needs to be created.  This results in a duplicate.
    The solution is to reset the U_PRX_SID back to what it was or set the synch contact field back to what it was.
    Then delete the last created duplicate contact from B1.
    There may be further data corruption issues here.  If orders/quotes/opportunities or other dependant data has synchronized referencing the duplicate user, these data will need to be correct as well.
    FYI, whatever caused this was probably at the root of your order problem as well.

  • Multiple DEVL_PROJECT_ID for the same model in CZ_DEVL_PROJECTS Table.

    Hi,
    Did anyone came across this issue!! I am triggering the config engine from back and and trying to pick up a model but it has multiple devl_project_id's. :(
    I could see multiple DEVL_PROJECT_ID for the same model in CZ_DEVL_PROJECTS Table. Apart from DEVL_PROJECT_ID and created_by_date every thing looks the same.
    Below are the 2 records the data from the table
    select * from CZ.CZ_DEVL_PROJECTS where product_key = '122:17056' and DEVL_PROJECT_ID in (12943,15321)
    DEVL_PROJECT_ID     NAME     ORIG_SYS_REF     CREATION_DATE     LAST_UPDATE_DATE     PERSISTENT_PROJECT_ID     MODEL_TYPE
    12943     ASI XXX MODEL(122 17056)     OPTIONAL:122:17056     12/18/2012 10:01     12/18/2012 10:01     11100     A
    PRODUCT_KEY     ORGANIZATION_ID     INVENTORY_ITEM_ID     BOM_CAPTION_RULE_ID     NONBOM_CAPTION_RULE_ID
    122:17056     122     17056     802     801
    15321     ASI XXX MODEL(122 17056)     OPTIONAL:122:17056     12/26/2012 23:10     12/26/2012 23:10     11100     A     
    122:17056     122     17056     802     801
    Thanks in advance,
    -vijay

    It can be possible to have multiple devl_project_id for the same model in cz_devl_projects Table.
    Case -1 : When you delete the existing model and re-import again.
    case 2:
    When you publish the model locally, it will create the same copy of the record with different devl_project_id, creation_date, last update_date etc..\
    You can see that for published records the last_updat_login, checkout_user will be null and for the original model, last_update_login,checkout_user (if model is locked) will not be null.
    -Murali
    Edited by: 907569 on Jan 8, 2013 10:55 AM

  • Under Options , Applications There are multiple entries for the same item (Acrobat Document). how can I delete the duplicates?

    Under Options, Applications there are multiple entries for the same item. (Adobe Acrobat) . Three show Adobe Acrobat Reader 9.3 and the other shows (ask) or (save file) with no ability to select Acrobat Reader . Is there a way to edit this list to remove the duplicates and
    the incorrect entry? Adobe installed a very quick update today.

    They are all different. Hover your mouse pointer over each of the "Content Type" descriptions and you should see a "tooltip" to see that each has a different description.
    You need to update your plugins. It is important to keep them updated due to continuing security fixes and improvements in those plug-ins:
    * Adobe Shockwave for Director Netscape plug-in, version 11.5 (you '''<u>may</u>''' need to update)
    * Shockwave Flash 10.1 r53
    * Next Generation Java Plug-in 1.6.0_20 for Mozilla browsers
    #Check your plugin versions: http://www.mozilla.com/en-US/plugincheck/
    #*'''Note: plugin check page does not have information on all plugin versions'''
    #'''Update Shockwave for Director'''
    #*NOTE: this is not the same as Shockwave Flash; this installs the Shockwave Player.
    #*Use Firefox to download and SAVE the installer to your hard drive from the link in the article below (Desktop is a good place so you can find it).
    #*When the download is complete, exit Firefox (File > Exit)
    #*locate and double-click in the installer you just downloaded, let the install complete.
    #*Restart Firefox and check your plugins again.
    #*'''<u>Download link and more information</u>''': http://support.mozilla.com/en-US/kb/Using+the+Shockwave+plugin+with+Firefox
    #'''Update Shockwave Flash'''
    #*Use Firefox to Download and SAVE to your hard drive from the link in article below
    #*SAVE to your Desktop so you can find it
    #*After download completes, close Firefox
    #*Click on the file you just downloaded and install
    #**Note: Vista and Win7 users may need to right-click the installer downloaded and choose "Run as Administrator"
    #**Note: Most browsers other than IE will also get updated with this one download
    #**Note: To update IE, same procedure '''<u>but use IE</u>''' to go: http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe
    #*After installation, restart Firefox and check your version again.
    #*'''<u>Download link and other information</u>''': https://support.mozilla.com/en-US/kb/Managing+the+Flash+plugin#Updating_Flash
    #* Also see: http://support.mozilla.com/en-US/kb/Installing+the+Flash+plugin
    #* Also see (if needed): http://kb2.adobe.com/cps/191/tn_19166.html#main_Uninstall
    #'''Update Java:'''
    #* Download and update instructions: https://support.mozilla.com/en-US/kb/Using+the+Java+plugin+with+Firefox

  • Multiple alerts for the same Message ID

    Hi
    I have configured outbound ftp adapter. I have configured alerts inorder to capture any error in the adapter engine.
    Now,alert is triggered showing an error in the ftp adapter ( say incorrect ftp details). But i get multiple alerts for the same message ID several times. I have also set the parameter Max No od Delvs to 1 in the ALRTCATDEF transaction.
    I keep getting the same alert number of times a day. How can i restrict the number of alerts to 1 for 1 message ID.
    Regards,
    Vani

    Hello Andreas,
    Thanks for your reply.
    In my scenario i would need an alert per Message. That is the reason why I have not checked the option "Supress Multiple Alerts" since it would allow only alert per rule.
    Is there is any way we can get one alert per message.
    Also, after correcting the eror in the file adapter will the file which was not placed due to error in the adapter be placed automatically. I wanted to know what would happen to the lost file or unprocessed file since it dint reach the destination due to error.
    Regards,
    Vani

  • Multiple HighlightPainters for the same JEditorPane

    Hey Everyone,
    I'm having a problem having highligts of multiple colors for the same text component.
    Basically I have a set of results in a separate panel for a search on the text in a JEditorPane. I want the text corresponding to all the search results to be highlighted one color as soon as the search is done, and when one specific search result is clicked on, have the highlight for that result's text change to a different color.
    My current implementation is trying to do this by setting highlights for all the search results, and then when a result is clicked on, setting another highlight with another highlight painter of a different color. Unfortunately, this causes only the second higlight color to be displayed, even though when I look at the editorpane's highlights i can see all of them are being stored.
    Is there something I'm misunderstanding about Highlights?
    Thanks for any help,
    Phil.

    This example shows some ways of playing with attributes and highlights:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.text.*;
    public class TextPaneAttributes extends JFrame
         JTextPane textPane;
         JScrollPane scrollPane;
         Highlighter.HighlightPainter cyanPainter;
         Highlighter.HighlightPainter redPainter;
         public TextPaneAttributes()
              textPane = new JTextPane();
              textPane.setMargin( new Insets(20, 20, 20, 20) );
              StyledDocument doc = textPane.getStyledDocument();
              DefaultHighlighter highlighter = (DefaultHighlighter)textPane.getHighlighter();
              cyanPainter = new DefaultHighlighter.DefaultHighlightPainter( Color.cyan );
              redPainter = new DefaultHighlighter.DefaultHighlightPainter( Color.red );
              //  Set alignment to be centered for all paragraphs
              MutableAttributeSet standard = new SimpleAttributeSet();
              StyleConstants.setAlignment(standard, StyleConstants.ALIGN_CENTER);
              doc.setParagraphAttributes(0, 0, standard, true);
              //  Define a keyword attribute
              MutableAttributeSet keyWord = new SimpleAttributeSet();
              StyleConstants.setForeground(keyWord, Color.red);
              StyleConstants.setFontSize(keyWord, 24);
              StyleConstants.setStrikeThrough(keyWord, true);
              //  Define superscript attribute
              MutableAttributeSet superscript = new SimpleAttributeSet();
              StyleConstants.setSuperscript(superscript, true);
              //  Add initial text
              textPane.setText( "one\ntwo\nthree \nfour\nfive\nsix\nseven\neight\n" );
              //  Change attributes on some keywords
              doc.setCharacterAttributes(0, 3, keyWord, false);
              doc.setCharacterAttributes(20, 4, keyWord, false);
              //  Highlight some text
              try
                   textPane.getHighlighter().addHighlight( 4, 7, cyanPainter );
                   textPane.getHighlighter().addHighlight( 25, 28, cyanPainter );
                   textPane.getHighlighter().addHighlight( 35, 40, cyanPainter );
                   textPane.getHighlighter().addHighlight( 15, 20, redPainter );
              catch(BadLocationException ble) {}
              //  Add some text
              try
                   doc.insertString(0, "Start of text\n", null );
                   doc.insertString(doc.getLength(), "End of text\n", keyWord );
                   doc.insertString(doc.getLength(), "2", null );
                   doc.insertString(doc.getLength(), "1", superscript );
              catch(Exception e) {}
              //  Add text pane to frame
              scrollPane = new JScrollPane( textPane );
              scrollPane.setPreferredSize( new Dimension( 200, 200 ) );
    //          scrollPane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
              getContentPane().add( scrollPane );
              //  Create a Button panel
              JPanel buttons = new JPanel();
              getContentPane().add(buttons, BorderLayout.SOUTH);
              //  Add a Bold button
              JButton bold = new JButton( new StyledEditorKit.BoldAction() );
              buttons.add( bold );
              //  Add Right Alignment button
              JButton right = new JButton( new StyledEditorKit.AlignmentAction("Align Right", StyleConstants.ALIGN_RIGHT) );
              buttons.add( right );
              //  Add Remove Highlight button
              JButton remove = new JButton("Remove Highlight");
              buttons.add( remove );
              remove.addActionListener( new ActionListener()
                   public void actionPerformed(ActionEvent e)
                        int offset = textPane.getSelectionStart();
                        Highlighter.Highlight[] highlights = textPane.getHighlighter().getHighlights();
                        for (int i = 0; i < highlights.length; i++)
                             Highlighter.Highlight h = highlights;
                             DefaultHighlighter.DefaultHighlightPainter thePainter =
                                  (DefaultHighlighter.DefaultHighlightPainter)h.getPainter();
                             if (offset >= h.getStartOffset()
                             && offset <= h.getEndOffset())
                                  textPane.getHighlighter().removeHighlight(h);
         public static void main(String[] args)
              TextPaneAttributes frame = new TextPaneAttributes();
              frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
              frame.pack();
              frame.setVisible(true);

Maybe you are looking for

  • Re sizing photos again

    Hi Playing about with keynote I have found that I can get the right size by using Appearance in Slide Inspector and the image fill option. Very slow as I can only do one slide at a time but at least it works. Only problem is that if the slides do not

  • Multiple Quizzes - Captivate 4

    Hi, I was wondering if there is any way to create multiple quizzes in Captivate 4 in the same project file. I have a learning styles survey based quiz set up, and need to collect 3 varibles, one for auditory, visual, and kinesthetic. Then I want to d

  • Can't recall the Airport Express password

    I've not been using my base station since Verizon came and installed FIOS and said I shouldn't use the base station in conjunction with their modem/router. I am aware this is not true and will get to that later. Tonight I want to listen to iTunes ove

  • Opening a .mov file on a Mac across a Windows network causes hang

    QuickTime player hangs when I try to open a .mov file on a networked Mac OSX machine from my Windows XP machine. This happens 80-90% of the time; that is, not every time, but most of the time. I've tried this from 2-3 different machines, and get the

  • X200: 64-bit Linux guest on 32-bit Windows XP host issues

    I'm encountering an issue when trying to run a 64-bit Debian distribution (using VMWare ACE) on a 32-bit Windows XP SP3 Pro installation.  In short, upon launching the VM I receive an error message stating "Your CPU does not support long mode.  Use a