How to find out if two JComponents overlap?

I wanted to create very simple game, another version of arcanoid (or krakout) where player tries to hit bouncing ball with paddle so the ball will break the wall made of small bricks. so far came up with an idea that paddle will be JComponent controlled by mouse, ball will be also JComponent controlled by mouse and after a while got it ready and coded. before i'll go to bricks (which i'm also planning to do as JComponents :) i wanted to know
- how to find out when the paddle and the bouncing ball hit each other and if theres any method that returns boolean (or sth..) when any part of those components overlap so i can change the direction of the ball and take particular bricks off the screen (or will have to do it manually somehow..)?
- also wanted to know if my thinking is correct and douing it with separate classes, having the ball as a thread (changing its .location(..) on the way to move the ball) ,and controlling paddle (another class) just by MouseMotionListener is correct way to do it or there is some other standard aproach to that kind of a program
- how to control if mouse is leaving particular JPanel so i can have user stopped before and keep him inside of that Jpanel, unless he will press particular button or do something
thanks in advance for any help and sorry for probably quite confuzing explanation

Well, yes, because this solution uses the bounds of the JComponent. If you want more complicated shapes, you could define a polygon for instance (java.awt.Polygon) and use it's intersects method, but then the other shape would still need to be a rectangle.
Other options include GeneralPath class and Area class, this would not limit you to rectangles. With the first class you can also draw arbitrary shapes. With the second you can do intersections, unions etc.
Have a look at http://java.sun.com/docs/books/tutorial/2d/TOC.html#display (Java2d )
Mind you, this is more complicated!
Rene'

