Why use floats in graphics methods?

Since coordinates are specified in pixels, why do
methods like Line2D.Float() take floating point numbers
instead of integers? Dont floats take more time
and memory?

As far as I know, float calculations indeed require more processing power as apposed to integer ones. I'm not quite sure why floats and doubles are used in a number of graphics related methods either, because it's not quite likely you'll ever have a screen dimension of 1024.78 by 768.54 for instance (yet, class java.awt.Dimension returns width and height of screensize as doubles!).
I think a float, like int, consumes 32 bits -thus 4 bytes- of memory space. So as far as memory goes, there's no difference.
Could someone else enlighten us regarding the use of float and double precision variables where it -at first glance- doesn't seem to make sense?

Similar Messages

  • I would like to download a production desciption into my website like I have before, but it says I can't use the copy/paster method anymore. Why?

    I have a website - www.pawsitivepamperings.com, and I have been adding products for the last 6 months. I have been using the copy/paste method from my drop shipper. Since the end of last week, it hasn't been working. It has totally stopped my progress! I need help in using this function again - as soon as possible. Can you help me?

    I right click, and Copy from an HTML description from my drop shipper. Then I go to my website and right click to Paste.
    One of two things happens. (1) if it does copy, the text prints over the image; OR (2) I get a message that Firefox does not apply a Cut/Copy/Paste.
    The wording at the bottom of the description box says: Path: table> tbody> tr> td> p> font.
    I was told by my webmaster to eliminate the following but I don't see it on my products page: <table align="center" border="0" cellpadding="1" cellspacing="1" width="100%>.
    When I have been on a 'live chat' with my support team, a couple of them have overridden the issue and I could precede, but I go to the next product to add, the whole process starts again and I cannot proceed.
    Does this make sense?

  • Why use Protected Overide Sub OnPaint rather than the standard Paint_Event ?

    I notice many good programmers use this following method rather than the usual Paint_Event when painting to the form.
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
    Dim g As Graphics = e.Graphics
    g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
    g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
    MyBase.OnPaint(e)
    End Sub
    Can anybody share the reasons why? Thanks 
    Top Tip: Toothache? Cut paper towel to 2"square. Smear with olive oil. Sprinkle on Cayenne Pepper. Fold over few times to form small wad. Tuck in between wall of mouth and gum. Leave 1 - 2 hrs. You will thank me!

    OK Crazypennie, maybe you are right. I tend to rant on a bit sometimes.
    Also, maybe the jumpy graphics is made worse because the animation output is not synced with the video hardware refresh rate. We can get around that slightly by using a very high fps. 
    Hi Leon,
    I tried modifying your code using a GraphicsFrame class that I wrote a little while back, the class utilizes the bufferedcontext/bufferedgraphics, instead of using the forms graphics directly. In theory, all objects should be rendered to the buffer before
    the forms graphics object. Is this less glitchy/faster on your pc? It seemed less glitchy/faster on mine..., and previous benchmarks show that using buffered graphics in this manner improved render time.
    You can read the discussion on
    this thread.
    Option Strict On
    Option Explicit On
    Option Infer Off
    Public Class Form11 ' drawing Code by Paul Ishak Apr 2015 A spinning pie chart. My timing code.
    Private Angle As Single = 100
    Private NextIncrement As Single = 1
    Private Randomizer As New Random(Now.Millisecond)
    Private SliceColors As New List(Of Color)
    Private SlicesOnWheel As Integer = 24
    Private Velocity As Single = 0
    Private WheelRadius As Integer = 300
    Private WheelLocation As New Point(50, 50)
    Private SW As New Stopwatch
    Private SFlag As Boolean ' wheel is currently spinning
    Private CntMS As Integer ' count the milliseconds
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
    Dim gFrame As New GraphicsFrame(e.Graphics, Me.ClientRectangle.Size)
    Dim g As Graphics = gFrame.Graphics
    g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
    g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
    g.Clear(Me.BackColor)
    Dim sliceAngle As Single = CSng(360 / SlicesOnWheel)
    Dim rect As New Rectangle(WheelLocation, New Size(WheelRadius, WheelRadius))
    Dim curveWidth As Integer = CInt(WheelRadius - (WheelRadius / (2.0! * 0.9)))
    Dim rect2 As New Rectangle(rect.Left + curveWidth, rect.Top + curveWidth, rect.Width - curveWidth * 2, rect.Height - curveWidth * 2)
    Dim inc As UInteger = UInteger.MaxValue \ 360
    For I As Single = 0 To 359 Step sliceAngle
    g.FillPie(New SolidBrush(SliceColors(CInt(I / sliceAngle))), rect, I + NormalizeAngle(Angle), sliceAngle)
    g.DrawPie(Pens.White, rect, I + NormalizeAngle(Angle), sliceAngle)
    Next
    g.FillEllipse(Brushes.Black, rect2)
    g.DrawEllipse(Pens.White, rect2)
    g.DrawEllipse(Pens.White, rect)
    MyBase.OnPaint(e)
    If SFlag Then
    If Me.Text = " " Then Me.Text = "" Else Me.Text = " "
    End If
    gFrame.Render()
    gFrame.Dispose()
    MyBase.OnPaint(e)
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnSpin.Click
    If Not SFlag Then
    Velocity = Randomizer.Next(3, 5)
    NextIncrement = Velocity
    SFlag = True
    CntMS = 0 : SW.Reset() : SW.Start()
    If Me.Text = " " Then Me.Text = "" Else Me.Text = " "
    End If
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.DoubleBuffered = True
    SliceColors.Add(Color.Black)
    SliceColors.Add(Color.LightBlue)
    SliceColors.Add(Color.SeaGreen)
    SliceColors.Add(Color.Yellow)
    SliceColors.Add(Color.Red)
    SliceColors.Add(Color.LightBlue)
    SliceColors.Add(Color.Orange)
    SliceColors.Add(Color.Violet)
    SliceColors.Add(Color.Yellow)
    SliceColors.Add(Color.Black)
    SliceColors.Add(Color.Green)
    SliceColors.Add(Color.Black)
    SliceColors.Add(Color.Green)
    SliceColors.Add(Color.Red)
    SliceColors.Add(Color.Blue)
    SliceColors.Add(Color.SeaGreen)
    SliceColors.Add(Color.Pink)
    SliceColors.Add(Color.Black)
    SliceColors.Add(Color.Purple)
    SliceColors.Add(Color.SkyBlue)
    SliceColors.Add(Color.Aqua)
    SliceColors.Add(Color.White)
    SliceColors.Add(Color.Red)
    SliceColors.Add(Color.Blue)
    SliceColors.Add(Color.Pink)
    SliceColors.Add(Color.SeaGreen)
    SliceColors.Add(Color.Orange)
    ClientSize = New Size(375, 375)
    Me.Show()
    btnSpin.Refresh()
    End Sub
    Public Function NormalizeAngle(value As Single) As Single
    Return value Mod 360.0!
    End Function
    Private Sub Form11_TextChanged(sender As Object, e As EventArgs) Handles Me.TextChanged
    If Not SFlag Then Exit Sub
    Angle = NormalizeAngle(Angle + NextIncrement)
    NextIncrement = CSng(NextIncrement - 0.0033)
    If NextIncrement <= 0.0033 Then
    SFlag = False : SW.Stop() : Exit Sub
    End If
    Invalidate()
    CntMS += 5 ' <<< set timer interval here <<<
    Do Until SW.ElapsedMilliseconds > CntMS
    Loop
    End Sub
    End Class
    Public Class GraphicsFrame
    Implements IDisposable
    Private disposedValue As Boolean
    Private BackBuffer As System.Drawing.BufferedGraphics = Nothing
    Public ReadOnly Property Graphics() As System.Drawing.Graphics
    Get
    Return Me.BackBuffer.Graphics
    End Get
    End Property
    Public Sub New(ByVal canvas As System.Windows.Forms.Control)
    BufferedGraphicsManager.Current.MaximumBuffer = New Size(canvas.ClientRectangle.Width + 1, canvas.ClientRectangle.Height + 1)
    Me.BackBuffer = BufferedGraphicsManager.Current.Allocate(canvas.CreateGraphics, New Rectangle(0, 0, canvas.ClientRectangle.Width, canvas.ClientRectangle.Height))
    End Sub
    Public Sub New(ByVal canvasGraphics As Graphics, maximumBuffer As Size)
    BufferedGraphicsManager.Current.MaximumBuffer = New Size(maximumBuffer.Width + 1, maximumBuffer.Height + 1)
    Me.BackBuffer = BufferedGraphicsManager.Current.Allocate(canvasGraphics, New Rectangle(0, 0, maximumBuffer.Width, maximumBuffer.Height))
    End Sub
    Public Sub New(ByVal handle As IntPtr, maximumBuffer As Size)
    BufferedGraphicsManager.Current.MaximumBuffer = New Size(maximumBuffer.Width + 1, maximumBuffer.Height + 1)
    Me.BackBuffer = BufferedGraphicsManager.Current.Allocate(Graphics.FromHwnd(handle), New Rectangle(0, 0, maximumBuffer.Width, maximumBuffer.Height))
    End Sub
    Public Sub New(ByVal canvas As Image)
    BufferedGraphicsManager.Current.MaximumBuffer = New Size(canvas.Width + 1, canvas.Height + 1)
    Me.BackBuffer = BufferedGraphicsManager.Current.Allocate(Graphics.FromImage(canvas), New Rectangle(0, 0, canvas.Width, canvas.Height))
    End Sub
    Public Sub New(ByVal canvas As Bitmap)
    BufferedGraphicsManager.Current.MaximumBuffer = New Size(canvas.Size.Width + 1, canvas.Size.Height + 1)
    Me.BackBuffer = BufferedGraphicsManager.Current.Allocate(Graphics.FromImage(canvas), New Rectangle(0, 0, canvas.Width, canvas.Height))
    End Sub
    Public Sub Render()
    If Not BackBuffer Is Nothing Then BackBuffer.Render()
    End Sub
    Protected Overridable Sub Dispose(disposing As Boolean)
    If Not Me.disposedValue Then
    If disposing Then
    Me.BackBuffer = Nothing
    GC.Collect()
    End If
    End If
    Me.disposedValue = True
    End Sub
    Public Sub Dispose() Implements IDisposable.Dispose
    Dispose(True)
    GC.SuppressFinalize(Me)
    End Sub
    End Class
    Don't forget to vote for Helpful Posts and
    Mark Answers!
    *This post does not reflect the opinion of Microsoft, or its employees.

  • Re: [iPlanet-JATO] Re: using begin childName Display method

    Steve,
    It sounds like you have your display fields in a container view, and
    that container view is inside of a view bean. I haven't tested whether
    the fireChildDisplayEvents has a "deep" effect on its container view
    children. Meaning that you may have to set fireChildDisplayEvents="true"
    for the <jato:containerView> tag instead. If all else fails and you need
    to just get it working, you can set the fireDisplayEvents="true" for
    each display field tag separately.
    craig
    stephen_winer wrote:
    I should clarify my earlier statement. The data I want to display is
    coming from a model (tied in in the createChild method). I want to
    conditionally reformat the text that is being substituted in the JSP
    for a JATO form element, but I want this to happen on the server, not
    with JavaScript. The begin<childName>Display and
    end<childName>Display methods allow me to do this, in theory, but I
    can not get them to execute.
    Steve
    --- In iPlanet-JATO@y..., Belinda Garcia <belinda.garcia@s...> wrote:
    I don't currently use a begin or end Display method. I merely bind
    the fields to
    the model when the child is created and use the setValue to
    initially set the
    value to what's in the model. I get nulls though if I try to use a
    tiled View. I
    haven't quite got this figured out.
    Belinda
    X-eGroups-Return:
    sentto-2343287-1135-1008613974-belinda.garcia=sun.com@r...
    X-Sender: stephen_winer@y...
    User-Agent: eGroups-EW/0.82
    From: "stephen_winer" <stephen_winer@y...>
    X-Originating-IP: 155.188.191.4
    X-Yahoo-Profile: stephen_winer
    Mailing-List: list iPlanet-JATO@y...; contact
    iPlanet-JATO-owner@y...
    Date: Mon, 17 Dec 2001 18:32:48 -0000
    Subject: [iPlanet-JATO] using begin<childName>Display method
    Content-Transfer-Encoding: 7bit
    I want to be able to conditionally show/hide data as well as
    format
    it for display without touching the model. I found the
    begin<childName>Display and end<childName>Display methods that
    provide the hooks to do this, but I have been unsuccessful in
    getting
    these method to execute. I added the
    fireChildDisplayEvents="true"
    attribute to the jato:useViewBean tag, but this has not helped.
    I
    also added some debug to the ContainerViewBase class in the
    public
    boolean beginChildDisplay(ChildDisplayEvent event) method to see
    what
    was happening. The displayMethodMap was returning null for the
    child
    display methods that were in the view bean. I covered all the
    bases
    (compiling, redeploying, etc.) and nothing has worked. Is there
    anything I am missing or is there some working example of this?
    Steve
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    >For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    The hidden field was present in the page, but it looked like this:
    <input type="hidden" name="jato.defaultCommand" value=""../search"">
    Seems like there is a small bug in the code generating this tag.
    FYI - I am using JATO1.2
    What file displays this text? Maybe I can go in and fix it and rejar
    it.
    Steve
    --- Mike Frisino wrote:
    Steve,
    Can you check the HTML source that shows up in the browser? Do you see an entry that looks like this at the bottom of the form in
    question?
    >
    <input type="hidden" name="jato.defaultCommand" value="/search">
    To answer your question - it should work as you described. Some of the JatoSample make use of the defaultCommandChild. Can you try
    running the sample BasicSample->Field Types and let us know what you
    see.
    >
    Failing this you can send me your jsp file , maybe there is some subtle issue there. michael.frisino@s...
    >
    >
    ----- Original Message -----
    From: stephen_winer
    Sent: Friday, December 07, 2001 8:05 AM
    Subject: [iPlanet-JATO] Using the defaultCommandChild in a form
    I am trying to set the defaultCommandChild in my jato:form tag to be
    the searcg button. The search button definition is:
    <jato:button name="search"/>.
    The form tag definition is:
    <jato:form name="PendingIA" defaultCommandChild="/search">
    Clicking on the search button works fine, but hitting return in one
    of the textFields (which submits the form) passes a value of "" to
    the createChild method in my viewBean, which throws an error. Why
    does this not just work as normal and trigger the handleSearchRequest
    () method?
    Steve
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    Service.
    >
    >
    >
    [Non-text portions of this message have been removed]

  • Re: [iPlanet-JATO] using begin childName Display method

    Oops. Sorry about that, Craig. I didn't realize I might leave that impression.
    I'm sure the tiled
    views work since you have so many examples of these and it's a relatively
    simple concept, isn't it?
    Not to mention a necessary one. I didn't have time to debug my code and find
    out what I was doing
    wrong where the tiled views are concerned. I decide to just try to implement
    tiled views later and
    just stick with one of everything for now and get that working.
    Yes, I have reviewed your comments and am taking them into consideration. I am
    able to save and
    retrieve values with my model at this point.
    Thanks.
    Belinda
    X-eGroups-Return:
    sentto-2343287-1143-1008622698-belinda.garcia=sun.com@r...
    X-Sender: craig.conover@s...
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4)Gecko/20011019 Netscape6/6.2
    X-Accept-Language: en-us
    From: "Craig V. Conover" <craig.conover@s...>
    X-Yahoo-Profile: cvconover
    Mailing-List: list [email protected]; contact
    [email protected]
    Date: Mon, 17 Dec 2001 13:00:10 -0800
    Subject: Re: [iPlanet-JATO] using begin<childName>Display method
    Content-Transfer-Encoding: 7bit
    Belinda,
    He may also be binding the models, howerver, he needs to change the way
    the value appears before it is displayed which is why you would use the
    display events.
    Your null value issue is a completely different issue and has nothing to
    do with it being a tiled view. I don't want anyone getting the idea
    that the tiledView binding is broken. It does work. You issue should
    have something to do with the inconsistent way in which you are getting
    your model. At least from what I could tell in your source code that you
    sent me.
    Have you reviewed my comments I sent to you in your source code?
    craig
    Belinda Garcia wrote:
    I don't currently use a begin or end Display method. I merely bind the
    fields to
    the model when the child is created and use the setValue to initially setthe
    value to what's in the model. I get nulls though if I try to use a tiledView. I
    haven't quite got this figured out.
    Belinda
    X-eGroups-Return:
    sentto-2343287-1135-1008613974-belinda.garcia=sun.com@r...
    X-Sender: stephen_winer@y...
    User-Agent: eGroups-EW/0.82
    From: "stephen_winer" <stephen_winer@y...>
    X-Originating-IP: 155.188.191.4
    X-Yahoo-Profile: stephen_winer
    Mailing-List: list [email protected]; contact
    [email protected]
    Date: Mon, 17 Dec 2001 18:32:48 -0000
    Subject: [iPlanet-JATO] using begin<childName>Display method
    Content-Transfer-Encoding: 7bit
    I want to be able to conditionally show/hide data as well as format
    it for display without touching the model. I found the
    begin<childName>Display and end<childName>Display methods that
    provide the hooks to do this, but I have been unsuccessful in getting
    these method to execute. I added the fireChildDisplayEvents="true"
    attribute to the jato:useViewBean tag, but this has not helped. I
    also added some debug to the ContainerViewBase class in the public
    boolean beginChildDisplay(ChildDisplayEvent event) method to see what
    was happening. The displayMethodMap was returning null for the child
    display methods that were in the view bean. I covered all the bases
    (compiling, redeploying, etc.) and nothing has worked. Is there
    anything I am missing or is there some working example of this?
    Steve
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    The hidden field was present in the page, but it looked like this:
    <input type="hidden" name="jato.defaultCommand" value=""../search"">
    Seems like there is a small bug in the code generating this tag.
    FYI - I am using JATO1.2
    What file displays this text? Maybe I can go in and fix it and rejar
    it.
    Steve
    --- Mike Frisino wrote:
    Steve,
    Can you check the HTML source that shows up in the browser? Do you see an entry that looks like this at the bottom of the form in
    question?
    >
    <input type="hidden" name="jato.defaultCommand" value="/search">
    To answer your question - it should work as you described. Some of the JatoSample make use of the defaultCommandChild. Can you try
    running the sample BasicSample->Field Types and let us know what you
    see.
    >
    Failing this you can send me your jsp file , maybe there is some subtle issue there. michael.frisino@s...
    >
    >
    ----- Original Message -----
    From: stephen_winer
    Sent: Friday, December 07, 2001 8:05 AM
    Subject: [iPlanet-JATO] Using the defaultCommandChild in a form
    I am trying to set the defaultCommandChild in my jato:form tag to be
    the searcg button. The search button definition is:
    <jato:button name="search"/>.
    The form tag definition is:
    <jato:form name="PendingIA" defaultCommandChild="/search">
    Clicking on the search button works fine, but hitting return in one
    of the textFields (which submits the form) passes a value of "" to
    the createChild method in my viewBean, which throws an error. Why
    does this not just work as normal and trigger the handleSearchRequest
    () method?
    Steve
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    Service.
    >
    >
    >
    [Non-text portions of this message have been removed]

  • Why use customized / particular exceptions instead java.lang.Exception

    Hi,
    Do any of you guys know where can I find a theorical statement / explanation about why use particular / customized exceptions instead java.lang.Exception? I am aware that it consumes more resources and becomes a heavier object, as well as the clearness when coding and all that stuff; however, my boss wants to see a tech document where all this is clearly stated. Any resource over there?
    Regards

    It is better to throw specific--or at least module- or
    package-specific--excpetions, rather than Exception,
    because then the caller knows what to expect. However,
    if you declare "throws Exception", the caller can
    still catch IOException, SQLException, etc.,
    separately. He'll just have to be a really good
    guesser as to which ones he should catch.True.
    Also, there's no point in declaring "throws
    NullPointerException." Any method can throw it without
    declaring it. If you generate your own NPE (or other
    unchecked exception) inside the method, then you
    should document it in the javadoc comments, but you
    don't need to put it in the throws clause. It doesn't
    do any harm, but it's redundant and cluttersome.It was an example and I wasn't feeling too creative....excuse me. ;-) But yeah, I've never thrown NPE ever.
    I'm assuming overhead caused by extending classes.At
    the worst, it would be miniscule, or so I wouldthink.
    What overhead is created by extending classes?Hmm, I was under the impression that a class the extended another class, inherited all of the other classes data (variables, etc.). Hence, you get something like this:
    SuperClass1 + SubClass1 + SubClassOfSubcCass1 = Memory usuage for SubClassOfSubClass1.
    Since adding postivie number will always end up increasing data, SubClassOfSubClass1 will use more dtat than SuperClass1.
    Am I wrong?

  • Why use finally block

    why use finnaly block when we can close the resources after the try cath method has executed

    The real reason is that you don't usually catch all exceptions (and you shouldn't). The code shown doesn't catch Errors for example, yet you would always want the resources allocated in the method to be released regardless of any exceptions that are thrown, not just the ones you catch yourself.

  • Why use *31L in the following code?

    Why use *31L in the following code?
    * {@inheritDoc}
    public int hashCode()
    return (int) ((long) getAreaCode() * 31L + getLocalNumber());
    public class PhoneNumber
            implements PortableObject
        // ----- constructors ---------------------------------------------------
        * Default constructor (necessary for PortableObject implementation).
        public PhoneNumber()
        * Construct a Phone.
        * @param nAccessCode   the numbers used to access international or
        *                      non-local calls
        * @param nCountryCode  the numbers used to designate a country
        * @param nAreaCode     the numbers used to indicate a geographical region
        * @param lLocalNumber  the local numbers
        public PhoneNumber(short nAccessCode, short nCountryCode,
                short nAreaCode, long lLocalNumber)
            m_nAccessCode  = nAccessCode;
            m_nCountryCode = nCountryCode;
            m_nAreaCode    = nAreaCode;
            m_lLocalNumber = lLocalNumber;
        // ----- accessors ------------------------------------------------------
        * Return the access code.
        * @return the access code
        public short getAccessCode()
            return m_nAccessCode;
        * Set the numbers used to access international or non-local calls.
        * @param nAccessCode  the access code numbers
        public void setAccessCode(short nAccessCode)
            m_nAccessCode = nAccessCode;
        * Return the country code.
        * @return the country code
        public short getCountryCode()
            return m_nCountryCode;
        * Set the country code.
        * @param nCountryCode  the country code
        public void setCountryCode(short nCountryCode)
            m_nCountryCode = nCountryCode;
        * Return the area code.
        * @return the area code
        public short getAreaCode()
            return m_nAreaCode;
        * Set the numbers used indicate a geographic area within a country.
        * @param nAreaCode  the area code
        public void setAreaCode(short nAreaCode)
            m_nAreaCode = nAreaCode;
        * Return the local or subscriber number.
        * @return the local or subscriber number
        public long getLocalNumber()
            return m_lLocalNumber;
        * Set the local or subscriber number.
        * @param lLocalNumbeer  the local or subscriber number
        public void setLocalNumber(long lLocalNumbeer)
            m_lLocalNumber = lLocalNumbeer;
        // ----- PortableObject interface ---------------------------------------
        * {@inheritDoc}
        public void readExternal(PofReader reader)
                throws IOException
            m_nAccessCode  = reader.readShort(ACCESS_CODE);
            m_nCountryCode = reader.readShort(COUNTRY_CODE);
            m_nAreaCode    = reader.readShort(AREA_CODE);
            m_lLocalNumber = reader.readLong(LOCAL_NUMBER);
        * {@inheritDoc}
        public void writeExternal(PofWriter writer)
                throws IOException
            writer.writeShort(ACCESS_CODE, m_nAccessCode);
            writer.writeShort(COUNTRY_CODE, m_nCountryCode);
            writer.writeShort(AREA_CODE, m_nAreaCode);
            writer.writeLong(LOCAL_NUMBER, m_lLocalNumber);
        // ----- Object methods -------------------------------------------------
        * {@inheritDoc}
        public boolean equals(Object oThat)
            if (this == oThat)
                return true;
            if (oThat == null)
                return false;
            PhoneNumber that = (PhoneNumber) oThat;
            return getAccessCode()  == that.getAccessCode()  &&
                   getCountryCode() == that.getCountryCode() &&
                   getAreaCode()    == that.getAreaCode()    &&
                   getLocalNumber() == that.getLocalNumber();
        * {@inheritDoc}
        public int hashCode()
            return (int) ((long) getAreaCode() * 31L + getLocalNumber());
        * {@inheritDoc}
        public String toString()
            return "+" + getAccessCode() + " " + getCountryCode() + " "
                       + getAreaCode()   + " " + getLocalNumber();
    ...

    31 is a nice prime number that is used here to decrease hash collisions
    thanks,
    -Rob

  • Why use key-partitioning and key-associator features?

    Why use key-partitioning and key-associator features?
    What kind of applications are suitable for using key-associator and key-partitioning features?
    Could you give me some example?
    Thank you

    So the typical way is to use KeyAssociation. This is a single interface that uses a method
    public Object getAssociatedKey();
    I believe this works on the ClusterService level (rather than say the Cache). So, say you have a Client and an Account cache where a Client can have multiple Accounts. Now both the Client and the Account object will implement KeyAssociation and return the client object as the AssociatedKey. This will cause these associated objects to live on the same partition.
    Now you can do some clever tricks since you know these are on the same partition. These include using the BackingMap and EntryProcessors / InvocationService / Aggregators to return all the AccountIds associated with a client account (essentially a join).
    Unfortunately, these are pretty advanced Coherence features so it is worth building them in a testcase first and getting them to work before you integrate them into your application.
    Best, Andrew.
    PS. You could also use the KeyPartitioningStrategy, but I prefer the KeyAssociation (as do most people).

  • Using a vector graphic for a button

    Adobe Photoshop, Illustrator, and Encore CS5, everything is patched, Windows 7 64-bit
    I have been reading various posts, and either not seeing or not understanding something about using a vector graphic as a button on a menu.
    I drew a one-color shape in Illustrator, saved it as EPS and PNG and used it in a menu designed in Photoshop. When I preview it in Encore or burn a DVD, the graphic looks awful. And I'd like to use highlighting with it so it changes color when selected but that is another problem....
    To start the menu, I used the Photoshop preset NTSC DV Widescreen which has a pixel aspect ratio of 1.21. Then I added background graphics and so on. Each button is contained in a layer group named (+)PlayAll, etc. In each layer group is a text layer that doesn't have a prefix (e.g., Play All) and another layer with the vector or PNG named (=1)kv, which is the name of the EPS or PNG file.
    The behavior is fine. The graphic moves to indicate which menu item is selected, the text is constant, never changes.
    In Photoshop, the graphic looks fine but when I preview it in Encore it looks crappy and pixelated. What do I do?

    Part of the problem is I have no idea what some of these terms mean ... "2-bit indexed", ... The first one might mean an object that has one color,
    It is not the same as one color, and yes, it probably means more than any of us intend.  See  Encore help regarding button subpictures, in particular the part regarding using Photoshop to create button subpictures.
    The latter includes "(Technically, the subpicture overlay is a two‑bit indexed image.)," but you don't need to understand the technical meaning (they don't explain it anyway).  You do need to understand the liimitations they explain there,  For example, under "solid colors only," they say "Elements on these layers must use solid colors and sharp edges. Use one solid color per layer. Do not use gradients, feathering, or anti-aliasing on the subpicture layers. Color gradations are not possible in subpictures."
    "sub-picture highlight" ... the second one is probably made up.
    Heh, heh.  Searching that in Encore help (which I often find lacking) finds the page on Button Subpictures.  I agree that some of the terms, whether they are from the DVD specs or Sonic's applications (on which Encore is based), can make it difficult to look things up.
    "vector layer".... I searched Photoshop help for "vector layer" and got nothing. There is such a thing as a vector mask on a layer but I have no clue what a vector layer is.
    You're correct - vector mask.  Within a button group, the vector mask will be part of a layer, so I think of it as the button group "vector mask" layer.  That's part of why I pointed to using a library menu and editing in photoshop so you could compare what you have to what a template looks like.
    Please suggest which Encore library menu I can try. I opened a couple and couldn't figure out how they worked.
    In the General set, pick the Sunset menu.  Edit in Photoshop.  Expand the "(+) play movie" layer.  The "button vector mask" (the dark area) is in the layer called "button."  Notice that it does not have a (=1) or other indicator that it is a highlight.  In other words, it will just sit there, in whatever color is defined, and will not be a highlight.  If you put it in a layer that has one of the highlight indicators (the =1, =2 etc), it will then be subject to the subpicture highlight limitations.
    You might try your graphic in such a non-subpicture layer, and compare its appearance to putting it in a subpicture layer.
    Jeff Bellune's book (he's a moderator here) is still very applicable.  While some things have change, the basics haven't.
    But, hey, Jeff.  Why haven't you updated your book yet?  Inquiring minds want to know!

  • NullPointerException caused by the use of the addDoubleField method

    I develop most of my programs in BreezySwing GUI because I like the simplicity of it compared to AWT. I recently bought a new computer that I wanted to make Java equipped; just like my other two computers. I will get back to that later.
    Before I got a new computer, I made all of my programs on the first computer successfully. One of my most significant ones is a multiple conversion program developed in BreezySwing. After I made it, I wanted to make it runnable on my other computer. Using the BreezySwing jar file, the application's class file, an installed JDK, and a batch file, I now know how to make my programs work on new computers.
    Things changed when I tried to put my program on my newest computer. I moved all the necessary files (except the JDK and BreezySwing; which I downloaded again) from the original computer to my newest one. The first two computers had JDK version 7 while the newest one got JDK version 14. I made all the necessary changes to the batch file for the program (such as changing the classpath for the JDK and the class directory). However, upon running this program, Java throws a NullPointerException. This exception does not occur on either of my two other computers.
    Right away, I was determined to find the cause. I have no idea why the exception occurs, but I do know what part of the code causes the exception. By commenting out parts of a test program, I managed to find out that the use of the addDoubleField method causes the exception because it is thrown when not commented out, but it is not thrown when commented out. Here is the code for the test program:
    application: DFTest.class
    import javax.swing.*;
    import BreezySwing.*;
    class DFTest extends GBFrame {
    JTextField txtFld = addTextField("abcdefg",1,1,1,1);
    DoubleField valueFld = addDoubleField(0.0 ,2,1,1,1); /*this line causes the NullPointerException*/
    static public void main(String[] args){
    DFTest obj = new DFTest();
    obj.setSize(300,100);
    obj.setVisible(true);
    }Both my conversion program and this program use the addDoubleField method. I also tested the BreezySwing variable type DoubleField by seperating it from addDoubleField with a constructor. Java did not throw an exception for the DoubleField variable type.
    What do I need to do to get my programs working again?

    I will give one last detailed synopsis of the problem that I am having. I will do my best to include every detail and make the explanation as useful as possible.
    About a year ago I became interested in Java programming. I was learning it at school but I wanted to continue with it on my own as well. The first time I installed Java was on my first computer. I will call this computer Computer A. The first thing I did was download the JDK that was available at the time. It ended up being jdk1.6.0_07. Then I downloaded JCreator IDE because it was the same IDE that I was familiar with in the classroom. The classroom textbook was The Fundamentals of Java, by Lambert and Osborne. This textbook uses the add-on package BreezySwing which is available from their website. I downloaded whatever version or update that was available at the time. Computer A still has that same download.
    In the classroom I became very familar with BreezySwing to the point where I could use all the methods for it comfortably. During the school year, I ended up using about five different computers. There were no problems with them as far as odd errors go. Every time there was an error, it was clearly the fault of the programmer and easily fixable.
    Back to Computer A: Since almost all of the programs I wanted to write used BreezySwing, it had to be set up properly. After some instructions were given to me from my teacher, I created the PATH environment variable and set it to the location of the BreezySwing documentation; which on Computer A was:
    'C:\Program Files\Java\jdk1.6.0_07\bin'
    Every kind of program that I made on Computer A works perfectly; including my test program mentioned earlier:
    application: DFTest.class
    import javax.swing.*;
    import BreezySwing.*;
    class DFTest extends GBFrame {
    JTextField txtFld = addTextField("abcdefg",1,1,1,1);
    DoubleField valueFld = addDoubleField(0.0 ,2,1,1,1);
    static public void main(String[] args){
    DFTest obj = new DFTest();
    obj.setSize(300,100);
    obj.setVisible(true);
    }By now I was getting good at making programs. Some of them I found very useful, so I wanted to make them into some type of executable file. I became familiar with all of them including .jar and .exe. However, the only one that worked for me was the batch file. I also liked its simplicity. I quickly became good at using them to execute Java bytecode.
    The next thing I wanted to do was put the useful programs I had made on a computer that was in the other room. This computer will be called Computer B. Computer B is much older than Computer A, but still a Windows.
    I knew this computer first needed Java installed on it, so I returned to the Sun download site. This time, the newest Java JDK download was jdk1.6.0_13. I also downloaded jre6 and NetBeans IDE to see if I liked it better than JCreator and to have the option to develop Java on Computer B. Next, I had to download BreezySwing again to Computer B.
    A very odd thing occurred next:
    Upon trying to extract the files of BreezySwing to the proper directory 'C:\Program Files\Java\jdk1.6.0_13\bin', a message came saying that every file in BreezySwing required a password. It also said that all the files in the 'bin' folder (of jdk1.6.0_13) were read-only and it would not let any files be placed there. I still do not know why I did not have this issue with Computer A. I did not know what to do for weeks.
    In the end, I had to copy jdk1.6.0_07 from Computer A to Computer B. It already had BreezySwing in it. However, I was unable to set up NetBeans to work with BreezySwing. Part of the problem was that Computer B is too old and slow for such an advanced program like NetBeans. It was at this point that I started using batch and command prompt entirely to execute all the programs I made or used on Computer B.
    Just like I expected, every type of program I made or put on Computer B worked perfectly.
    About a month ago, I got a third computer; Computer C. By now I knew what I wanted in it so again I returned to the Sun download site. This time, I downloaded jdk1.6.0_14 and nothing else. Both Computer A and Computer B also had jre6; but not Computer C because I saw no need for it if I already had the JDK. I also did not bother with IDEs for Computer C; I just used notepad and command prompt to develop programs.
    The first program I put on Computer C was the one that I had made on Computer A. I already got it to work on Computer B, so I used that knowledge to do everything correctly for Computer C. The program would be executed by batch file which would tell the computer it was interacting with:
    1. The directory of the .class file
    2. The directory of the JDKs bin folder
    3. To include BreezySwing.jar in the execution path (needed to recognize all the methods used in the program)
    Everything about the batch files was correct. An error in the batch file would clearly cause an error not Java related; but rather cmd.exe related.
    After placing the .class file into the directory of all my other .class files (and BreezySwing)
    'C:\Documents and Settings\Java Applications\classes+src',
    I changed the information in the batch file to match the jdk update and match the correct class directory. Upon double clicking the batch file, a NullPointerException was thrown.
    Jump ahead to my test program; DFTest.class. After creating several other test programs to try to isolate the cause of the exception, this is what I found:
    When I attempt to execute the following code (after successful compilation):
    application: DFTest.class
    import javax.swing.*;
    import BreezySwing.*;
    class DFTest extends GBFrame {
    JTextField txtFld = addTextField("abcdefg",1,1,1,1);
    DoubleField valueFld = addDoubleField(0.0 ,2,1,1,1);
    static public void main(String[] args){
    DFTest obj = new DFTest();
    obj.setSize(300,100);
    obj.setVisible(true);
    }My message is too long so I will continue...

  • Why two FLOAT values are stored differently?

    Curious as to why two FLOAT values are stored differently. Inserting
    two FLOAT values one with value of 99E9 and the other with 12E-9.
    Value for 99E9 was stored in the database as 99000000000 and 12E-9
    was stored in the database as 1.2E-8. Why were they stored in
    different formats? I am using Oracle9i

    Please don't cross post between the Database - General and PL/SQL forums.
    Please check the other thread at Re: FLOAT Value Doubt
    Cheers,
    Colin

  • HT4623 Why do the words, graphics, etc on my 4s screen vibrate when I touch it? I powered it off thinking it was a glitch but it continues

    Why do the words, graphics, etc on my 4s screen vibrate when I touch it? I powered it off thinking it was a glitch but it continues to happen. It just started out of the blue

    I think I have found the source of my problem detailed above. Apparently, there have been problems with Preview running on OS Mavericks, dating back to October 2013, which Apple has yet to acknowledge or address. Many have had similar problems with photo images loading very slowly to the point of making Preview unuseable.
    It may also explain problems I have had with flash drives and hard drives that ran on my Mac Book Pro under Lion no longer working  since upgrading to Mavericks. I found other postings on these issues.
    It is a shame that I have to resort to Google as the best source to identify problems with my Mac and possible solutions. In many cases, it directs me to the source on Apple Support, which is difficult to find when one attempts a search via Apple Support. This could use some improvement.
    I am new to using community support sites and Apple does not seem  to provide simple, clear directions  on how to get started. Jumping in with both feet, not only did I get wet, but I apparently "splashed" someone, as I got a hostile response from another community member on the first issue ever posted. I never did get an answer to the problem, though. I hope some find these comments helpful.
    Oh, and wake up, Apple. We all would hope you monitor and glean information from these postings and act promptly to remedy problems with OS Mavericks.
    Message was edited by: MikeMacBP2011

  • Why there are overloaded create methods in Statful bean?

    Hi all,
    I have a question ...!
    Why there are overloaded create methods for Statefule beans? and why not for Stateless bean?
    because any way these create methods are for giving referneces of EJB objects.hence, what is use of overloaded methods in stateful bean?
    Thanks in advance.
    Regards,
    Rahul

    Hi Rahul,
    Each stateful session bean is tied to a particular client. That means whatever state is passed in during create() is guaranteed
    to be available on subsequent invocations. Allowing multiple create methods is a convenience.
    For stateless session beans there is no prescribed relationship between the caller and which bean instance is used to handle
    an invocation. It wouldn't make sense to allow creation parameters since there would be no guarantee that a subsequent
    invocation is handled by an instance containing that particular initialization state.
    All of this only applies to the EJB 2.1 and earlier API. Starting in EJB 3.0, there are no longer explicit create() methods.
    As you've seen there isn't any benefit to having them in the stateless case. For stateful session beans in EJB 3.0, the
    developer can perform initialization by just declaring a particular business method and calling that after first acquiring a
    new stateful session bean reference.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • When / why use XML to store data instead of database table ?

    Hi All,
    I still not use XML much in applications and don't know much about its utilization.
    I read here and there about storing data as XML instead of into database tables.
    - could any body please tell me when / why use XML to store data instead of database table ?
    e.g : store inventory per warehouse in XML format. ?
    - What is the other cases or reasons of extracting database records into XML or vice versa ?
    - is there any good pdf on this ?
    Thank you for your help,
    xtanto

    It depends entirely what you want to accomplish with the 'XML in the database'. There are basically 3 independent methods: As CLOB, as XMLType views or as native XMLType 'columns'
    Each method has advantages and disadvantages, especially in the performance vs purpose tradeoff.
    The Oracled Press book "Oracle Database 10g XML & SQL Design, Build, & Manage XML Applications in Java, C, C++, & PL/SQL" is highly recommended for anyone interested in Oracle and XML. http://books.mcgraw-hill.com/getbook.php?isbn=0072229527&template=oraclepress

Maybe you are looking for

  • F4 is not working

    Hi Frds Im working in ECC 7 ,when i click F4 ,im getting blank screen ,without any datas .Can anyone tell me how to bring tht . Thanks By PARI

  • Aperture library won't load!

    All of a sudden I am getting the message: The library in "/Users/`/Pictures/Aperture Library.aplibrary" cannot be loaded because it is from a newer version of Aperture, so I can't run Aperture. I am running V 3.02 I haven't changed anything at all, s

  • Send Mail with PHP, ASP, or Perl

    Find out more Here

  • Assigning a result to two variables

    I am trying to assign a string result from a step to two seperate variables, namely Step.Result.ReportText, and a local or file global. I can do this with a post expression, but it would be convenient just to do it with an expression tied to the outp

  • This is interesting for touchscreen

    http://www.youtube.com/watch?v=89sz8ExZndc  but is there an equivilant for hp touchscreen?