Adobe forms : problem with ZCI layout

Hi,
I am trying to run webdynpro application 'WDR_TEST_ADOBE'
Navigation path in it,
TestCases -> ZCI ->XML Shnittstelle -> Version 1 -> Editieren Form
Its opens up view with 'X' icon in interactive form area. Also it opens  Adobe applciation. But the form is not visible.
Any idea on why the form is not visible ?
-Trupti

Hi,
just go through this thread...
Re: Adobe interactive form
and also go through this link
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/44/c480dff23c0f2ce10000000a1553f7/frameset.htm
Regards,
anand

Similar Messages

  • Adobe forms - problem with the character "9"

    I have the problem with printing Adobe forms that were introduced with Russian country version.
    Funny enough I have no problems with russian characters. They all print all right.
    We have however the problem with character "9". On the preview of the pdf it looks ok. When I print it from PDF preview it prints ok. But when I process it for sap to the HP output device (device type HPLJ4) "9" gets replaced with "<".
    Has anyone experienced this problem?

    ok, you're right. But, my problem is a little bit different :
    I would like to replace the "\n" character (new line) by the 2 characters "\n".
    I test this source code :
    String tmp = "First line\nSecond line";
    tmp.replaceAll("\n", "\u005C\u005Cn");
    System.out.println(tmp);
    tmp.replaceAll("\n", "\\n");
    System.out.println(tmp);
    tmp.replaceAll("\n", "\\\\n");
    System.out.println(tmp);
    The 3 results are the same :
    First line
    Second line
    I never have "First line\nSecond line".
    Best regards.
    K96
    PS : The objective is to write the string in a SQL request.

  • Smart Form problem with address layout

    Hello everyone,
    I need your help please for a smart form problem. We need the address layout for great britain with street1, street2 etc. but currently street2 is alligned before street1.
    We are using the FM ADDRESS_INTO_PRINTFORM (SAP standard address node) and according to the documenation the layout for GB is different as we see it currently.
    We have checked the sold-to and all contact persons, they have as country GB and language EN maintained.
    In customizing for address screen layout there is nothing chosen (tested to set up Europe, but did not change anything).
    For the customizing 'specify my countries...' we have maintained GB as country with the address layout key 006, vehicle country key GB and language key EN.
    For the described setting shouldn't there be designed the address in our smart forms according to 006? Anyhting in customizing we missed?
    Thanks a lot for your answers.
    Torsten

    Hi,
    Try to use line priority of FM, below is a brief of documentation. You can read it more in FM documentation:
    Control Parameters
    See also the parameter documentation.
    ADDRESS_TYPE - Address type (from 3.0C)
    There are three types of address:
    Address type '1': addresses of firms or organizations; the address
    structure which is used in most SAP applications as 'Address'.
    Address type '2': address of a person
    Address type '3': work address, usually the address of a contact person
    in a company
    The default value SPACE for the address type is handled like type '1',
    and is needed for the upwards-compatibility of the function module.
    Which parameters are used for which address type is explained in the
    ADDRESS_TYPE parameter documentation.
    The three character "address layout key" of the recipient country (LAND1) controls which of the available country-specific routines is used to format addresses for the country in question. This key is stored in field T005-ADDRS and is entered in Customizing under Global settings -> Set countries -> Define countries, on the detail screen under "Address layout key".
    Keys for customer routines in the SAP enhancement SZAD0001 can be
    maintained via the transaction SM30 (extended table maintenance),table
    name T005A, in the customer name range, and be assigned in country customizing.
    The address attributes are passed in the structures ADDRESS1 (type 1), ADDRESS2 (type 2), ADDRESS3 (type 3) or ADRSWA_IN (type SPACE).
    NUMBER_OF_LINES (ADRSWA_IN-ANZZL)
    The number of lines available for the address layout. If the number of
    lines is not sufficient for the complete layout of an address, then
    lines are consecutively suppressed according to the rules of the country in question. Use the parameter LINE_PRIORITY (ADRSWA_IN-PRIOR) overrules the standard sequence in which the output lines are to be suppressed.
    LINE_PRIORITY (ADRSWA_IN-PRIOR)
    If not equal to SPACE, this field overwrites the standard sequence in
    which the lines are suppressed if the available number of lines ANZZL is
    insufficient.
    The standard sequence is defined as follows:
    Type 1:   'AP43HRT7I86LC2BS5O'       (GB:  'APRT4327I86CBS5LO')
    Type 2:   'APHRT7I86LCBS5O'          (GB:  'PRT7I86CBS5LO')
    Type 3:   'APF43HR7I86TLC2BSND5O'    (GB:  'APRT4327I86CBS5LNDIO')
    where (if they occupy a line of their own):
    A = Title
    P = Mandatory empty line 1
    F = Function of the contact person in the company
    4 = Name 4
    3 = Name 3
    H = Different city
    R = Region
    T = District
    L = Name of country
    C = Postal code
    T = District
    7 = Street 3 (field STR_SUPPL2)
    I = Street 5 (field LOCATION)
    8 = Street 4 (field STR_SUPPL3)
    6 = Street 2 (field STR_SUPPL1)
    L = Country
    C = Postal code
    2 = Name 2
    B = PO Box
    S = Street or PO Box
    5 = c/o name
    N = Name (and title) of a person
    D = Department
    O = City
    Which of these attributes are available for maintenance can vary. All
    fields exist in Business Address Services.
    STREET_HAS_PRIORITY (ADRSWA_IN-WAREN)
    'X': Street has priority over PO Box (delivery address for example)
    ' ': PO Box has priority over street. This is the default value.
    regards,

  • Adobe Form - Problem with Cyrillic texts on zebra printers (ZPL)

    Hello,
    we have problems with an adobe form. We try to print this adobe form on a zebra printer with the device type "AZPL203". In this adobe form we have to print the material description in german and russian language.
    When we print out the adobe form on a normal printer (e.g. HP) everything is fine. But when we print the form on a zebra printer, the russian textwill not be printed on the label. In the print preview of the form, we will see the correct russian text.
    So can anybody help me?
    Did anybody print cyrillic text on a zebra printer?
    Thanks in advance.
    Marc.

    Good afternoon,
    First.. I apologize because I know this is the wrong thread.  But the folks in this thread apparently have the missing piece of info that I/we desperately need..  Could you please help me to understand what I'm missing, or at least point me to a forum with the answer? 
    We have a few tags that print to a Zebra Z105SL printer via Smartforms.  But due to recent design changes in the tags, and a desire to stay up with current technology, we/I would like to design the new tags in Adobe PDF-forms.  The design is not a problem, but we cannot get SAP and the Zebra printer to make nice and print anything.  For now, I've created a simple tag with a text field and a couple of bar codes on it, just to test and prove that the Zebra will print a PDF.  We are using PDF-forms for several of our business forms, so everything works, but the Zebra just won't print a PDF.  I don't know what I'm missing..  I know it's possible, but I can't figure out the "how" part.  Could you please let me know how you did it?
    Many thanks!
    Bill

  • Problem in submit button on adobe form integrated with web dynpro

    Hello,
    I'm facing prob in triggering web dynpro event onSubmit for Interactive form.
    I've created a submit button from web dynpro activex pallete on adobe form (integrated with web dynpro) to send the form as email.
    Then in the web dynpro view where this form is embedded i have created an action against onSubmit event and called a method within this.
    However, on clicking Submit button this event is not getting triggered.
    Please let me know what is lacking in this process?
    Thanks.

    Hi,
    I am also facing the same problem. i have developed a simple scenario under which user have to input his/her details and on submit button it will be updated to database.
    I have tried the above solution but after adopting this solution all the editable fields become non-editable.
    so the above solution is not working for me could you help me out.
    I think ... try this....
    When you create the Adobe Form from WebDynpro, you need to follow one step in SFP Transaction or inSE80 transaction. Open the Adobe Form in any one the transaction and now in SAP menu bar "Utilities" in that you will find the "INSERT THE WEBDYNPRO SCRIPT" just click on that one. Then you will see a new Script Object is being created with the name "ContainerFoundation_JS" under the "Variables" in the Heirarchy of the Object Pallete of the Adobe Form.
    This step is mandatory to use the SUBMIT Button of the "WebDynpro Native", to trigger the OnSubmit event of the WebDynpro.
    Thanks
    Edited by: shailendra2sap on Mar 6, 2009 12:24 PM

  • ISR drop-down lists with ZCI layout

    Hi,
    We are developing a custom ISR scenario on Netweaver 2004s SP11 and Adobe LiveCycle Designer 7.1. Our Interactive form has a drop-down list which is supposed to get prefilled. When we use the ZCI layout, the drop-down is not showing any values. If we simply change the layout type to Standard, it is working fine. While using ZCI layout, we inserted the webdynpro script and used ISR native controls.
    Why the drop-down is not working with ZCI layout? Are we missing any thing?
    Appreciate your response
    Thanks
    Ram

    It is solved. The issue was with binding.

  • Problems with the Layout Priority in KM

    Hello, I have some problems with the Layout Priority in KM..
    I'm using a KM Navigation Iview with "<i>Layout Set</i>"=NewsBrowser (this Layout Set uses a Collection renderer that sorts the folder's contents by "last modified") and "<i>Layout Set Mode</i>"=exclusive.
    In the KM folder I setted in <i>Details->Settings->Presentation</i> as "<u>rndSortProperty</u>"=name because I need to order my files by FileName property.
    Despite that in see that the contents showed in my iview are ordered by Last Modified...
    The "<i>Layout Set Mode</i>" exclusive gives the higher priority to the Folder Settings..
    I don't understand..
    Thank you in advance.

    Thank you Shyja,
    your post was helpful, but another issue is occurred.
    Maybe en example could be useful..
    My scenario:
    - I need to show a km folder with layout set "<i>ConsumerExplorer</i>" on root folder (no "property of sorting" setted on its collection renderer) and "<i>TabExplorer</i>" (no "property of sorting" setted on its collection renderer).
    - I need to sort files and folders by "last modified". By default seems that they are sorted by "name".
    - With my administrator user I open my folder details (in Content Admin->KM Content is used the Layout "<i>AdminExplorer</i>"), and in "Settings->Presentation->Additional Parameters" I add two parameters "<i>rndSortOrder</i>=descending" and "<i>rndSortProperty</i>=modified" (the others are parameters of AdminExplorer Layout).
    - Then I check "Apply Settings to All Subfolders" and "Use Settings for All iViews (Preferred Presentation)".
    result:
    I see the "<i>ConsumerExplorer</i>" on root folder, the subfolder are sorted by "last modified" (everything ok).
    I click on a subfolder, the "TabExplorer" si showed, the Tabs and the content are sorted by "last modified" BUT..
    .. into the tabs are showed <u>nameFolders</u> (in link style), <u>the action command</u>, and the properties of "<u>author</u>" and "<u>last modified</u>" (normally into the tabs are showed just the folderNames in text style)...
    Why?? Is possible that the "AdminExplorer" parameters of the km folder affect the Tab component??
    Thank you

  • Adobe Send - Problem with uploading files. When is this going to get fixed?

    When is the Adobe Send problem with uploading files going to get fixed. Similar to others - I have tried and tried to make Adobe Send work and get an error. I have tried to upload the file and it looks like it uploads and then - it is nowhere to be found.
    I then go to Adobe Send Now and it works fine.

    The problem is the same as described in other similar threads.
    I have a 57 MB PowerPoint file I am trying to send using Adobe Send. I go through the normal steps to identify the file and select recipients and then send the file. After the file completes the upload - an error saying there was a problem comes up and the file is not uploaded.
    I have tried to upload the file to the site with similar results - error and the file doesn't go.
    I can go to the old SendNow site and it works flawlessly.
    If I need to get screenshots - let me know. There are several other threads describing this same problem. It isn't something new or not heard of before.
    Sent from my iPod

  • No Save option with ZCI Layout

    Hi,
    We are currently implementing HCM Forms in MSS and using Adobe interactive forms for the same. We were initially using the standard layout. However, as recommended by SAP, we switched to the ZCI layout format.
    However, with the new layout, when the Adobe forms shows up on the portal, the save icon to save the form on the hard disk is not coming up anymore. Basically the entire toolbar which allows Saving, Printing etc is not there anymore. We can still print the form by right clicking on it and selecting the Print option. However, there is no option to save the form.
    We would also like to add the Digital signature functionality to the form and wondering how to go about that.
    Any help will be appreciated.
    Regards,
    Alok

    I am checking this out. In all the scenario which i have tested.. by default the toolbar is visible. I doubt somebody might have written some code to hide it by default.
    We can hide the tool bar through coding ... But not very sure why it is happening in your case
    Please refer to the help file for the coding to hide the toolbar
    http://help.sap.com/saphelp_nw2004s/helpdata/en/45/2dbb13d79f3446e10000000a155369/frameset.htm
    Also we can hide the tool bar through java script.
    Please check if any of the code is written in your case. Otherwise you can do coding to do the reverse means to display the tool bar by default.
    Cheers
    Satya

  • Adobe form: Issue with BACK, CANCEL and EXIT buttons

    I am new to Adobe forms. I created a simple demo Adobe form and was able to print it successfully except a strange problem.
    Whenever I opt for print preview it shows me a blank page. On pressing enter it shows me the form, But now none of the BACK, EXIT, CANCEL buttons work. On pressing any of them I keep getting the print form.
    So the only way I can come out of it is /n.
    Can anyone please help with the reason for such an issue and how to get rid of it.
    Regards,
    Ashutosh

    Maybe you can tell us something more about the code you use to print your form. I think thatis the problem. Otto

  • How to design a single adobe form having 5 different layouts

    Hi,
    I have a requirement wherein i have 5 different layouts to be designed in a single adobe form, since i am new to adobe forms please can anybody tell me how to desgin this.
    Thanks.
    Moderator Message: Please post the questions in the right forum. Also, I suggest you take a proper class room training in Adobe forms.
    Edited by: kishan P on Nov 2, 2010 12:02 PM

    Hi Roopesh,
    We cannot change the Page Layout and Orientation dynamically in Adobe forms.
    To achieve this Create two forms with different layouts each.

  • Adobe Form Table with multiple rows

    Hi,
       I am facing problem with mutliple rows item in the table. A row which doesn't have data is occuping the space in the form. Need solution to  remove the space .
    i used the code in Form CALC in client.
    if (HasValue($) == 0)
    then $.presence = "hidden"
    else $.presence = "visible"
    endif
      But it is not working. And also i need display a text field based on the condition.in the form How can i write code in the Form CALC. Plz help me out in this.
    Thanks & Regards,
    Narasimha

    Hi Narsimha,
    First of all why is your blank row getting displayed?Adobe automatically takes care of this. It would display a new row only if there's flow of data in the next row. i.e. if you have a new item to be displayed in this new row.
    You must check your table properties first.
    For hiding fields i can help you.But I m not sure if this issue is still open.
    Swar.

  • Interactive form: problem with ValueHelp in table

    I have InteractiveForm element  in my WDA.
    The form has Table. One of the columns of the table is ValueHelp button from WebdynproNative library.
    The form executes ContainerFoundation_JS code on the ValueHelp click event just fine.
    The Search help gets called just fine.
    My problem is that the Table cell on the form doesn't get populated with the value selected on the search help.
    The Table is bound ro WDA context.
    I am afraid that Adobe gets confused with the row number to return the Help value.
    I have no problem with ValueHelp button on a single TextField (not in a table).
    But within the Table....
    Is ValueHelp working in a Table?
    Any help is greatly appreciated,
    Tatyana.

    Ralph,
    I followed you advice and created identical WDA's and forms in "ECC box" and "RPM box".
    To clarify, "ECC box" is:
    - component version = SAP ECC 6.0
    - SAP_BASIS package level 20
    "RPM box" is:
    - component version = SAP Netweaver 2004's
    - SAP_BASIS package level 17
    I didn't have problems in "ECC box".. Value help in table was working.
    There was some disconnection between WDA table and PDF table in  "RPM box".
    I noticed differences in schemas generated from WDA: "RPM box" schema was not same as "ECC box" schema.
    I believe that it is WDA issue giving me a problem, since I generated XML schemas using right  click on IneratctiveForm object in WDA.
    We defenetly need to update RPM system to a nigher package or try to find OSS note  to fix the issue.
    Points are awarded.
    Ralph, thank you very much for helping me to identify the problem!
    Tatyana.
    Otto,
    I thought you are SAP mentor...
    Somebody with exactly same name as yours sounds like a grampy person in many of  his replies...

  • Problems with Overlay Layout - can anyone spot something wrong/missing?

    Hi folks, I'm developing a tool that allows you to draw rectangles around objects on an image. The rectangles are then saved, and you can move between images. For some reason, though my rectangles are not drawing on the panel. I am using the Overlay Layout. Can anyone spot what I'm doing wrong? (The TopPanel canvas appears to be there, as it's taking input from the mouse - the problem is simply that the red rectangles are not drawing on the panel). Please help!!
    So you know, there is a JFrame in another class which adds an instance of the ObjectMarker panel to it. It also provides buttons for using the next and previous Image methods.
    Any other general advice is appreciated too.
    * Object_Marker.java
    * Created on 07 April 2008, 15:38
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Point;
    import java.awt.Rectangle;
    import java.awt.RenderingHints;
    import java.awt.event.MouseEvent;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.LinkedList;
    import java.util.List;
    import javax.imageio.ImageIO;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.OverlayLayout;
    import javax.swing.event.MouseInputAdapter;
    * @author Eric
    public class ObjectMarker extends javax.swing.JPanel {
         private static final long serialVersionUID = 6574271353772129556L;
         File directory;
         String directory_path;
         Font big = new Font("SansSerif", Font.BOLD, 18);
         List<File> file_list = Collections.synchronizedList(new LinkedList<File>());
         String[] filetypes = { "jpeg", "jpg", "gif", "bmp", "tif", "tiff", "png" };
         // This Hashmap contains List of Rectangles, allowing me to link images to collections of rectangles through the value 'index'.
         public static HashMap<Integer, List<Rectangle>> collection = new HashMap<Integer, List<Rectangle>>();
         BufferedImage currentImage;
         Thread thread;
         Integer index = 0;
         OverlayLayout overlay;
         private TopPanel top;
         private JPanel pictureFrame;
         String newline = System.getProperty("line.separator");
          * Creates new form Object_Marker
          * @throws IOException
         public ObjectMarker(File directory) {
              System.out.println("Got in...");
              this.directory = directory;
              File[] temp = directory.listFiles();
              directory_path = directory.getPath();
              // Add all the image files in the directory to the linked list for easy
              // iteration.
              for (File file : temp) {
                   if (isImage(file)) {
                        file_list.add(file);
              initComponents();
              try {
                   currentImage = ImageIO.read(file_list.get(index));
              } catch (IOException e) {
                   System.out.println("There was a problem loading the image.");
              // 55 pixels offsets the height of the JMenuBar and the title bar
              // which are included in the size of the JFrame.
              this.setSize(currentImage.getWidth(), currentImage.getHeight() + 55);
         public String getImageList() {
              // Allows me to build the string gradually.
              StringBuffer list = new StringBuffer();
              list.append("Image files found in directory: \n\n");
              for (int i = 0; i < file_list.size(); i++) {
                   list.append((((File) file_list.get(i))).getName() + "\n");
              return list.toString();
         private void initComponents() {
              top = new TopPanel();
              pictureFrame = new javax.swing.JPanel();
              OverlayLayout ol = new OverlayLayout(this);
              this.setLayout(ol);
              this.add(top);
              this.add(pictureFrame);
          * private void initComponents() {
          * javax.swing.GroupLayout pictureFrameLayout = new
          * javax.swing.GroupLayout(pictureFrame);
          * pictureFrame.setLayout(pictureFrameLayout);
          * pictureFrameLayout.setHorizontalGroup(
          * pictureFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          * .addGap(0, 497, Short.MAX_VALUE) ); pictureFrameLayout.setVerticalGroup(
          * pictureFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          * .addGap(0, 394, Short.MAX_VALUE) );
          * javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
          * this.setLayout(layout); layout.setHorizontalGroup(
          * layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          * .addComponent(pictureFrame, javax.swing.GroupLayout.DEFAULT_SIZE,
          * javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) );
          * layout.setVerticalGroup(
          * layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
          * .addComponent(pictureFrame, javax.swing.GroupLayout.DEFAULT_SIZE,
          * javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); }
          * This function returns the extension of a given file, for example "jpg" or
          * "gif"
          * @param f
          *            The file to examine
          * @return String containing extension
         public static String getExtension(File f) {
              String ext = null;
              String s = f.getName();
              int i = s.lastIndexOf('.');
              if (i > 0 && i < s.length() - 1) {
                   ext = s.substring(i + 1).toLowerCase();
              } else {
                   ext = "";
              return ext;
         public String getDetails() {
              saveRectangles();
              StringBuffer sb = new StringBuffer();
              for (int i = 0; i < file_list.size(); i++) {
                   try{
                   int count = collection.get(i).size();
                   if (count > 0) {
                        sb.append(file_list.get(i).getPath() + " "); // Add the
                        // filename of
                        // the file
                        sb.append(count + " "); // Add the number of rectangles
                        for (int j = 0; j < collection.get(i).size(); j++) {
                             Rectangle current = collection.get(i).get(j);
                             String coordinates = (int) current.getMinX() + " "
                                       + (int) current.getMinY() + " ";
                             String size = ((int) current.getMaxX() - (int) current
                                       .getMinX())
                                       + " "
                                       + ((int) current.getMaxY() - (int) current
                                                 .getMinY()) + " ";
                             String result = coordinates + size;
                             sb.append(result);
                        sb.append(newline);
                   } catch (NullPointerException e){
                        // Do nothing.  "int count = collection.get(i).size();"
                        // will try to over count.
              return sb.toString();
         private boolean isImage(File f) {
              List<String> list = Arrays.asList(filetypes);
              String extension = getExtension(f);
              if (list.contains(extension)) {
                   return true;
              return false;
         /** Draw the image on the panel. * */
         public void paint(Graphics g) {
              if (currentImage == null) {
                   g.drawString("No image to display!", 300, 240);
              } else {
                   // Draw the image
                   g.drawImage(currentImage, 0, 0, this);
                   // Write the index
                   g.setFont(big);
                   g.drawString(index + 1 + "/" + file_list.size(), 10, 25);
         public void nextImage() throws IOException {
              if (index < file_list.size() - 1) {
                   printOutContents();
                   System.out.println("Index: " + index);
                   saveRectangles();
                   index++;
                   currentImage = ImageIO.read(file_list.get(index));
                   this
                             .setSize(currentImage.getWidth(),
                                       currentImage.getHeight() + 55);
                   top.setSize(this.getSize());
                   top.rectangle_list.clear();
                   if (collection.size() > index) {
                        loadRectangles();
                   repaint();
         private void saveRectangles() {
              // If the current image's rectangles have not been changed, don't do
              // anything.
              if (collection.containsKey(index)) {
                   System.out.println("Removing Index: " + index);
                   collection.remove(index);
              collection.put(index, top.getRectangleList());
              System.out.println("We just saved " + collection.get(index).size()
                        + " rectangles");
              System.out.println("They were saved in HashMap Location " + index);
              System.out.println("Proof: ");
              List<Rectangle> temp = collection.get(index);
              for (int i = 0; i < temp.size(); i++) {
                   System.out.println("Rectangle " + (i + 1) + ": " + temp.get(i));
              // If the rectangle list has changed, set the list the current index
              // as the new list.
         private void loadRectangles() {
              System.out.println("We just loaded index " + index
                        + " into temporary memory.");
              System.out.println("Proof: ");
              List<Rectangle> temp = collection.get(index);
              top.rectangle_list = collection.get(index);
              for (int i = 0; i < temp.size(); i++) {
                   System.out.println("Rectangle " + (i + 1) + ": " + temp.get(i));
         private void printOutContents() {
              System.out.println();
              System.out.println("Contents printout...");
              for (int i = 0; i < collection.size(); i++) {
                   for (Rectangle r : collection.get(i)) {
                        System.out.println("In collection index: " + i + " Rectangle "
                                  + r.toString());
              System.out.println();
         public void previousImage() throws IOException {
              if (index >= 1) {
                   printOutContents();
                   System.out.println("Index: " + index);
                   saveRectangles();
                   index--;
                   currentImage = ImageIO.read(file_list.get(index));
                   this
                             .setSize(currentImage.getWidth(),
                                       currentImage.getHeight() + 55);
                   top.setSize(this.getSize());
                   top.rectangle_list.clear();
                   if (index >= 0) {
                        loadRectangles();
                   repaint();
         public void removeLastRectangle() {
              // This method removes the most recent rectangle added.
              try {
                   int length = collection.get(index).size();
                   collection.get(index).remove(length - 1);
              } catch (NullPointerException e) {
                   try {
                        top.rectangle_list.remove(top.rectangle_list.size() - 1);
                   } catch (IndexOutOfBoundsException ioobe) {
                        JOptionPane.showMessageDialog(this, "Cannot undo any more!");
    * Class developed from SSCCE found on Java forum:
    * http://forum.java.sun.com/thread.jspa?threadID=647074&messageID=3817479
    * @author 74philip
    class TopPanel extends JPanel {
         List<Rectangle> rectangle_list;
         private static final long serialVersionUID = 6208367976334130998L;
         Point loc;
         int width, height, arcRadius;
         Rectangle temp; // for mouse ops in TopRanger
         public TopPanel() {
              setOpaque(false);
              rectangle_list = Collections
                        .synchronizedList(new LinkedList<Rectangle>());
              TopRanger ranger = new TopRanger(this);
              addMouseListener(ranger);
              addMouseMotionListener(ranger);
         public List<Rectangle> getRectangleList() {
              List<Rectangle> temporary = Collections
                        .synchronizedList(new LinkedList<Rectangle>());
              temporary.addAll(rectangle_list);
              return temporary;
         protected void paintComponent(Graphics g) {
              super.paintComponent(g);
              Graphics2D g2 = (Graphics2D) g;
              g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                        RenderingHints.VALUE_ANTIALIAS_ON);
              g2.setPaint(Color.red);
              // Draw all the rectangles in the rectangle list.
              for (int i = 0; i < rectangle_list.size(); i++) {
                   g2.drawRect(rectangle_list.get(i).x, rectangle_list.get(i).y,
                             rectangle_list.get(i).width, rectangle_list.get(i).height);
              if (temp != null) {
                   g2.draw(temp);
         public void loadRectangleList(List<Rectangle> list) {
              rectangle_list.addAll(list);
         public void addRectangle(Rectangle r) {
              rectangle_list.add(r);
    class TopRanger extends MouseInputAdapter {
         TopPanel top;
         Point offset;
         boolean dragging;
         public TopRanger(TopPanel top) {
              this.top = top;
              dragging = false;
         public void mousePressed(MouseEvent e) {
              Point p = e.getPoint();
              top.temp = new Rectangle(p, new Dimension(0, 0));
              offset = new Point();
              dragging = true;
              top.repaint();
         public void mouseReleased(MouseEvent e) {
              dragging = false;
              // update top.r
              System.out.println(top.getRectangleList().size() + ": Object added: "
                        + top.temp.toString());
              top.addRectangle(top.temp);
              top.repaint();
         public void mouseDragged(MouseEvent e) {
              if (dragging) {
                   top.temp.setBounds(top.temp.x, top.temp.y, e.getX() - top.temp.x, e
                             .getY()
                             - top.temp.y);
                   top.repaint();
    }Regards,
    Eric

    Alright so I fixed it! I created a new class called BottomPanel extends JPanel, which I then gave the responsibility of drawing the image. I gave it an update method which took the details of the currentImage and displayed it on the screen.
    If anybody's interested I also discovered/solved a problem with my mouseListener - I couldn't drag backwards. I fixed this by adding tests looking for negative widths and heights. I compensated accordingly by reseting the rectangle origin to e.getX(), e.getY() and by setting the to original_origin.x - e.getX() and original_origin.y - e.getY().
    No problem!

  • Smart form problem with multiple pages & table problem

    Hi experts,
    I have a problem with my smart form with multiple pages
    Situation: I have a smart form that ALWAYS has at least 2 pages. In one page the quotation, in the second page (basically this is the 3rd page as the 2nd page is optional) the terms and conditions. Sometimes however, when there are many items in the quotation more than 1 page is needed for the quotation.
    The (optional) second page of a quotation has a different header than the first page of a quotation. So I made a second page with 2 secondary windows (where the header texts are in). The main window is after the secondary windows and has to finish the quotation.
    The problem is that my headers of the second page are never printed, it stays a blank space. The table however does continue and is printed.
    Another problem I have is that I have a table (with the quotations) with 6 columns. The first 2 columns are displayed correctly but once the 3rd column the columns are shown on a lign below.
    Regards,
    PJ

    I would suggest another approach to this problem.
    Use just one page. For the headers on the first page, use a secondary window and on the conditions tab, choose the additional event - Only on First Page.
    For the different header on the second page, create another secondary window on the same page (probably even overlapping the first header on your layout). But in this one, on the conditions tab, choose the additional event - Not on First Page.
    The table should flow as you would be using the Main window for this one.
    As for columns, if they are too wide and wont fit in the same line, it would move to the next line. So you would have to re-adjust the line width and test.
    Hope this resolves your problem.
    Regards,
    Ancy
    Edited by: abapfreak on Oct 4, 2010 11:52 AM

Maybe you are looking for

  • OS 4.1 Tethering with windows "network cable unplugged"

    wow, this just happened to me. Tethering was working for me yesterday. After my update to 4.1 (not sure if this has anything to do with it) it no longer works. The tethering network connection is there in my network connections, but it shows as disco

  • Post installation errors

    Hi Friends, I Installed Oracle 11i 11.5.9 on Linux 4.0 Advanced Server. I am using the same machine for Server and client to logon to Oracle Applications, using Mozilla browser. The system Post-Installation Check inspected my system for a completed i

  • Can the Dual 1.8 GHz processor be replaced with the Dual 2.5 GHz?

    I don't know a lot about processors and compatibility, so I was wondering if anyone could tell me if this upgrade is possible. Thanks!

  • Why I can't install Mac OS X.4?

    hello! I have PowerPC G4 867 Mgz with 384 MB DDR SDRAM and I'd like to know why I can't install de Mac OS 10.4? When I click the installer, the computer shuts down and reestart asking for a language. Then I choose English and the installer say prepar

  • Reliable Messaging in WLS 9

    Hi, We found the WLS9 RM source endpoint doesn't send out the "LastMessage" and "TerminateSequence" message. We just followed the simple example of "reliable". Every other things worked well. Could any one give some help? It is the configuration issu