Overwrite paint() menthod

Hi
I have one problem with paint() method, i opened the multiple audio files at a time or one by one
corresponding files are opened( wave forms) in respective internalFrame,
For that in file open i am creating new instance of JInternal frame and adding the BuildGUI inner class object to the jif contentpane,
BuildGui class has a panel in that call the SamplingGraph class which extends JPanel.
SamplingGraph instance is creating in BuildGUI only, and paint() method is in SamplingGraph.
When ever i open the wave file that is painting fine, but open one more file the the latest file wave form is in both internalframes. how can i stop previous Jinternalframe repaint(),
i am calling the repaint() method , even any internal frame is moved something paint is called again,
how can i prevent this
Is there any way customize paint() method if you know please send me.

I used paintComponet() but no difference.
important thing is when ever I open second file the two waves are opening recentopened frame,
Is there any problem with desktoppane or InternalFrames
Now I am using two paintComponents serately,
only recent frame updating.

Similar Messages

  • Painting JPanels and graphics

    I have a JPanel into which want to display boxes of data connected by lines. The boxes are JPanels (with a ScrollPane and JList) and the lines simply Graphics2D objects. I have overridden the paint(g) method of the enclosing panel to call super.paint(g) followed by my graphics calls. This works fine on start-up and repaint (from maximizing), but when I resize the main panel, the middle of the panel doesn't show the graphics (the inner panels display fine). I think I see the graphics being drawn then erased, but I'm not sure. Reviewing the Painting in AWT and Swing articles hasn't helped. I've tried various versions of paintComponent(), paintChildren(), etc. as alternatives, but the problem remains (or I never see the graphics at all). This seems like a timing and clipping problem but I can't figure it out. Can anyone explain what resize is doing that is different than a normal paint? How should one combine JPanels and graphics?Thanks.

    Unfortunately, overriding paintComponent() causes the graphics to be completely over-written for some reason. The problem is apparently when the inner Panels are written (I guess by paintChildren()). I'm following the directions in Doing Without a Layout Manager in the Java Tutorial: setting the outer JPanel's layout to null, explicitly setting the bounds of the inner JPanels and overwriting paint() with super.paint() (which paints the inner panels correctly) followed by my graphics code. All is well until I resize.
    Now the Doing Without a Layout Manager page states "However, creating containers with absolutely positioned containers can cause problems if the window containing the container is resized." Guess they're right ;-) Anyone know how to get around this problem?

  • Using text as a hyperlink to call a program (Notepad)

    I am making a About Dialog which contains some text.
    A small part of the text must be a hyperlink (blue and underlined). When clicked, Notepad must open with the license agreement.
    This I will do, nothing else (no discussion on this).
    But how to do it?
    I could overwrite paint method of the JDialog, but I cannot use easily underlined text with g.drawString...
    Next I had the idea of using JLabels. But it would be a lot of assembling the labels and configuring the layout manager.
    Then I thought about using subclass of Document with a JTextPane. But I don't know if I can use hyperlinks that way for my purpose.
    What do you think about the three ideas, or do you have a solution?

    The labels idea seems like the simplest to me. I know there's a way to do hyperlinks in an HTMLEditorPane (don't know if this is exactly the right classname) but it isn't simple, and I have no experience with it myself. I really like your idea of displaying the licence agreement in Notepad though, it gives the licencee a chance to modify it before agreeing to it. Other licences I have agreed to are so rigid, they don't let you change anything.

  • System tray functionality in java

    Hi friends,
    I wanted to know which is the best package to use for implementing the system tray functionality in java.
    I read about systray, jtray,trayicon etc. I saw that TrayIcon is included in jdk 1.6. Is there any other included package in swing which will do this?
    i am just a beginner in swing programming.
    Thanks in advance.

    i would say not. as far as i can remember you can't directly set icons on a AWT MenuItem.
    and you shouldn't mix awt and swing components and most of the time can't do it anyway.
    however, if you have your own MenuItem i recon you could overwrite paint and paint the icons,
    i.e. images yourself using graphics2D methods.
    if you want to dig deeper into it, there are some good tutorials on paint:
    [http://java.sun.com/products/jfc/tsc/articles/painting/]
    might be worth, if you really want to have images and icons on your menuitems.
    i have never done this myself for awt components, but it should work.
    just found something interesting though:
    [http://atunes.svn.sourceforge.net/viewvc/atunes/aTunes_HEAD/src/net/sourceforge/atunes/gui/views/controls/JTrayIcon.java?view=markup]
    apparently, using this class, which derives from the normal TrayIcon, you can set a JPopupMenu and therefore use normal swing components.
    i did not try it though, but it looks very promising.
    Edited by: produggt on 20.08.2008 22:08

  • Paint overwrites other internalframe's image, why???

    hi i m developing the image processing s/w ,when i m displaying images
    in different internal frames. i used paint() to draw image.
    but when i open new image that image overwrites on other frames also.
    here i m defining the image variable static. but if i dont do that then it will not take any effect means no operations performed.what should i do?so my image not overwrite on other images and take operations.
    public class ScrollingImgPanel extends JScrollPane
         BufferedImage static image;
         RenderedOp src;
         BufferedImage pic;
         public ScrollingImgPanel()
         setBackground(Color.white);
         addMouseListener();
         //repaint();
         //setImage(img);
         public void setImage(RenderedOp src)
         setPreferredSize(new Dimension(src.getWidth(),src.getHeight()));
         this.src = src;
         System.out.println("rop in setImage"+src);
              PlanarImage renderedImage = src.createInstance();
         pic = renderedImage.getAsBufferedImage();
              this.image = pic;
              System.out.println("rop in setImage"+image);
              //pic = image;
              repaint();
         public void paint(Graphics g)
         System.out.println("IMAGE REACHES TO PAINT");     
         Graphics2D g2 = (Graphics2D)g;
         int width = image.getWidth();
         int height = image.getHeight();
         //System.out.println(pic);
         this.getGraphics();
         g2.drawImage(image,0,0,null);
         }

    Hi
    I think that you should not override the paint method of a JScrollPane. (I think you will have problems to see scrolling bars in that way...)
    You'd rather make your ScrollingImgPanel extend JPanel, and override the methode paintComponent().
    I don't see, looking at your code, why you keep a reference on the RenderedOp src, since it has probabily allready been rendered. If I where you, I'll probabily write smthg like:
    public class ScrollingImgPanel extends JPanel {
    BufferedImage image;
    public ScrollingImgPanel(){
        //double buffering improve repaint calls
        setDoubleBuffered(true);
        //autoScroll is a nice feature, but you have to use JRE 1.4.X.
        setAutoScrolls(true);
        //your initializations
    public void setImage(RenderedOp src) {
        image = src.getAsBufferedImage();
        setPreferredSize(new Dimension(image.getWidth(),image.getHeight()));
        repaint();
    public void paintComponent(Graphics g) {
        Graphics2D g2 = (Graphics2D)g;
        g2.drawImage(image,0,0,null);
        // maybe other drawing operations
    }Then you can instantiate as many ScrollingImgPanel as you like, putting them in a JScrollPane.
    Hope this will help.

  • Paint background of a JDialog

    Hey,
    i have a quite simple problem: I want to paint the background of my own JDialog, but i dont know how. I looked for a method like paintComponent(Graphics g) like in a JPanel, but there is no function. So i overwrite the method paint(Graphics g) but this doesnt work because my JList and JButtons on the dialog won?t be shown anymore.
    Any idea? Thanks a lot.
    Ohnoooooo!

    OhNo wrote:
    i have a quite simple problem: I want to paint the background of my own JDialog, but i dont know how. I looked for a method like paintComponent(Graphics g) like in a JPanel, but there is no function. On looking through the forum, I've found threads such as this one:
    http://forum.java.sun.com/thread.jspa?threadID=5257250&tstart=30
    Where it is recommended to do custom painting in a BufferedImage, then draw the BufferedImage in a JPanel's paintComponent override. Then add your JList, JButtons, and whatnot to the same JPanel. And then finally add the JPanel to the contentPane of the JApplet and you should be good to go.
    Many here have their GUI programs produce a JPanel as the final product. This increases flexibility quite a bit, since if the GUI is needed as a JFrame, simply add the JPanel to a JFrame, if a dialog, add the panel to a JDialog, and finally if a JApplet is needed, simply add the JPanel to the JApplet.
    Good luck!

  • Report Painter for all module

    Hi,
    Is report painter can be use by MM,PP,SD module ?
    in ECC6, we can use report painter for module FI, how about module MM,SD and PP ? 
    if it can use for those module too, how is the step?

    Hello Callia Raissa,
    Yes report writer can be used in logistics also. One of the way which I am aware of is described below.
    Flexible analyses allow you to can tailor the way in which key figures are combined and aggregated. This means that it is possible to both provide administrators with detailed information and management with aggregated information.
    Flexible analyses enable easy access to the Report Writer, a user-friendly tool with which you can create reports for various analyses. The Report Writer is integrated in other SAP applications, such as Extended General Ledger and Cost Center Accounting.
    Evaluation structures form the interface to the Report Writer. Evaluation structures consist of characteristics and key figures and are easy to construct.An evaluation structure with the same name exists for each information structure in the standard system.Even the self-defined information structures created in Customizing can be evaluated via the flexible analyses.
    Evaluations:You can create an evaluation on the basis of the evaluation structure.
    To define an evaluation, all you need to do is select the characteristics and key figures you require (pick-up technique).One of the especially useful features here is that you have the option of tailoring the layout of your report to suit your particular requirements. You can also define extra key figures for the reports, which are derived from existing key figures by means of calculation formulas. You can thereby multiply the key figures or divide one key figure by another.
    ============================================================
    In addition to the above you can also edit a report in logistics module with the help of a report writer. below mentioned is the process for it.
    It is now possible to edit your report data using the Report Writer. You can also change the layout of the report. The most important functions of the layout design are summarized below.
    Summation levels:In the report screen, you can use the menu sequence View ->Summation level to specify the number of summation used to calculate total values. All totals that do not lie within the specified interval will be hidden. A summation level corresponds to a hierarchical level (for example, material level). Summation level 1 is the lowest hierarchical level. Summation level 2 is the next level up, and so on. The individual values are on the summation level 0.
    The summation levels can be specified both universally (for the entire report) or locally (for specific blocks of rows). In this case, the local settings overwrite global values.
    Report views:If a report is displayed on the screen, the Report Writer will then set page breaks so that exactly one page fits into the current window. This view will be defined as the standard view. As the Report Writer always processes exactly one page, you can only use the page keys and page icons to page up and down; the scroll bars cannot be used.
    The page view can be determined via Settings-> Page view. The page breaks in the page view correspond to those defined in the report layout.
    Hide and show rows:The function Edit->Hide rows exclude certain preselected areas of your report from the display. You can undo this command with Edit ® Show rows.
    Expanding and collapsing report rows:View-> Hierarchy->Collapse allows you to hide the report rows of the sub-trees that are located underneath. View->Hierarchy ->Expand allows you to undo this command level by level.
    If you want to display all the report rows that were hidden by collapsing the hierarchy or restricting the summation levels, select, View->Hierarchy-> Expand all.
    View->Collapse all allows you to reduced every row block to the highest summation level.
    Texts and Annotations:You can create an annotation for your report.
    Select: Extras->Annotation.
    You branch into the text editor of the Report Writer.
    Via the menu sequence Settings->Texts, you can create and format a title page, the last page, as well as headers and footers using word processing functions.
    For example, you can store variables in the header for the author of the report, the date of the selection or the name of the person who last changed the report.
    Layout parameters:Using the menu sequence Settings->Layout you can specify the page format, display form, rows and columns of the report according to your needs and you can determine the settings for the graphics function. You can make these layout settings with Report->Save settings.
    Hope I had been able to help you to some extent. please assign points as reward.
    Rgds
    Manish

  • Report Painter/ Writer - Query on customization changes

    Hi All,
    I had this query on report painter.
    A couple of GL accounts are created newly.Now, the same are to be included as line items in existing 'Zee' report under Report Painter functionality. I went to GR32 > input selection for existing rpt >> took me to GR02. I made the changes in development client.
    My dilemma is, how do I populate this report change upto Production system ? - by a transport or export/imp functionality.
    Also, if request is generated through GR32(toolbar) what will it generate customization or workbench ?
    I have read Wiki  and tried to execute GR37, but not confident about the same.
    Appreciate if you could share you inputs.
    Warm regards.

    Hi Christian,
    Thanks for your reply. But, if we have to move the changes to INT, Pre- Production and Production clients, then is
    T-Code GCTR a better option so that the transport is generated and it will overwrite the report in the Production client with this change.
    Also, if the transport is generated will it be customization or workbench as raised earlier ?
    I do not intend to delete any report from the systems.
    Warm regards.

  • Report Painter selection variables sorting

    I have added a number of characteristics to my report painter report and set some as variables
    i.e. plan version 1, plan version 2, plan version 3, plan version 1 year, plan version 2 year, plan version 3 year.
    These variables appear on the selection screen in the following order;
    plan version 1,
    plan version 2,
    plan version 3,
    plan version 1 year,
    plan version 2 year,
    plan version 3 year.
    What the business require is the variables to appear on the selection screen as follows;
    plan version 1,
    plan version 1 year,
    plan version 2,
    plan version 2 year,
    plan version 3,
    plan version 3 year
    Has anyone any idea how the selection screen sorts the variables?
    Can the selection screen sort order be changed for a report?
    Your assistance is appreciated
    John

    For Selection Screen, you can try to use Selection Variant.
    The steps are like this:
    a. Go to GRR2 (change report painter)
    b. Then choose the report you are developing
    c. Execute the report
    d. On the selection screen, choose Go To-> Variant -> Save As Variant
    e. At Variant Attributes screen, you can do the following as your requirement:
        ·        Description
    Enter a short, meaningful description of the variant. This can be up to 30 characters long.
    ·        Only for background processing
    Select this field if you want the variant to be available for background processing but not in dialog mode.
    ·        Protect variant
    Select this field if you want to prevent your variant being changed by other users.
    ·        Only display in catalog
    Select this field if you only want the variant name to be displayed in the variant catalog (and not when the user calls the F4 value help).
    ·        System variant
    This field cannot accept input. It is set automatically when a system variant (beginning with CUS& or SAP&) is created.
    You can also assign the following further attributes to the selections in a variant:
    ·        Type
    The system indicates here whether a field is a parameter (P) or a selection option (S).
    ·        Protected
    Select this column for each selection that you want to write-protect on the selection screen. These fields are visible on the selection screen when the user starts a program with the variant, but do not accept user input.
    ·        Invisible
    If you select this column, the system hides the corresponding field on the selection screen. This allows you to change the appearance of the selection screen.
    ·        Selection variable
    If you select this column, you can set the value of the corresponding selection dynamically at runtime. The different ways of doing this are explained in the section Variable Values in Variants.
    ·        Without values
    If you select this field, the contents of the corresponding field are not saved with the variant.
    This is useful if you do not want to overwrite the contents of this field on the selection screen.
    For example, suppose you create a report 'SAPTEST', with the parameter 'TEST', for which you create the variant 'TESTVARIANT'. In the variant, you set the 'Without values' flag for the parameter. Then, you run time program and enter the value 'ABCD' in the TEST field. If you now retrieve the 'TESTVARIANT' variant, the TEST field retains the value ABC instead of being overwritten by SPACE.
    ·        SPA/GPA
    This attribute only appears if you created the corresponding selection criterion using 'MEMORY ID xxxu2019. You can switch the SPA/GPA handling on and off in the variant. This means that fields filled using SPA/GPA appear with their initial values after you have loaded a variant in which those fields have an initial value.
    f. When you are finished, you can save it and name the variant (e.g.: Z_S_Screen for simpler selection screen)
    After that, every time you want to have the selection screen, you can choose Get Variant or Go To-> Variant-> and select the variant you have saved.
    More information at:
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/c0/980374e58611d194cc00a0c94260a5/frameset.htm
    Hope it helps
    Regards,
    -=Meila.S=-

  • Graphics question. paint(), repaint(), update()

    Hi
    I have a GUI which consists of swing components and I want to paint onto them. For example if somebody select a component I want to paint a rectangle around it.
    The select event stores the component in a variable and calls repaint(). This shoul call paint() which looks like this:
    public void paint( graphics g){
    draw the rectangle
    super.paint(g);
    The rectangle is actually painted for half a second. Then it is gone again. I want to have it painted permanentely. Why is the rectangle erased after that? Is it because of the update() method?
    I tried to overwrite the update method with a plain method:
    public void update(graphics g) { }
    it didnt do anything.
    Another question. I have to paint differnt stuff regarding what events are thrown. Is it a good programming style to put all the draw stuff into the paint method and look what happend like:
    if(event a)
    else if(event b)
    ...

    Have you tried putting super.paint(g) before the code to draw the rectangle? I think what's happening is that the super's paint is drawing the component, thus erasing your rectangle.
    You may want to check the API for other options. There may be a property that indicates the size and color of a border. It would be easier and probably look better to adjust that, if it exists.
    I believe that update() draws a background (just a square of background color) and then calls paint(). If you override it with an empty method, I'd expect that nothing would be drawn.

  • Painting

    Question:
    The game I am making in Swing involves objects moving around a grid. The way I create the animation is as follows...
    I have all my characters in JLabels as images. If I want a character to move left I simply call the setBounds method on the JLabel to the new location.
    1) So my question is I guess this setBounds method inherently calls paint or repaint?
    2) Will this paint the entire container the JLabels are in?
    I ask because as I get better graphics I want to maintain quick code and do this the right way, if the graphics get too heavy I might need to overwrite the paint method?

    It will repaint the old position and the new position.
    Wow, that is perfect! that is what I anticipated getting the paint method
    to do if I overrode it, this is a direct result of using Swing I guess? Actually, I should modify my above statement. It will repaint the intersection of the old location and the new location. So if you are just moving the image by a few pixels it will repaint a small area. If you are moving the image from the top of the frame to the bottom, it will repaint all the "extra space" in the middle as well.
    Just changing the location of a component is the simplest way to code the problem, but it can be slower as the number of components increases. But you approach of changing all the locations at one time and then doing a single repaint is the most efficient.
    Managing the painting of each component yourself in the paintComponent() method will the the fastest, but the code is much more involved.

  • Custom text painting using JTextField

    Greetings all!
    I would like to implement a custom JTextField that displays text in gradient colors instead of the usual solid colors.
    I guess I would need to override the default painting mechanism in JTextField, but I'm not sure how to go about it.
    Would appreciate if anyone can give me any suggestions/tips!
    Thanks so much!
    Dora
    public class GradientTextField extends JTextField {
    }

    it will work only if the size of the textfield is large enough (no scrolling).Good point. Here's a newer version that seems to work ok, assuming the text is left justified.
    import java.awt.*;
    import javax.swing.*;
    public class GradientTextField extends JTextField
        private Color from;
        private Color to;
        private Insets insets;
        private Point view = new Point();
        public GradientTextField(Color from, Color to)
            this.from = from;
            this.to = to;
            insets = getInsets();
        public void paintComponent(Graphics g)
            setForeground( getBackground() );
            super.paintComponent(g);
            //  Get the text to paint, assuming left justification
            getInsets( insets );
            view.x = insets.left;
            view.y = insets.top;
            int offset = viewToModel( view );
            String text = getText().substring(offset);
            //  Create the GradientPaint object
            FontMetrics fm = g.getFontMetrics();
            int width = fm.stringWidth( text );
            int x = insets.left;
            int y = fm.getAscent() + insets.top;
            GradientPaint paint = new GradientPaint(x, 0, from, x + width, 0, to);
            //  Use the GradientPaint object to overwrite the existing text
            Graphics2D g2d = (Graphics2D)g;
            g2d.setPaint(paint);
            g2d.drawString(text, x, y);
        public static void main(String[] args)
            JTextField textField = new GradientTextField(Color.blue, Color.green);
            textField.setText("ABCDEFGHIJKLMNOPQRSTUVWZYZ");
            JFrame frame = new JFrame("Gradient Text Field");
            frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
            frame.getContentPane().add(textField, BorderLayout.SOUTH);
            frame.pack();
            frame.setLocationRelativeTo( null );
            frame.setVisible(true);
    }It's probably not a complete solution, but it may be helpful is specific situations.

  • Custom Painting a Table Cell

    I am trying to paint a pattern in a table cell when a specific condition is met by overriding paintComponent in my cell renderer. I am able to sucessfully paint the pattern but it gets wiped out by whatever paints the selection highlight when a table row is selected. Does anyone know how I can prevent the highlight from overwritting my rendering?
    Here's my code:
       class ResultColorRenderer extends DefaultTableCellRenderer {
          private Color color = null;
          private BufferedImage bi = null;
          private TexturePaint bluedots = null;
          ResultColorRenderer() {
             bi = new BufferedImage(2, 2, BufferedImage.TYPE_INT_RGB);
             bi.setRGB(0, 0, 0xffffffff);
             bi.setRGB(1, 0, 0xffffffff);
             bi.setRGB(0, 1, 0xffffffff);
             bi.setRGB(1, 1, 0xff0000ff);
             bluedots = new TexturePaint(bi, new Rectangle(0, 0, 2, 2));
          public Component getTableCellRendererComponent(JTable table,
                Object value, boolean isSelected, boolean hasFocus,
                int row, int column) {
             super.getTableCellRendererComponent(table, value, isSelected,
                                                 hasFocus, row, column);
             if (value instanceof Color) {
                color = (Color) value;
             } else {
                color = null;
             setText("");
             return this;
          public void paintComponent(Graphics g) {
             if (null != color) {
                g.setColor(color);
             } else {
                ( (Graphics2D) g).setPaint(bluedots);
             Dimension d = getSize();
             g.fillRect(0, 0, d.width, d.height);
             super.paintComponent(g);

    Try to make use of the isSelected and/or hasFocus parameters in setting the colors.
    ;o)
    V.V.

  • Graphic keeps disappearing and getting painted over

    I am not quite sure what is going on here, but I think that my background is being repainted after I paint my rectangles on the screen, any help on what is going on here would be greatly appreciated.
    The way the code is currently set up is when I come into the method, I set my state to -1,
    The rectangle will then init itself and then go check my control variables,
    The control variables turn the rectangle the appropriate color
    since I have rip_staus_code = 10 it turns green, although
    The problem is after it turns green;
    the rectangle disappears!!!
    and I cant quite see where in the code I am repainting over the top of it.....
    Thank You
    jsg
    protected int rx1State = -1
    public void paintChildren(Graphics g){  
         super.paintChildren(g);
         Graphics2D g2d = (Graphics2D)g;
       if(rx1State == -1){
               rx1 = new Rectangle2D.Double(29,110,63,57);
               g.setColor(testColor); 
               g2d.fill(rx1);
               g.setColor(Color.black);     
              g2d.setStroke(graphicStroke);
              g.setFont(graphicLabelFont);
              g2d.draw(rx1);     
              g.drawString("rect one",49,142);
    //turn rectangle one green
      if(rx1State != 0 && ss.rtRip1_status_code >= 9){  //rip_staus_code is set to 10, so turns green
            drawChangedRect(g,rx1,Color.green);
            g.drawString("rect one",49,142);
            rx1State = 0;
    //turns rectangle one red          
      if(rx1State != 2 && ss.rtRip1_status_code < 9){
         drawChangedRect(g,rx1,Color.red);
         g.drawString("Rx1",49,142);
         System.out.println("Turned Rx1 red");
         rx1State = 2;
    //turns Rectangle one white
      if(rx1State != 3 && (!ss.ColorRX1RIP1 | !ColorARROWABred )){ //ColorRX1RIP1=true, colorArrowABred=T     
          drawChangedRect(g,rx1,upstreamColor);
          g.drawString("Rx1",49,142);
         rx1State = 3;

    I see a couple things wrong here.
    First, why are you overwriting paintChildren? If you want to do custom drawing, do that in paintComponent.
    Second, never change state inside a painting method. Why? Because you can't control how often repaint is called. Covering or partically covering the window, resizing the window, or programmatic calls to repaint will all cause the method to be called, and sometimes only on a portion of your component (such is the case when only partially covered). This can cause very weird visual effects. In your program, the first call to paint will paint the appropriate rectangle but then set the state flag. There is probably another call to repaint somewhere which will then repaint the component without the rectangle (because the state has now changed), painting over your rectangles. The solution, don't change the state in paint.

  • Screen painter attributes

    can u give me the function of screen painter attributes and tools which r used in layout editor??????

    Hi Srinivas
    ·        Screen number
    A four-digit number, unique within the ABAP program, that identifies the screen within the program. If your program contains selection screens, remember that the screen numbers of selection screens and Screen Painter screens both use the same namespace. For example, if you have a program with a standard selection screen, you may not create any further screens with the number 1000. Lists, on the other hand, have their own namespace.
    ·        Screen type
    - A normal screen occupies a whole GUI window.
    - Modal dialog boxes only cover a part of a GUI window. Their interface elements are also arranged differently. - Selection screens are generated automatically from the definition in the ABAP program. They cannot be generated using the Screen Painter.
    - A subscreen is a screen that you can display in a subscreen area on a different screen in the same program.
    ·        Next screen
    Statically-defined screen number, specifying the next screen in the sequence. By entering zero or leaving the field blank, you define the current screen as the last in the chain. If the next screen is the same as the current screen, the screen will keep on calling itself. You can override the statically-defined next screen in the ABAP program.
    ·        Cursor position
    Static definition of the screen element on which the cursor is positioned when the screen is displayed. By default, the cursor appears on the first input field. You can overwrite the static cursor position dynamically in your ABAP program.
    ·        Screen group
    Four-character ID, placed in the system field sy-dyngr while the screen is being processed. This allows you to assign several screens to a common screen group. You can use this, for example, to modify all of the screens in the group in a uniform way. Screen groups are stored in table TFAWT.
    ·        Holding data
    If the user calls the screen more than once during a terminal session, he or she can retain changed data as default values by choosing System
    Layout Editor
    We use layout editor to place screen element in screen layout. There are two modes in editing layout: Graphical and alphanumeric. Both modes offer the same functions but use different interfaces. In graphical mode, you use a drag and drop interface similar to a drawing tool. In alphanumeric mode, you use your keyboard and menus. It is easier to work in graphical mode, to toggle beetween this mode, in SE51 go to: Utilities->Settings: in screen painter tabs check graphical layout editor.
    Layout editor contains these tools:
    i. Element pallete
    On left screen you will find list of element (textbox, label, checkbox) you can use. Drag and drog element to put it on screen.
    ii. Name & Text
    Aftef put element on screen, write its name and text (in textbox, text will set default value).
    iii. Attributes Window
    Double click the element to display its attributes, or select it then click :Goto->Secondary window->attributes. For example, in textbox element, we can set its length, read only mode, in this window.
    iv. Dictionary/program field.
    If we want to create a field refer to field in data dictionay or field already declared in program, use this menu to create text field with the same type compared to its referral.
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Jan 11, 2008 6:04 PM

Maybe you are looking for