Repaint during an event with no effect

Hello, I'm trying to repaint a JFRame during an event that takes abot 30-60seconds, the result is that the JFrame is not repainted until the event is finished. There is any solution to this? Sorry I'm a newbie with swing.

I just had a similar problem. So I quote Camickr who pointed out why this is happening:
All code in in an event listener is executed in the GUI Event Thread ... [Only] When the thread finishes [your painting] is executed.The solution is to put your painting code in a separate thread.
Edited by: Joerg22 on Dec 10, 2007 9:42 PM
There was even no need to quote him. He replied quicker than me. ;-)

Similar Messages

  • Problem with keyframe effect - at start and end (crop and scale)

    I'm having this odd problem with keyframe effects.
    Setup:
    I have a gif image that I have on video 1 for say 2 minutes.
    I have my real video on video 2.  It is a person talking.
    First I start with my video full size on top of video 1.
    Though the motion and cropping keyframe management I slowly reduce the scale and crop my video image so that it is reduced to the lower left bottom of the screen, on top of the gif, which is now revealed.
    My problem is at the start and end of the transition from full video to small box on lower left on top of my gif I often get 1-2 frames where the video goes blank and/or I get a bunch of random red bars on black background appearing on the video - Or I get the gif from video 1 without the video 2 at all (it disappears).
    I've tried moving my start of end of the transition to skip the bad spots - but these new transition starts or ends not get their own bad spots in the same way.  Its only a couple of frames but it's really unacceptable for the finished video.
    Note, when I say transition here I don't mean real transition events, but rather the start of effects that are managed with keyframes.  My move from start to end of the effect runs for about 4-6 seconds.
    Any ideas?

    Bill,
    Here is more detail and screen captures.
    Concept:
    I have 3 minutes of video.  It contains a person making a speech.  During parts of the speech I want to reveal a graphic image that will be discussed.  The speech will begin with the speaker full screen.  Half way in, the speaker will shrink down to 45% in the lower left corner of the screen.  While the animation occurs (the shrink, move and cropping) it will reveal the graphic below.  The graphic will take up the full screen with the speaker at 45%.
    Technique:
    I put the video in Video 2 and the graphic, a GIF image in Video 1.  The scene begins with the speaker talking at full screen.  After a minute, I animate the move of the speaker using Motion: Scale and Position and Effect: Crop changing Top, Bottom, Left and Right sides.  The animation occurs over approximately 8 seconds.
    I am manually adding keyframes at the start and end of the animation.  I set the ending state of the video image in the end keyframes.  The interpolation between these start and end keyframes should be managing the animation.
    Problem:
    At the beginning and end of the animation – usually 1-3 frames from the start and 1-3 frames from the end, where the change has barely begun or almost ended, I get these problems.  On some frames, the video (in Video 2) completely disappears only showing the Video 1 GIF image below.  On other frames, the video image turns black with horizontal red bands half way across.
    Troublshooting:
    I’ve tried deleting all start and end keyframes and moving the start and end earlier or later to see if I can fix this, but the problem continues to show up in these new locations.
    I have added a few screen shots.
    1:32:15 is the start of the animation change and 1:40:22 is the end of increasing from the mini video speaker to full size (on top of the GIF).
    At 1:40:16 the video image completely disappears only showing the GIF below.
    At 1:40:17 its back and slowly increases in size through the interpolation until it is full size at 1:40:22.
    Let me know if you need anything else.
    Thanks!
    Evan

  • TS4436 Problem with camera effects.. Browsed my gallery all my photo effects gone ?

    Hey !! Just noticed before uploading pictures that all my effects I'd applied on camera shots have returned to natural or no effect when I browsed the gallery , when you click edit however the picture is with the effect I started with and you cannot re apply it unless you change it ... Anyone else having this problem ??

    I have te same unfortunate problem. Only happens in iPad. cameraRoll.browseForImage() opens a new window but wherever I touch (on folders, or anywhere on the window or out of the window) it dispatches a Cancel event and closes window.
    I tried to dispatch flash.events.Event.DEACTIVATE, from nativeStage and from cameraRoll, before and after calling cameraRoll.browseForImage() , but still it was behaving same as above.
    I tried setting displayState as:
    Starling.current.nativeStage.displayState = StageDisplayState.NORMAL;
    But no help neither.
    It doesn't show any error, I don't have any other solutions to come up with. I feel that somehow I need to invoke application to deactivate, to let my touches focus on CameraRoll window, but I don't know how to do this actually (I tried to dispatch DEACTIVATE event from various sources but I dont believe it is an effective way of doing it).
    I use AIR 16.0 with Starling, test on iOS 8.1.

  • An error occurred during Apple event processing. -43

    Every time I reboot my MacBook Pro I now get the following message.
    "An error occurred during Apple event processing. -43"
    I'm using OSX 10.6.7.
    Can anyonw help me resolve this problem?
    Dan

    Dan, are you using Adobe Photoshop Elements 9 for the Mac?
    If so, take a look at this thread:
    http://forums.adobe.com/thread/782138?decorator=print&displayFullThread=true
    Otherwise, what happens if you boot into Safe Boot? If the message doesn't occur, it might be a 3rd party startup item causing the issue, check the Login Items under your user Account under system preferences.
    Usually, the only thing that is there is the iTunes Helper, along with various printer alerters...

  • PCUI Pop up Confirmation during save event

    Hi,
    I would like to implement a confirmation pop up at tthe time of save. the user may
    choose to proceed with the save or cancel save.
    I have implemented in the following fashion but apparently it does not refresh the data on the PCUI page.
    1. CHECK_BEFORE_SAVE - Raise Information Message. Set Flag not to save.
    2. SAVE - Check if flag is set not to save, return error code. and do not continue with save.
    3. GET_MESSAGES - Add the messages to rt_applog (Message is configured for navigation)
    4. PROCESS_EVENT - Process for the pop up events 'Yes' and 'No'.
    'Yes' event will call the save method after initializing do not save flag. 'No' with exit.
    Please recommend correct way to implement a pop-up confirmation during save event.
    Thanks
    Shyam

    Hi,
           This pop up is related to the WorkProtect mode,
    It will be configured in the portal,
    There will be 3 options available
    if Workprotect mode is 0--- then navigate automatically
    1-- pop up and then navigate
    2- navigate with out saving.
    i'm not sure about the values.
    WorkProtect mode can be seen in the personalize link and this link is available if eu_role is assigned to the corresponding user.
    Please contact portal admin team regarding this.
    Anilkumar

  • Custom L&F with Shadow effect for Menus & Tooltips

    Hai friends !
    I want to design a custom look and feel with shadow effect for menus
    and tooltips. Pls help me....
    I tried following but..
    i) Extended abstract border....
    ii)Extends ColorUIResource to support "alpha"
    iii)setOpaque(false) in installUI() method
    Event hough I used transperent color for border the underlying color of
    component is displaying at the corners.

    I don't think there's anything you can do with the Tooltips, because the only methods I see that have to do with the tooltips are setTooltipText and getTooltipText..
    But, you can do transparent borders, and here's some code that shows you how to do it. This doesn't do exactly what you want, but you should be able to get there.
    import javax.swing.*;      
    import javax.swing.border.*;  
    import java.awt.*;
    public class BorderTest extends JFrame {
       JPanel panel;
       JButton buttona;
       JButton buttonb;
       public BorderTest () {
          super("BorderTest");
          panel    = new JPanel();
          buttona  = new JButton("TransBorder");
          buttonb  = new JButton("NonTransBorder");
          getContentPane().add(panel);
          panel.setLayout(new GridLayout(0, 2));
          panel.add(buttona);
          panel.add(buttonb);
          panel.setBackground(Color.red);       
          // these two buttons are both blue, but the one with the transparent
          // border ends up looking somewhat purple.
          buttona.setBorder(new TransBorder());
          buttonb.setBorder(new TransBorder(Color.blue));
          setDefaultCloseOperation(EXIT_ON_CLOSE);
          setBounds(0, 0, 300, 300);
       private class TransBorder extends AbstractBorder {    
          Color transColor;
          public TransBorder() {
             super(); 
             transColor  = new Color(0, 0, 255, 100);  // transparent blue
          public TransBorder(Color c) {
             super(); 
             transColor  = c;
          public Insets getBorderInsets(Component c) {
             return new Insets(3, 3, 3, 3);
          public Insets getBorderInsets(Component c, Insets i) {
             return getBorderInsets(c);
          public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
             g.setColor(transColor);
             g.fillRect(x, y, w, h);
       public static void main(String[] args) {
          BorderTest bt  = new BorderTest();
          bt.setVisible(true);
    }Hope this helps.
    Eric

  • Replace With After Effects Composition... What's the Point...???

    Hi...
    So I have a timeline that I want to CC in AE....
    I select all the clips and choose "Replace with After Effects Compostion"
    PPRO correctly initiates an AE launch which then correctly makes a Composition with all my clips in it...
    Now, ALL the clips, while there in the AE Comp, DONT have the clip names I gave them in the Timeline in PPRO.
    They have the original clips names. Like MVI_9987.MOV which is totally misleading....
    Why on earth would PPRO NOT adopt the names of the clips in the timeline to the after effects compostion ??
    This is my major gripe with Adobe, you have so many GREAT and VERY Innovative but totally NON-Thought-Thru' features. It is killing me.
    This here among so manu other things is what makes your CS Suite (Aside from Photoshop) a Pro-Sumer Solution....
    A professional solution is NOT regarded professional because it has fancy features, it is regarded as such because the features it HAS have been WELL contemplated and integrated.
    I hope your CS6 version is going to take care of all those small problems...
    But then again, been having those hopes since CS4

    The bit I do not understand is why the need to rename the Clips and how that becomes of value in either PPRO or AEFX (or Resolve or elsewhere).
    Say YOU have to colorize my movie that I am currently cutting. The timeline consists of about 630 clips, derived from about 300 sources (Clips in Bin)
    The clips in the bin have the original rush name... Thus BLABLA.mov... This way you can alsways go back and in time. Adobe has integrated something called METADATA and THAT should be use to describe scenes, shots etc.
    That is why adobe made a BIG deal out of integrating Metadata..
    Now, in above scenario let us assume that you CC in AfterEffects. I'll send you the project via overnight on  a hard drive, and tomorrow you open it either via Importing the Project into AE or by opening it in PPRO and hitting replace with AE comp.
    You going to get 630 individual layers in the AE Com. The layer names are going to be derived from the source clips. So you are going to be looking at MAX 300 different names. YOU SHOULD be looking at 630 different names. But you are not.
    AE will ignore the PPRO clipsnames and just generically name the layers by the source clip name.... Again... even if I had renamed all the source clips in the bins ONE source clip could be contain 7 differen subclips in the whole timeline.. ALL THOSE clips would share the same name... Thus nothing to do with it label..
    So, now I have YOU on the phone, breathing down my neck, trying to communicate to me WHICH clip had THAT cool sunrise effect. I DID label it Sunrise... But PPRO and AE messed that up... So I go....
    Hoooold On, Shooter..... Let me just open the timeline and count from left to right.... 1,2,3,4,5,6.... 459,,,, Ohhhh there it is... Clip number 459 from the left... Have fun Counting clips.
    I hope you understand what I am saying, if not... OK...  at least then I can understand why you DONT understand -)   (No Disrespect Meant)
    You make the following over dramatic claim about how fast your workflow is ....but to me, that would be slow and imprecise.
    Based on your questions I can understand why you would feel that way.
    I bet you are one of those guys thinking FCPx's event library sucks ;-)
    Can you tell me how you name the clips in the workflow you describe here...?
    I select the clip, hit ctrl-r (rename clip), give it a name and move on to the next...

  • Mouse dragged event with unexpected coordinates

    I am dragging the mouse on a half circle from the middle left to the top middle. This results in mouse events with the coordinates form (10,90) ->(100,10)
    Letting the mouse go and then dragging it further to the left, the coordinates in the of the event are similar than the starting point of the first mouse drag event.
    Can anyone shed some light on this peculiar behavior?

    First of, I have to apologize for the example not being as minimalistic as it might be, but on the plus side, I know now why this happens, I just don't know how to work around it.
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    package javafxtest;
    import java.util.ArrayList;
    import javafx.application.Application;
    import javafx.beans.property.DoubleProperty;
    import javafx.beans.property.SimpleDoubleProperty;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Dimension2D;
    import javafx.geometry.Point2D;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.layout.StackPane;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Circle;
    import javafx.scene.shape.Polygon;
    import javafx.scene.shape.Rectangle;
    import javafx.scene.shape.Shape;
    import javafx.scene.transform.Rotate;
    import javafx.stage.Stage;
    * @author andi
    public class HandleRotation extends Application {
        private DoubleProperty currentRotation;
        private ArrayList<Double> angles;
        @Override
        public void start(Stage primaryStage) {
            currentRotation = new SimpleDoubleProperty(this, "currentRotation", 10);
            SteeringWheelGroup background = new SteeringWheelGroup(200);
            background.setManaged(false);
            Group g = new Group(background);
            final Point2D centerPoint = new Point2D(100, 100);
            angles = new ArrayList<>(3);
            angles.add(190.0);
            angles.add(270.0);
            angles.add(350.0);
            double step = (180.0 - 2 * currentRotation.doubleValue()) / (angles.size() - 1);
            int radius = 100;
            final int yTranslation = 15; // might be due to the labels
            Polygon handle = createHandle(centerPoint, radius, yTranslation);
            g.getChildren().add(handle);
            StackPane root = new StackPane();
            Scene scene = new Scene(g, 300, 250);
            primaryStage.setTitle("Handle Rotation!");
            primaryStage.setScene(scene);
            primaryStage.show();
         * Calculate the base point for the label. This is the point on the arc, matching the angle.
         * @param center point of the circle
         * @param radius radius of the circle
         * @param angle in degree in [0,180]
         * @return Point on the circle
        Point2D calculateBasePoint(Point2D center, double radius,
                double angle) {
            float newX = (float) (center.getX() + radius * Math.cos(Math.toRadians(angle)));
            float newY = (float) (center.getY() + radius * Math.sin(Math.toRadians(angle)));
            return new Point2D(newX, newY);
         * Create the polygon that represents the handle
         * @param centerPoint
         * @param radius
         * @return
        private Polygon createHandle(final Point2D centerPoint, int radius, final int yTranslation) {
            double baseAngle = 180;
            Point2D p1 = calculateBasePoint(centerPoint, radius, baseAngle - 5);
            Point2D p2 = calculateBasePoint(centerPoint, radius, baseAngle + 2);
            Point2D p3 = calculateBasePoint(centerPoint, radius*0.65, baseAngle + 2);
            Point2D p4 = calculateBasePoint(centerPoint, radius*0.65, baseAngle - 7);
            double[] points = {p1.getX(), p1.getY(), p2.getX(), p2.getY(), p3.getX(), p3.getY(), p4.getX(), p4.getY()};
                      Polygon polygon = new Polygon(points);
    //        polygon.setOpacity(0);
            polygon.setTranslateY(-yTranslation);
            final Rotate rotationTransform = new Rotate(currentRotation.doubleValue(), centerPoint.getX(), centerPoint.getY());
            polygon.getTransforms().add(rotationTransform);
            polygon.setOnMouseDragged(new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent event) {
                    if (event.getY() < centerPoint.getY()) {
    System.out.println("Event: "+event);                   
                                                       Point2D point = new Point2D((float)event.getX(), (float)event.getY());
                        double newAngle = angleBetween2Lines(centerPoint, point);
                        if (newAngle < 0) {
                            newAngle = (90 + newAngle)+ 90;
    System.out.println("Set angle on mouse drag: "+newAngle);
                        if (newAngle < 10) {
                            newAngle = 10;
                        if (newAngle > 170) {
                            newAngle = 170;
                        currentRotation.set(newAngle);
            polygon.setOnMouseReleased(new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent event) {
                    snapToNearestAngle();
                    rotationTransform.setAngle(currentRotation.doubleValue());
            return polygon;
         * Snap to the correct angle. Correct angle is angle belonging to the nearest label.
        void snapToNearestAngle() {
            double currentAngle = currentRotation.doubleValue() + 180;
            double currentMin = 360;
            int minIndex = 0;
    System.out.println("Current rotation is "+currentAngle);
            for (int i = 0; i < angles.size(); i++) {
                double angle = angles.get(i);
                double diff = Math.abs(angle - currentAngle);
                if (diff < currentMin) {
                    currentMin = diff;
                    minIndex = i;
    System.out.println("new minDifference at "+i+": "+diff);
            Double destinationAngle = angles.get(minIndex);
    System.out.println("DestinationAngle is "+currentAngle+" -> "+(destinationAngle - 180));
            if (destinationAngle < 180 + 10 || destinationAngle > 360 - 10) {
                throw new IllegalStateException("Angle is out of range: "+currentRotation.doubleValue()+" -> "+destinationAngle);
            currentRotation.set(destinationAngle - 180);
         * Calculate the angle between the vector horizontally to the left from the center
         * and the current point.
         * @param center point
         * @param point current point
         * @return angle in degree
        double angleBetween2Lines(Point2D center, Point2D point) {
            double slope2 = calculateSlope(center, point);
            double angle = Math.atan(slope2);
            if (point.getX() > center.getX()) {
                angle += Math.PI/2;
    System.out.println("Slope: "+slope2+" angle "+Math.toDegrees(angle));
            return Math.abs(Math.toDegrees(angle));
         * Caluculate the slope of the line defined by two points.
         * The first point is the center of a circle and the second
         * point roughly lies on the circle.
         * @param center point
         * @param point on the circle
         * @return slope of the connecting line.
        double calculateSlope(Point2D center, Point2D point) {
    System.out.println("center="+center+",point="+point);       
            double absSlope = Math.abs((point.getY() - center.getY()) / (point.getX() - center.getX()));
            if (point.getY() > center.getY()) {
                if (point.getX() > center.getX()) {
                    // bottom right
                    return -absSlope;
                } else {
                    // bottom left
                    return absSlope;
            } else {
                if (point.getX() > center.getX()) {
                    // top right
                    return absSlope;
                } else {
                    // top left
                    return -absSlope;
         * The main() method is ignored in correctly deployed JavaFX application.
         * main() serves only as fallback in case the application can not be
         * launched through deployment artifacts, e.g., in IDEs with limited FX
         * support. NetBeans ignores main().
         * @param args the command line arguments
        public static void main(String[] args) {
            launch(args);
       private class SteeringWheelGroup extends Group {
            public SteeringWheelGroup(int destinationWidth) {
                int topPadding = 0;
                Rectangle rect = new Rectangle(getImageWidth(), getImageWidth(), Color.RED);
                double scale = destinationWidth / rect.getWidth();
                rect.setScaleX(scale);
                rect.setScaleY(scale);
                Circle circle = new Circle(getImageWidth()/2, getImageWidth()/2, getImageWidth()/2, Color.BLUE);
                circle.setScaleX(scale);
                circle.setScaleY(scale);
                Group rotationGroup = new Group(/*rect,*/ circle);
                rotationGroup.setManaged(false);
                int width = getImageWidth();
                Rectangle clipRectangle = new Rectangle(0, 0, width, width / 2);
                Circle clipCircle = new Circle(width / 2, width / 2, width / 2);
                Shape clip = Shape.intersect(clipRectangle, clipCircle);
                rotationGroup.setClip(clip);
                this.getChildren().add(rotationGroup);
                //double h = calculateHeigthOverHorizon(angle, destinationWidth/2);
                //setTranslateY(-h+topPadding);
            public final int getImageWidth() {
                return 479;
    Here is how you can reproduce my effect:
    Grab the black handle
    Drag the mouse top and right until you approach the angle -90 (have an eye out on the console log)
    Let the mouse go: the handle will snap to 90 degree
    Grab the handle a second time and move further right
    You will see that the angle printed out do not match what you expect.
    Let the mouse go, the Handle snaps back to it's original position
    As the rotation does not happen around the polygon's center, I have to use a Rotaion effect, which is applied. While I can drag the shape from the rotated location the dragging is always measured from its base position.
    So what can I do to work around this?
    final Rotate rotationTransform = new Rotate(currentRotation.doubleValue(), centerPoint.getX(), centerPoint.getY());
    polygon.getTransforms().add(rotationTransform);
    If worse comes to worst, I can use a circular handle covering everything, then I can rotate around its center, but I would like to avoid this.

  • How to adjust mouse event with scaled DesktopPane

    Hi
    I am manjunatha, i am developing Data warehouse product, in this, i am showing inter-related Transforms in desktop pane, i given option to view the content of desktop pane with different scaled factor (ex 100%,50%,25%), when i will scale the content of desktop pane using Graphics class, only content will be scaled, but the events on the Internal frames will be referring 100% view only,(ie mouse event will not effected by scaled factor, so it will be point to 100% view points only, ex at first an Internal Frame will have bounds(10,10,200,200), after i will scale this to 10%, it will be drawn with (1,1,20,20) on the desktop pane, but internally its bounds will be (10,10,200,200) and mouse event will detect Internal Frame at (10,10,200,200) location , instead of scaled (1,1,20,20) location.
    My question is how can i scale the Internal Frames and adjust relevant events to it?
    (You can see screen shot of this page with (Mapplet View as screen name)
    At www.MyDataWarehousing.com)

    Did you ever find a solution to this? How did you scale all the components on resize?

  • Custom Tilelist Component With Special Effects

    I am trying to create a custom tilelist component which incorporates some special visual effects I need for my app. What I'm trying to do is replace the blue themed rollover color which shows when each item is rolled over with an effect which applies the glow effect to each hovered over items image and label and also converts the image to color whilst the item is hovered over (the tilelist itself is converted to greyscale upon application complete). At the moment I have it set so the blue them is completely removed but I want to instead alter the rolover them e to how I've described above. Here's what I mean below, which I made using static images and text (the social item is being hovered over in that picture), followed by the code for my custom tilelist so far:-
    http://i223.photobucket.com/albums/dd147/jimmyoneshot/theicons.jpg
    <?xml version="1.0" encoding="utf-8"?>
    <mx:TileList xmlns:mx="http://www.adobe.com/2006/mxml">
        <mx:itemRenderer>
        <mx:Component>
         <mx:Canvas width="125" height="145">
          <mx:Image source="{data.icon}" height="64" width="64" top="10" horizontalCenter="0"/>
          <mx:Label text="{data.label}" bottom="1" horizontalCenter="0" color="#FFFFFF" fontWeight="bold" fontSize="12"/>
         </mx:Canvas>   
        </mx:Component>
        </mx:itemRenderer>
    <mx:Script>
    <![CDATA[
      import mx.core.EdgeMetrics;
      import mx.core.IFlexDisplayObject;
      import mx.skins.halo.ListDropIndicator;
      import mx.events.DragEvent;
      import mx.controls.listClasses.IListItemRenderer;
      use namespace mx_internal;
      override protected function drawSelectionIndicator(
        indicator:Sprite, x:Number, y:Number,
        width:Number, height:Number, color:uint,
        itemRenderer:IListItemRenderer):void
      // Remove the Selection indicator
      override protected function drawHighlightIndicator(
       indicator:Sprite, x:Number, y:Number,
       width:Number, height:Number, color:uint,
       itemRenderer:IListItemRenderer):void
      ]]>
    </mx:Script>
    </mx:TileList>

    I'm unstuck :)  The key to getting this to work is to import the packages you are going to use in your component.xml.
    So, for me..I had to add the following:
            com.adobe.idp.workflow.dsc.type
            com.adobe.idp.taskmanager.form
            com.adobe.idp.taskmanager.form.impl
            com.adobe.idp.taskmanager.form.impl.xfa

  • Delaying repaint until componentMoved event processed

    I have a problem in a specialised browser application I have written.
    The main display consists of a JPanel with JComponents added to it at absolute locations (Layout manager is set null). A Link object represents the link between two JComponents and holds a start and end location. In the 'Panel' class; the paintComponent method is overridden to render the link objects i.e. iterates thru link object list and draws a line from start to end point for each one.
    The Link object also implements the componentListener interface and listens for movement/resizing of its origin and destination JComponent. i.e. will dynamically change as JComponets are moved.
    Scenario- JComponent is moved to a different location: I believe this results in an automatic call to repaint the JComponent and consequentially the parent JPanel but will also cause a componentMoved event, which is then processed in the Link object,updating its start or end point.
    However the repaint is carried out before the componentMoved event , causing the links to be 'one move behind' the JComponent.
    How can I delay the repaint() on the event dispatching thread until the componentMoved event is processed.
    (I originally got round the problem by calling repaint()on the Panel at the end of the componentMoved method. But this means the whole display is painted twice for each user action. Since there are alot of scaled images and high definition images rendered, this is slow and jerky!)
    I am only starting to investigate use of different threads so any advice from experienced users appreciated
    thanks

    All repaing calls are delegated to the RepaintManager for that component and scheduled for painting.
    The RepaintManager is a convenient way to collapse fast occuring paints. In the end, the paint requests will be called from a SwingUtilities.invokeLater anyway, so just adding one more might not be the solution.
    Another, more obscure use of the RepaintManager, is exactly stopping unwanted paints. You can see this in the case of a JScrollPane. The viewport manages the movement of the view by changing its location. That calls repaint on the whole view component, event if the viewport size is very small. There are still a lot more things that the viewport does with the RepaintManager, but there is no need for that right now.
    In your case you can implement something like this:
    -- since your component is moved through the setLocation method you can override it with something like this:
    private Rectangle rectDirtyRegion;
    public void setLocation(int x, int y) {
        //call the actual moving operation
        super.setLocation(x, y);
        // get the RepaintManager for your component
        RepaintManager manager = RepaintManager.currentManager(this);
        // save the dirty region for your component
        rectDirtyRegion = manager.getDirtyRegion(this);
        // mark the component as clean so that no paint will take place.
        manager.markCompletelyClean(this);
    }Now, when you finally draw your link, you have to take care of marking the dirty regions again:
        RepaintManager.currentManager(this).addDirtyRegion(this, rectDirtyRegion.x, rectDirtyRegion.y, rectDirtyRegion.width, rectDirtyRegion.height);It is probably more work to it than in this simple example, but I am sure it can be accomplished. Study the RepaintManager behaviour and you might come with an even better solution.

  • In ical I just added new calendars to a pre-existing calendar group, I can make events with these calendars, but not reminders, any suggestions?

    in ical I just added new calendars to a pre-existing calendar group, I can make events with these calendars, but not reminders, any suggestions?

    Hi,
    Lion has changed the way reminders (todos as was) work. They now seem to need to be in a seperate calendar.
    In iCal open the File menu and select New Reminder List... and select where to put it.
    Best wishes
    John M

  • Is there a way to delete all events with the same title (not added as reoccurring) without deleting one at a time?

    i currently have a calendar synced that has events scheduled in perpetuity, scheduled as individual events.  I would like to delete all events with the same title.  I do not want to delete the entire calendar nor do I want to go into every event and delete individually.  These were not scheduled by me so I do not know how they were added one by one and go on forever but they are NOT scheduled as reoccurring and thus must be modified individually.
    I can do a search and find all events, is there a way to just delete all events with the same title all at once?
    this is a Microsoft outlook synced calendar and I am seemingly unable to delete the events all at one time from Microsoft as well. 
    Please help!

    If you still have access to the Outlook calendar in Outlook, I would delete them from there. There are a number of ways to do that, but if you open the individual event in Outlook, does it show a repeating pattern? If not, then you may have to delete them individually, but that is not that difficult either. Go into the calendar and then change the view to a list view. From there you can sort the view according to subject. This should bring all of these same appointments together in the list and you can select the group in Outlook and delete them. Once you do that, you can change your view back and then sync the phone. That will remove the events from the phone.

  • Serious resolution issues with After Effects CC (2014) on Windows 8.1 Pro on Dell Precision M3800 laptop??

    My new company installed Adobe Creative Cloud (There was some annoying Proxy issues at first, because of the seriously tight I.T policies) but we are having some serious resolution issues with After Effects CC 2014 (also have this resolution problem with Adobe Premiere, Media Encoder, Muse) on Windows 8.1 Pro on a Dell Precision M3800 laptop with icons and interface looking too small and hard to see, is there a fix, an update or a work around, can anyone help?
    Any help will be appreciated!
    k.regards
    Ramon

    Hi Todd is there a time-frame for this fix, there is a lot of pressure on me, because I convinced my company to get the Creative Cloud and quite a lot of the CC software is not compatible with the latest Windows 8.1 OS.
    Is there at least a work around, until this big fix comes along?
    k.regards
    Ramon

  • Currency translation differences with an effect on earnings

    Product Version: SAP R/3 46.C
    Componente: EC-CS-CSF-E Currency Translation
    In currency translation program of ECCS (tx CX40) the prior year portion of translation differences that affects earnings is posted in current period in the earnings retain item (ER) which according to SAP documentation "Currency translation differences with subsequent consolidations" is correct, however when we run the currency translation on subsequents periods this amount is posted again generating a multiplying of differences on each period.
    In accordance with section u201CBu201D of SAP note 553586, the carryforward item (retain earnings) was assigned to translation key 5, to avoid multiplications of this difference in every execution of currency translation for current period. This correction was applied successfully, however the problem is now generated when we run the currency translation in every subsequent period.
    SAP notes 582815 and 553586 was applied succesfully.
    We also verified SAP note 1045402 changing the translation key 5 to 1, for balance carryforward item (retained earnings) this avoids the difference effect on subsequents periods, but  generates a translation differential effect undesired on this item, since this is a historical item that not must be altered by currency translation.
    Additionally we read SAP note 509509 and we think that this issue corresponds whit symptom 2 of that note.
    Step by Step:
    Transaction: CX40
    Setting of Translation SET in translation method:
    1.- MARS-GAP-Monetary:
    1.1.- Items of balance sheet
    1.2.- Translation Key 1
    1.3.-  Item for differences: income statement item with an effect on earnings
    2.- MARS-GAP-NonMonetary
    2.1.- Items of balance sheet
    2.2.- Translation Key 6
    2.3.-  Item for differences: income statement item with an effect on earnings
    3.-MARS-MOR-Monetary
    3.1.- Items of P&L
    3.2.- Translation Key 5
    3.3.-  Item for differences: income statement item without an effect on earnings
    4.-MARS-MOR-NonMonetary
    4.1.- Items of P&L
    4.2.- Translation Key 6
    4.3.-  Item for differences: income statement item without an effect on earnings
    5.- MARS-HIST
    5.1.- Items of balance sheet
    5.2.- Translation Key 6
    5.3.-  Item for differences: Balance sheet item without an effect on earnings
    6.- ANI-BS-FX
    6.1.- Items of differences SET MARS-HIST and Carryforward Item for special items in transaction CXD3, the same item for the balance carryforward (retained earnings)
    6.2.- Translation Key 5
    6.3.-  Item for differences: Balance sheet item without an effect on earnings (the same item for the SET MARS-HIST)
    7.- ANI-BS
    7.1.- The special balance sheet item in Transaction CXD3
    7.2.- Translation Key 5
    7.3.-  Item for differences, the same item
    8.- ANI-IS
    8.1.- The special income statement item in Transaction CXD3
    8.2.- Translation Key 5
    8.3.-  Item for differences, The same item
    Note:
    1 .- According to the point A of the note  553586 was included the FS Item 484051011(difference item for SET MARS-HIST)  in the conversion SET ANI-BS-FX
    2 .- According to Section B of the note 553586 was included the account for carried forward  481000001 the special accounts set up in the transaction CXD3 in the conversion SET ANI-BS-FX
    3 .- According to Section C of  note 553586 are included special accounts set up in the transaction CXD3 390000 and 251200, in the conversion SET ANI-IS and ANI-BS respectively.
    When run the currency translation in the new year 1-2011, the prior year portion of translation differences that affects earnings is posted in current period a credit to earnings retain and debit to account difference in SET for this account. This amount is same on special balance sheet item 251200, in tx CXD3, also found on the statistical FS item.
    Then in subsequent periods, 2 - 2011 it posting another credit to earnings retain and debit to account difference in SET for this account, generating a multiplying of differences on each period, even though the difference for this account (ER) in the log of the translation currency is equal to the difference posted to the previous period, show this in transaction CX34 for items of translation (1) for this account until 1-2011.
    Edited by: Ana Brito on Jul 25, 2010 8:10 PM

    Hi,
    just a information how I did a workaround about this:
    The opening (movement type 100) of the balance sheet item "differences of currency translation" is customized with "don't change...".
    Every increase  to "differences  of currency translation" works with e.g. movement type 120 and will be carried forward to 100.
    Maybe this is a scenario you can use...
    BR

Maybe you are looking for