Similar Messages

  • How to find out the common things between two rpds?

    How to find out the common things between two rpds? And place the common things in a common RPD.

    I thought of one solution.
    Original RPD = A
    Modified RPD = B
    XML Patch created for A-B = X
    Now open the XML Patch in IE or Mozilla and delete the columns/tables/variable/etc,. from the Original RPD A.
    But its a cumbersome process, if the XML file is of very less size its Ok. If its 10-20 MB then going line by line and deleting the change is not the process to be followed.
    I have to check whether its just the delete or modify or drop.
    Let me know your thoughts.

  • How to find out the overlapping object?

    Is it possible to find out wheather one pathItem which not in horizontal and vertical position be overlaped or touched any other items like pathitems,textframes etc. in illustrator cs3 active document.
    I got the top, left, right and bottom values of the bounding box for every items. From that i got the overlap of bounding boxes. But i don't know how to find out one pathItem overlaped (or) touched any other items. Kindly advice me the possibilities. I have attached the sample file for review.
    Thanks in advance.

    You always can copy your art and implement "Intersect" in Pathfinder
    using sAIActionManager->PlayActionEvent(...).
    Then check if remained art  != nil.

  • How to find out if LOB is stored "IN ROW"?

    Hi,
    If I have a compressed secuerfile LOB defined as "enable storage in row", is there any way to find out how many LOBs are stored in the table segment and how many where moved "out" in the lobsegment due to exceeding the approx. 4000 byte limit?
    If I haven't defined the question clearly enough, please let me know.
    Thanks in advance for any answer and regards,
    Jure

    Maybe I didn't explain the question well. I didn't ask how to find out from the data dictionary whether the LOB is defined as "enable storage in row" or "disable storage in row". I asked how to find out how many LOBs (LOB instances) are stored "in row" (in the table segment) and how many in the lobsegment, given that the LOB is defined as "ENABLE STORAGE IN ROW" with enabled compression.
    If I write the question in another way:
    Suppose I have a heap table with a LOB column defined as SECUREFILE COMPRESS HIGH, e.g.:
    CREATE TABLE test1 (id INTEGER, test_b BLOB)
    TABLESPACE USERS
    LOB (test_b) STORE AS SECUREFILE (
      TABLESPACE USERS
      COMPRESS HIGH  
      ENABLE STORAGE IN ROW
      CHUNK 8192
    )There are 1000 rows of data in the TEST1 table. The data length in the test_b BLOB varies from 100 bytes to 1MB, so some of those BLOBs are stored in the table segment (those with size approx. smaller than 4000bytes as described here http://download.oracle.com/docs/cd/E11882_01/appdev.112/e18294/adlob_tables.htm#sthref320) and some are stored in the lobsegment. My question is, how to find how many LOBs are stored in the table segment and how many are stored in the lobsegment due to exceeding approximately 4000 bytes (4000 bytes being the limit where the LOB is moved out of the table segment).
    The obvious answer could be to check the size of the LOB and if it is less than 4000 bytes (actually less than the size reported by the DBMS_LOB.GETCHUNKSIZE function) and based on that know where the LOB data is stored, but there are two problems with that approach:
    - how to account for data compression
    - even if the lob is defined as "ENABLE STORAGE IN ROW" and it's less than 4000 bytes in size, it could still be stored out of the table segment: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e18294/adlob_tables.htm#ADLOB45273 : "If you update a LOB that is stored out-of-line and the resulting LOB is less than approximately 4000 bytes, it is still stored out-of-line."
    I hope I asked clearly this time.
    Regards,
    Jure

  • How to find out which keywords were used to create a smart album?

    Hi,
    I actually have 2 questions;
    a) Short of scrolling down my very long list of password on the HUD - is there an elegant way to do it - How to find out which passwords were used to create an existing smart album? It's a recurring challenge for me.\ 'cause I like using smart albums, but once in a while need to check or chane the passwords.
    b) With annoying regularity when I try to get to this forum and choose Aperture, I get the following message - in pink, no less: It appears you're not allowed to view what you requested. You might contact your administrator if you think this is a mistake.
    Any clues?
    Thanks guys,
    Raphael
    <Edited by Host>

    b) With annoying regularity when I try to get to this forum and choose Aperture, I get the following message - in pink, no less: It appears you're not allowed to view what you requested. You might contact your administrator if you think this is a mistake.
    Any clues?
    Raphael,
    that message may occur for four reasons at least:
    Most frequently, when you are using an outdated link to a post that no longer exists, for example from an email notofication. Sometimes our community host will remove posts, that are in violation of the terms of use: see:
    Apple Support Communities Terms of Use
    Or you are using the edit button or a bookmark to an "Edit" window, after the fifteen minutes allowed for editing are up.
    Or you want to view a page in a restricted section of the ASC - soem perta are only open for members of level 6 or higher.
    Or it is one  of the unexplained problems with the forum software right now.
    a) Short of scrolling down my very long list of password on the HUD - is there an elegant way to do it - How to find out which passwords were used to create an existing smart album? It's a recurring challenge for me.\ 'cause I like using smart albums, but once in a while need to check or chane the passwords.
    I really like Kirby's suggestion with the IPTC rule Keyword is. This is very useful for smart albums global to the library.
    Frequently a different approach helps for my smart albums. Many of my smart albums are local to projects or folders.  In this case the smart HUD will only show those keywords that have been used for the images in the selection. So if I only have tagged the images with the keywords "birds" and "slideshow", the smart settings HUD will only show these two keywords and the list is very short.
    My Keywords HUD, is organized hierarchically; this way I can collapse large sections at once, and it is easier to focus on the keywords needed for a specific task.
    I use the search field in HUD a lot, to filter the set of keywords shown.

  • How to find out the Target Component name and Target view name

    Hi All Expert,
                      I want to know ,how to find out the target component and target view in WEB UI,when i click on a field which shows as a hyper link in WEB UI .At GUI level ,i know the how it will work.Any way to find out the component name and view name which is show the details of that field at GUI level .IF you go to transaction CRMD_ORDER then open the service contract id .then goto the item level value .there is 1 service data tab is available at item level.there is two button is available.first one is available time and second one is response time .if i click on any button then one popup is open which is shows the details of that button.I dont know how to find out the component name and view name from GUI level.
    Thanks in Advance....
    Vishwas Sahu

    Hi Vishwa,
                 The control would be something like this for navigation in Get_p_xxx method u mention as link and u mention a event name which gets triggered on the click of this hyperlink. So your GET_P_XXX method would have the following code:
    CASE iv_property.
        WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.
          rv_value = cl_bsp_dlc_view_descriptor=>field_type_event_link.
        WHEN if_bsp_wd_model_setter_getter=>fp_onclick.
          rv_value = 'EXAMPLE'.
    Now you have to create a method as EH_ONEXAMPLE at your IMPL class and within which you would give an outbound plug method. Within the outbound plug the target data would be filled in the collection and window outbound plug would be triggered.
    This is a huge topic and  i have just mentioned you basic things.
    Regards,
    Bharathy.

  • How to find out the max mem can be allocatedTT for 32 bit Win ?

    How to find out the maximum Permanent Data Size and Temporary Data Size that can be allocated for the Oracle Times Ten for 32 bit Windows OS.

    Hi Chris,
    Am I write in saying that this also depends on shared memory setting as well?
    If that is the case, on a platform like window 2003 32-bit, one cannot have more than 4GB of shared memory. Windows Server 2003 includes support for a startup switch (entered in the boot.ini file) that allows the allocation of memory and memory address space. Regardless of the amount of physical memory that is installed on the system, the operating system uses a virtual address space of 4 GB. Out of that amount, by default, 2 GB is allocated to user-mode processes (for example, Oracle or TimesTen) and 2 GB is allocated to kernel-mode processes (for example the operating system and others). In a nutshell on systems that have more than 1 GB of RAM, this startup switch can be used to allocate more memory to applications (3 GB) and less memory to the operating system (1 GB). However, adding adding the /3GB switch to the boot.ini file will not increase the amount of physical RAM memory, the 3GB switch just tells the computer to allocate the existing memory space differently.
    For a 32-bit TimesTen the limit on memory cannot be more than 2GB (PermSize+TempSize). For example on Linux 32-bit I have 1024MB and 512MB for these two parameters.
    Thanks,
    Mich

  • How to find out the size of files transferred over the SQL * Net?

    I am trying to test the Advanced Compress (AC) for 11g Data Guard. When the AC is turned on, the archived log files are supposed to be compressed on the primary database server and sent over SQL*Net, then decompressed on the standby db server. We will see the file sizes are the same on both primary and standby servers. I want to verify that the AC works by monitoring how much data are sent over SQL*Net. Per Oracle, AC uses 35% less of the bandwith. That means the size of the files transferred should be at least 65% of the original size.
    Is there a way to find out the size through Oracle utilities? If not, how to find out by OS utilities? OS is Solaris 5.10.
    Thanks.

    I'm not sure this can be done via SQL*Net, but a network packet sniffer between the two servers should be able to help - you might want to contact your network team.
    HTH
    Srini

  • How to find out the max/min value of one field corresponding to a second field in HANA through graphical way.

    Hi,
    I am trying to find out the latest delivery date(EINDT)  for each purchasing document (EBELN) through graphical way.
    The view contains other fields apart from the above mentioned two fields.
    When only the two fields (EBELN, EINDT) are there, then in semantics, I can select 'Max' as aggregation to get the maximum value for each document.
    If I do like this, then I need to join more than 3 views and also so many joins in calculation view. Taking so much time for data preview.
    Hence , please help me in getting the solution while the view contains other fields also.
    Thanks in advance.
    Thanks,
    Jyothirmayi

    Hi Sreehari/Vinoth,
    Thank you for your replies.
    if only two fields are then I can get the max/min values of one field corresponding to other field.
    But more than two fields are there with different values, then let me know how to find out the max/min value of a particular filed corresponding to the 2nd field with other fields also should be in the output.
    I hope you understood my issue.Please revert in case of questions.
    Thanks & Regards,
    Jyothirmayi

  • How to find out how much RAM  allocated to ASE sybase 15.7 on HP-unix

    Dear expert/Sir,
               How to find out how much RAM  allocated to Sybase ASE 15.7 and I using operating system is HP-Unix, because I have set  max memory

    Appending to Bret's reply, the following may help you in understanding
    SAP Sybase ASE maintains two other measures of memory besides max memory.
    You can observe them using sp_configure "memory" procedure
    1. The total logical memory : represents the amount of memory required by all objects that are allocated in the configuration file; for example, users, caches, open databases, and open objects.
    2. The total physical memory : represents the amount of memory that is actually in "use" at a given time.This fluctuates according to the number of users online and the number of open objects, among other factor
    HTH
    Rajesh

  • How to find out MIGO or MIRO without account document

    hi,can somebody tell he how to find out MIGO / MIRO withou account document,because my client want to check GL of GR/IR with MIGO&MIRO.
    in theory,MIGO - MIRO = GR/IR balance,but if no FI document generated from migo or miro for some reasons,they two do not reconcile,right?

    If no Fi document, then there is no GR/IR account in picture. so there is no question of reconciliation.

  • How to find out the user-exits?

    hi.
    how to find out the user-exits?
    regards
    eswar.

    Hi,
    *& Report  ZEXITFINDER
    *report  zexitfinder.
    *& Enter the transaction code that you want to search through in order
    *& to find which Standard SAP User Exits exists.
    *& Tables
    tables : tstc, "SAP Transaction Codes
    tadir, "Directory of Repository Objects
    modsapt, "SAP Enhancements - Short Texts
    modact, "Modifications
    trdir, "System table TRDIR
    tfdir, "Function Module
    enlfdir, "Additional Attributes for Function Modules
    tstct. "Transaction Code Texts
    *& Variables
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    *& Selection Screen Parameters
    selection-screen begin of block a01 with frame title text-001.
    selection-screen skip.
    parameters : p_tcode like tstc-tcode obligatory.
    selection-screen skip.
    selection-screen end of block a01.
    *& Start of main program
    start-of-selection.
    Validate Transaction Code
    select single * from tstc
    where tcode eq p_tcode.
    Find Repository Objects for transaction code
    if sy-subrc eq 0.
    select single * from tadir
    where pgmid = 'R3TR'
    and object = 'PROG'
    and obj_name = tstc-pgmna.
    move : tadir-devclass to v_devclass.
    if sy-subrc ne 0.
    select single * from trdir
    where name = tstc-pgmna.
    if trdir-subc eq 'F'.
    select single * from tfdir
    where pname = tstc-pgmna.
    select single * from enlfdir
    where funcname = tfdir-funcname.
    select single * from tadir
    where pgmid = 'R3TR'
    and object = 'FUGR'
    and obj_name = enlfdir-area.
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    Find SAP Modifactions
    select * from tadir
    into table jtab
    where pgmid = 'R3TR'
    and object = 'SMOD'
    and devclass = v_devclass.
    select single * from tstct
    where sprsl eq sy-langu
    and tcode eq p_tcode.
    format color col_positive intensified off.
    write:/(19) 'Transaction Code - ',
    20(20) p_tcode,
    45(50) tstct-ttext.
    skip.
    if not jtab[] is initial.
    write:/(95) sy-uline.
    format color col_heading intensified on.
    write:/1 sy-vline,
    2 'Exit Name',
    21 sy-vline ,
    22 'Description',
    95 sy-vline.
    write:/(95) sy-uline.
    loop at jtab.
    select single * from modsapt
    where sprsl = sy-langu and
    name = jtab-obj_name.
    format color col_normal intensified off.
    write:/1 sy-vline,
    2 jtab-obj_name hotspot on,
    21 sy-vline ,
    22 modsapt-modtext,
    95 sy-vline.
    endloop.
    write:/(95) sy-uline.
    describe table jtab.
    skip.
    format color col_total intensified on.
    write:/ 'No of Exits:' , sy-tfill.
    else.
    format color col_negative intensified on.
    write:/(95) 'No User Exit exists'.
    endif.
    else.
    format color col_negative intensified on.
    write:/(95) 'Transaction Code Does Not Exist'.
    endif.
    Take the user to SMOD for the Exit that was selected.
    at line-selection.
    get cursor field field1.
    check field1(4) eq 'JTAB'.
    set parameter id 'MON' field sy-lisel+1(10).
    call transaction 'SMOD' and skip first screen.
    Regards

  • How to find out the Transactions used per month & the USER who used that

    Hi,
    1)How to find out the Transactions used per month & the USER who used that?
    2)and can i get the above same for minimum 20 month?
    System : SAP- Enterprise Core Component.

    You can use my program...
    *& Report  Z_ABAP_TCODE_MONITOR
    *****&  Program Type          : Report                                 *
    *****&  Title                 : Z_ABAP_TCODE_MONITOR                   *
    *****&  Transaction code      : ZTCODE_USAGE                           *
    *****&  Developer name        : Shailendra Kolakaluri                  *
    *****&  Deveopment start date : 26 th Dec 2011                         *
    *****&  Development Package   : ZDEV                                   *
    *****&  Transport No          : DEVK906086                                       *
    *****&  Program Description   : This program is to display
    *List all tcodes executed during previous day.
    *& Show the number of users executing tcodes
    *& Modification history
    REPORT  Z_ABAP_TCODE_MONITOR.
    *& List all tcodes executed during previous day.
    *& Show the number of users executing tcodes
    TYPE-POOLS : slis.
    DATA: ind TYPE i,
          fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
          layout TYPE slis_layout_alv,
          variant TYPE disvariant,
          events  TYPE slis_t_event WITH HEADER LINE,
          heading TYPE slis_t_listheader WITH HEADER LINE.
    *REPORT  z_report_usage.
    TYPES: BEGIN OF zusertcode,
      date   TYPE swncdatum,
      user   TYPE swncuname,
      mandt     TYPE swncmandt,
      tcode     TYPE swnctcode,
      report TYPE swncreportname,
      count     TYPE swncshcnt,
    END OF zusertcode.
    *data   : date type n.
    DATA: t_usertcode  TYPE swnc_t_aggusertcode,
          wa_usertcode TYPE swncaggusertcode,
          wa           TYPE zusertcode,
          t_ut         TYPE STANDARD TABLE OF zusertcode,
          wa_result    TYPE zusertcode,
          t_result     TYPE STANDARD TABLE OF zusertcode.
    PARAMETER: month TYPE dats DEFAULT sy-datum.
    *PARAMETER: date TYPE dats.
    *select-options : username for wa_usertcode-account.
    START-OF-SELECTION.
    PERFORM get_data.
    PERFORM get_fieldcatalog.
      PERFORM set_layout.
    PERFORM get_event.
    PERFORM get_comment.
      PERFORM display_data.
    FORM get_data .
    *date = sy-datum - 2 .
    After start-of-selection add this line (parameter Month required 01 as day).
      concatenate month+0(6) '01' into month.
      CALL FUNCTION 'SWNC_COLLECTOR_GET_AGGREGATES'
        EXPORTING
          component     = 'TOTAL'
          ASSIGNDSYS    = 'DEV'
          periodtype    = 'M'
          periodstrt    = month
        TABLES
          usertcode     = t_usertcode
        EXCEPTIONS
          no_data_found = 1
          OTHERS        = 2.
      wa-date  = month.
    *wa-date  = date.
      wa-mandt = sy-mandt.
    wa_usertcode-account = username.
      LOOP AT t_usertcode INTO wa_usertcode.
        wa-user = wa_usertcode-account.
        IF wa_usertcode-entry_id+72 = 'T'.
          wa-tcode  = wa_usertcode-entry_id.
          wa-report = space.
        ELSE.
          wa-tcode  = space.
          wa-report = wa_usertcode-entry_id.
        ENDIF.
        COLLECT wa INTO t_ut.
      ENDLOOP.
      SORT t_ut BY report ASCENDING.
      CLEAR: wa, wa_result.
    endform.
    FORM get_fieldcatalog .
    fcat-tabname     = 't_ut'.
    fcat-fieldname   = 'DATE'.
    fcat-seltext_l   = 'Date'.
    fcat-key         = 'X'.
    APPEND fcat.
      CLEAR fcat.
      fcat-tabname     = 't_ut'.
      fcat-fieldname   = 'MANDT'.
      fcat-seltext_l   = 'Client'.
      fcat-key         = 'X'.
      APPEND fcat.
      CLEAR fcat.
      fcat-tabname     = 't_ut'.
      fcat-fieldname   = 'USER'.
      fcat-seltext_l   = 'User Name'.
      fcat-key         = 'X'.
      APPEND fcat.
      CLEAR fcat.
      fcat-tabname     = 't_ut'.
      fcat-fieldname   = 'TCODE'.
      fcat-seltext_l   = 'Transaction Code'.
      fcat-key         = 'X'.
      APPEND fcat.
    ENDFORM.
    *&      Form  SET_LAYOUT
          text
    -->  p1        text
    <--  p2        text
    FORM set_layout .
      layout-colwidth_optimize = 'X'.
    ENDFORM.                    " SET_LAYOUT
    *&      Form  GET_EVENT
          text
    -->  p1        text
    <--  p2        text
    *FORM get_event .
    events-name = slis_ev_top_of_page.
    events-form = 'TOP_OF_PAGE'.
    APPEND events.
    *ENDFORM.                    " GET_EVENT
    **&      Form  GET_COMMENT
          text
    -->  p1        text
    <--  p2        text
    *FORM get_comment .
    DATA: text(30).
    text = 'Billing Report'.
    heading-typ = 'H'.
    heading-info = text.
    APPEND heading.
    *ENDFORM.                    " GET_COMMENT
    **&      Form  top_of_page
          text
    -->  p1        text
    <--  p2        text
    *FORM top_of_page .
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
         it_list_commentary       = heading[]
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
    *ENDFORM.                    " top_of_page
    *&      Form  DISPLAY_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM display_data .
      sort t_ut[].
    DELETE ADJACENT DUPLICATES FROM t_ut[] COMPARING ALL FIELDS.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = sy-cprog
          is_layout          = layout
          it_fieldcat        = fcat[]
          i_save             = 'A'
          is_variant         = variant
          it_events          = events[]
        TABLES
          t_outtab           = t_ut
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " DISPLAY_DATA

  • How to find out the person who did a transport.

    How to find out the person who did a transport.
    There are 3 basis admins in our Org.
    so is there a way of tracing out , who did what transport.
    Regards,

    - Goto import Overview (STMS)
    - Import Queue
    - Select DEV req (goto Import History)
    - Edit - Display More
    It will show the user who did the transport
    Rgds

  • How to find out the user who has created  a new field in the custom table.

    How to find out the user details who has created  a new field in the custom table.
    Thanks,
    Joan

    Hi Jesudasan ,
    You can know the user details with version management.Please find the
    below procedure to know.
    Go to table->Utilities tab->version->Version management->Compare the previous one .
    Hope this solves the issue,Let me know if you have any issues.
    Thanks,
    Rajani

Maybe you are looking for

  • Need advice on how to handle off site computers that need imaging.

    Hi Our SCCM server is at our main campus, across the street from our campus, I have 16 computers  that need imaging that are in a totally separate building that is linked to the main campus via microwave. Could I copy the wim file to a portable drive

  • Trouble updating ipod on itunes w/usb fw ok ?????????????

    When I use the usb cable it wont complete an update on itunes only with the fw cord. ANother strange thing is that when I run disk utility on it it always has to do a reapir . One tiome I saw it said it had to fix the header or something. ANY QLUES!

  • Join in odi

    Hello gurus... I am a beginner in ODI 11g. How can i use join operator for transform data from two different tables to target table in ODI. plz give an example with picture or video.. plz help. soumya.

  • Send as secondary emial address.

    SBS 2011 Standard. Primary email domain is [email protected] Alternate email domain is [email protected] Added second domain @ EMC/Organization Configuration/Hub Transport/Accepted Domains Added 2d domain email address manually for the needed mailbox

  • "Remove Panel" in Application Builder?

    Hi, I don't really understand the purpose of the Remove Panel feature in the vi settings tab of app builder. It says if you are dynamically loading vi's, then you must set this to "no", which I have found out your app will not work if you don't do th