Trouble writing a blocking method when asking GUI for input

Hi,
I think this is more of a thread question than a GUI question, so that is why i posted it here...
My problem is I have a client/server application, and the client also has a GUI, which I get an input string from.
My problem is, that I don't know how to write a blocking method, which will wait for the GUI's input.
The example I provided below is very simple, and the obvious solution would be to use a JOptionPane, but that is not a viable solution. The way I am getting around this now is using a Thread.sleep call in my GUI, but I feel that this is incorrect, and there should be another way around it.
Here is my server class (w/ main method)
import java.net.*;
import java.io.*;
public class Server {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = null;
        try {
            serverSocket = new ServerSocket(4444);
        } catch (IOException e) {
            System.err.println("Could not listen on port: 4444.");
            System.exit(1);
        Socket clientSocket = null;
        try {
            clientSocket = serverSocket.accept();
        } catch (IOException e) {
            System.err.println("Accept failed.");
            System.exit(1);
        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
        String  outputLine;
        outputLine = "Temp String";
        out.println(outputLine);
         System.err.println("Client: " + in.readLine());
        outputLine = "Bye";
        out.println(outputLine);
        out.close();
        in.close();
        clientSocket.close();
        serverSocket.close();
}Here is my client class (w/ main method)
import java.io.*;
import java.net.*;
public class Client {
    public static void main(String[] args) throws IOException {
        Socket kkSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;
        try {
            kkSocket = new Socket("localhost", 4444);
            out = new PrintWriter(kkSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: localhost.");
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to: localhost.");
            System.exit(1);
        ClientGUI cg = new ClientGUI();
        String fromServer;
        String fromUser;
        while ((fromServer = in.readLine()) != null) {
            System.out.println("Server: " + fromServer);
            if (fromServer.equals("Bye."))
                break;
            fromUser = cg.getInput();
         if (fromUser != null) {
                System.out.println("Client: " + fromUser);
                out.println(fromUser);
        out.close();
        in.close();
        kkSocket.close();
         System.exit(0);
}and here is the ClientGUI class (note: you need to resize it in order to see the textbox....
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class ClientGUI extends JFrame {
     private JTextField textBox = new JTextField();
     private JButton input = new JButton("Submit");
     private boolean recievedInput = false;
     private String inputText = "";
     public ClientGUI() {
          this.setupGUI();
     private ActionListener buttonAction = new ActionListener() {
          public void actionPerformed(ActionEvent e)  {
               inputText = textBox.getText();
               recievedInput = true;
     public String getInput() {
          while(recievedInput == false) {
               try {
                    Thread.sleep(2000);  //I  DONT want to do this!!
               catch(InterruptedException e) {
                    e.printStackTrace();
          recievedInput = false;
          return inputText;
     private void setupGUI() {
          textBox.setMinimumSize(new Dimension(100, 20));
          input.addActionListener(buttonAction);
          this.getContentPane().setLayout(new BorderLayout());
          this.getContentPane().add(textBox, BorderLayout.WEST);
          this.getContentPane().add(input, BorderLayout.EAST);
          this.pack();
          this.setSize(100,300);
          this.setVisible(true);
}If you have any ideas, I would greatly appreciate it

warnerja,
I tried the following, but I got an exception.
in the while loop inside Client.java, I put the following:
             synchronized(cg) {
                  try {
                      cg.wait();
                    fromUser = cg.getInput();
                  catch(InterruptedException e) {
                       e.printStackTrace();
             }and inside my ClientGUI class, I put the following:
private ActionListener buttonAction = new ActionListener() {
          public void actionPerformed(ActionEvent e)  {
               inputText = textBox.getText();
               ClientGUI.this.notify();
     public String getInput() {
          return inputText;
     }But I got this exception:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalMonitorStateException: current thread not owner
     at java.lang.Object.notify(Native Method)
     at ClientGUI$1.actionPerformed(ClientGUI.java:21)
any idea what I am doing wrong?

Similar Messages

  • When asking siri for directions home it gives us someone elses contact info. how do i change this?

    when asking siri for directions home it gives us someone elses contact info. How can i change this?

    settings - general - siri - my info -

  • Ask user for input after Workflow has already started?

    I am in the process of creating an "expense report" declarative workflow in Designer. I want to have it start automatically when a new document (here, an Excel file) is uploaded to the Library. I also want some user input (e.g. "Is this
    ER urgent?"). Is there a way to this without requiring the workflow to start manually?

    You can have required information as metadata on your library and user needs to fill those information. You read that information in your workflow.
    Amit

  • Makin GUI for input and output

    This is simple code for my Comp Science class at school, but I keep getting "Exception in thread "main" java.lang.NoClassDefFoundError: TrivialApplication"
    and im tryin to figure out what i did heres my code:
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    public class Hypotenuse {
              double side1, side2, hypotenuse;
              String Fside1, Fside2;
         public Component components()
         final JTextArea text = new JTextArea();
         final JTextField InputText1 = new JTextField();
         final JTextField InputText2 = new JTextField();
         JButton button = new JButton(" OK ");
         button.setMnemonic(KeyEvent.VK_ENTER);
         button.addActionListener(new ActionListener(){
              public void actionPerformed(ActionEvent e)
                   Fside1 = InputText1.getText();
                   Fside2 = InputText2.getText();
         JPanel InOutField = new JPanel();
         InOutField.setBorder(BorderFactory.createEmptyBorder(30,30,30,30));
         InOutField.setLayout(new GridLayout(0, 1));
              InOutField.add(text);
              InOutField.add(InputText1);
              InOutField.add(InputText2);
              InOutField.add(button);
              return InOutField;
         public static void main(String Args[]) throws IOException
             try
              UIManager.setLookAndFeel(
                   UIManager.getCrossPlatformLookAndFeelClassName());
             catch (Exception e)
              JFrame InOutFrame = new JFrame("Hypotenuse");
              Hypotenuse app = new Hypotenuse();
              Component contents = app.components();
              InOutFrame.getContentPane().add(contents, BorderLayout.CENTER);
              InOutFrame.addWindowListener(new WindowAdapter()
                   { public void windowCloasing(WindowEvent e)
                        { System.exit(0);
              InOutFrame.pack();
              InOutFrame.setVisible(true);
    }

    It compiles OK for me, but it doesn't close properly, unless I change this
    public void windowCloasing(WindowEvent e)
    to this
    public void windowClosing(WindowEvent e)

  • I'm having trouble writing a polynomial code.

    I'm having trouble with a polynomial code I'm supposed to conjour it. It's simply a code that adds, subtracts, and multiplies polynomials. However, there are a few methods I do not know how to come up with (I left them blank), and when I test the code write now, it doesn't work. Here's the code -- can anyone help?
    public class Polynomial implements Cloneable {
         private int m_degree;
         private double[] m_coefficient;
         // This is the default constructor
         public Polynomial() {
              super();
              m_degree = 0;
              m_coefficient = new double[5];
         // This allows the user to build a polynomial by putting a constant in
         public Polynomial(double constant) {
              this();
              m_coefficient[0] = constant;
         public Polynomial(Polynomial source) {
         // These are the getters
         public double getCoefficient(int degree) {
              return m_coefficient[degree];
         public int getDegree() {
              return m_degree;
         // These are the setters
         public void addToCoefficient(double amount, int degree) {
              m_coefficient[degree] += amount;
         public void assignCoefficient(double newCoefficient, int degree) {
              m_coefficient[degree] = newCoefficient;
         public void clear() {
              for (int i = 0; i < m_coefficient.length; i++) {
                   m_coefficient[i] = 0;
         public void reserve(int degree) {
         // These are other, useful methods
         public int nextTerm(int k) {
              int value = 0;
              return value;
         public double eval(double x) {
              double value = 0;
              // This goes through all the exponents in the polynomial
              for (int i = 0; i < getDegree(); i++) {
                   // += allows you to add instead of overriding the next term
                   value += getCoefficient(i) * Math.pow(x, i);
              return value;
         // Here is our addition method
         public static Polynomial add(Polynomial p1, Polynomial p2) {
              Polynomial newPolynomial = new Polynomial();
              // We have to find the bigger polynomial so we know how to set the loop
              if (p1.getDegree() >= p2.getDegree()) {
                   for (int i = 0; i < p1.getDegree(); i++) {
                        newPolynomial.addToCoefficient(p1.getCoefficient(i)
                                  + p2.getCoefficient(i), i);
              } else {
                   for (int i = 0; i < p2.getDegree(); i++) {
                        newPolynomial.addToCoefficient(p1.getCoefficient(i)
                                  + p2.getCoefficient(i), i);
              return newPolynomial;
         // Here is our subtraction method
         public static Polynomial subtract(Polynomial p1, Polynomial p2) {
              Polynomial newPolynomial = new Polynomial();
              // We have to find the bigger polynomial so we know how to set the loop
              if (p1.getDegree() >= p2.getDegree()) {
                   for (int i = 0; i < p1.getDegree(); i++) {
                        newPolynomial.addToCoefficient(p1.getCoefficient(i)
                                  - p2.getCoefficient(i), i);
              } else {
                   for (int i = 0; i < p2.getDegree(); i++) {
                        // The order is important with subtraction so they cannot be
                        // switched
                        // The equation is allowed to be negative, but the exponent
                        // cannot be
                        newPolynomial.addToCoefficient(p1.getCoefficient(i)
                                  - p2.getCoefficient(i), i);
              return newPolynomial;
         // Here is our multiplication method
         public static Polynomial multiply(Polynomial p1, Polynomial p2) {
              Polynomial newPolynomial = new Polynomial();
              if (p1.getDegree() >= p2.getDegree()) {
                   for (int i = 0; i < p1.getDegree(); i++) {
                        newPolynomial.addToCoefficient(p1.getCoefficient(i)
                                  * p2.getCoefficient(i), i);
              } else {
                   for (int i = 0; i < p2.getDegree(); i++) {
                        newPolynomial.addToCoefficient(p1.getCoefficient(i)
                                  * p2.getCoefficient(i), i);
              return newPolynomial;
         // Here is our clone method
         public Polynomial clone() {
              Polynomial poly;
              try {
                   poly = (Polynomial) super.clone();
              } catch (CloneNotSupportedException e) {
                   throw new RuntimeException(
                             "Class does not implement cloneable interface");
              return poly;
    }

    We've been working with arrays, and we have to write a code that adds, subtracts, and multiplies polynomials. I'm having trouble with a few of the methods. I've assigned m_degree and m_coefficient as the fields I need to use.
    Right now, as my code stands, when I test it with a polynomial in main, it doesn't work. So right now, there's a mistake preventing what I have so far from properly functioning.
    I am also having trouble writing the following methods:
    reserve: We have to allocate memory to the polynomial every time it changes so we make sure we always have enough space to work with it.
    nextTerm: We need this to jump to the next term in the polynomial, but I'm not quite sure how to do it. I didn't even realize it was possible.
    I'm horrible at commenting and explaining my code, but if you read over it just a little bit, you may be able to get the gist of what I'm trying to do. Thanks for any help, and sorry if I can't explain well.
    public class Polynomial implements Cloneable {
    private int m_degree;
    private double[] m_coefficient;
    // This is the default constructor
    public Polynomial() {
    super();
    m_degree = 0;
    m_coefficient = new double[5];
    // This allows the user to build a polynomial by putting a constant in
    public Polynomial(double constant) {
    this();
    m_coefficient[0] = constant;
    public Polynomial(Polynomial source) {
    // These are the getters
    public double getCoefficient(int degree) {
    return m_coefficient[degree];
    public int getDegree() {
    return m_degree;
    // These are the setters
    public void addToCoefficient(double amount, int degree) {
    m_coefficient[degree] += amount;
    public void assignCoefficient(double newCoefficient, int degree) {
    m_coefficient[degree] = newCoefficient;
    public void clear() {
    for (int i = 0; i < m_coefficient.length; i++) {
    m_coefficient[i] = 0;
    public void reserve(int degree) {
    // These are other, useful methods
    public int nextTerm(int k) {
    int value = 0;
    return value;
    public double eval(double x) {
    double value = 0;
    // This goes through all the exponents in the polynomial
    for (int i = 0; i < getDegree(); i++) {
    // += allows you to add instead of overriding the next term
    value += getCoefficient(i) * Math.pow(x, i);
    return value;
    // Here is our addition method
    public static Polynomial add(Polynomial p1, Polynomial p2) {
    Polynomial newPolynomial = new Polynomial();
    // We have to find the bigger polynomial so we know how to set the loop
    if (p1.getDegree() >= p2.getDegree()) {
    for (int i = 0; i < p1.getDegree(); i++) {
    newPolynomial.addToCoefficient(p1.getCoefficient(i)
    + p2.getCoefficient(i), i);
    } else {
    for (int i = 0; i < p2.getDegree(); i++) {
    newPolynomial.addToCoefficient(p1.getCoefficient(i)
    + p2.getCoefficient(i), i);
    return newPolynomial;
    // Here is our subtraction method
    public static Polynomial subtract(Polynomial p1, Polynomial p2) {
    Polynomial newPolynomial = new Polynomial();
    // We have to find the bigger polynomial so we know how to set the loop
    if (p1.getDegree() >= p2.getDegree()) {
    for (int i = 0; i < p1.getDegree(); i++) {
    newPolynomial.addToCoefficient(p1.getCoefficient(i)
    - p2.getCoefficient(i), i);
    } else {
    for (int i = 0; i < p2.getDegree(); i++) {
    // The order is important with subtraction so they cannot be
    // switched
    // The equation is allowed to be negative, but the exponent
    // cannot be
    newPolynomial.addToCoefficient(p1.getCoefficient(i)
    - p2.getCoefficient(i), i);
    return newPolynomial;
    // Here is our multiplication method
    public static Polynomial multiply(Polynomial p1, Polynomial p2) {
    Polynomial newPolynomial = new Polynomial();
    if (p1.getDegree() >= p2.getDegree()) {
    for (int i = 0; i < p1.getDegree(); i++) {
    newPolynomial.addToCoefficient(p1.getCoefficient(i)
    * p2.getCoefficient(i), i);
    } else {
    for (int i = 0; i < p2.getDegree(); i++) {
    newPolynomial.addToCoefficient(p1.getCoefficient(i)
    * p2.getCoefficient(i), i);
    return newPolynomial;
    // Here is our clone method
    public Polynomial clone() {
    Polynomial poly;
    try {
    poly = (Polynomial) super.clone();
    } catch (CloneNotSupportedException e) {
    throw new RuntimeException(
    "Class does not implement cloneable interface");
    return poly;
    }

  • ANN: SAP GUI for Java 7.00 rev 5 available for download

    Hi all,
    SAP GUI for Java 7.00 rev 5 is now available at <b>http://service.sap.com/sapgui-java</b>.
    In case you are not registered on service.sap.com, you can alternatively download it from ftp://ftp.sap.com/pub/sapgui/java/700r5.
    This revision solves issues in the dropdown listbox, grid and table control. Also an issue with FileDownload is fixed. For more information, please refer to the release notes.
    <a href="https://service.sap.com/sap/support/notes/954572">Note 954572</a> lists the supported platforms.
    Best regards
    Rolf-Martin

    hi Mr.Rolf-Martin,
       this is kumar writing in regards with the sap gui for java 7.00 rev 4.....i found ur link very helpful ....thanks for the link...and i have a problem in creating a new connectioin ....i have gone thru some of the forum replies and pdf's ....but i could not set up the new connection ....
    can u plz help me in creating a new connection .....
    the rev4.jar file was successfully installed.....
    and whats are the next steps .....
    any help appriciated thanks
    regards
    kumar

  • SAP GUI for JAVA - Search Help ALV display

    I need to be able to display search helps in the ALV grid format or the ' Dialog Modal ' option as seen on the <b>Settings for all F4 helps</b> tab under the personalize option for search helps.
    Currently when I am using a Macintosh machine the system ignores the system setting and my personal settings and displays all search results in an ABAP List format. Unfortunately the ABAP list format does not work correctly when used to input a field on another ABAP list report.
    This behaviour can be found on the Mozilla Firefox browser when SAP GUI for HTML and the SAP GUI for JAVA.
    Your help will be greatly appreciated.

    Hi Rolf-Martin,
    Thank you for your detailed explanation on how the ALV grid control is implemented for the SAP GUI for Java.  This has been pretty insightful.  The good news is that I finally figured out a solution to my problem.  You see I inherited an old custom program where an ABAP list is used as an interactive data capture screen with input fields.  Well a couple of fields had search helps. The program has worked fine with the regular SAP GUI until a MAC OS user tried to use it with the SAP GUI for Java.  Whenever they selected a line from the search help it would bring back the entire onto their input screen.
    A sample of the code:
    form search_help.
        CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
           EXPORTING
                TABNAME     = 'EKPO'
                FIELDNAME   = 'MATNR'
                SEARCHHELP                = 'ZMAT1_A'
                SHLPPARAM                 = 'MATNR'
           TABLES
                RETURN_TAB       = RET_TABLE.
    IF NOT RET_TABLE-FIELDVAL IS INITIAL.
       LINXX-XMATNR = RET_TABLE-FIELDVAL.
       MODIFY CURRENT LINE FIELD VALUE XMATNR FROM LINXX-XMATNR. " ****
    ENDIF.
    SET CURSOR 9 SY-CUROW.   " ********
    endform.
    The problem was being caused by the fact that the search help ABAP list was overriding the sy-XXXX values for the current line contents, index, pageno, cursor row for the calling ABAP list. So when a user selected a row from the search help this would now become the current context and be transferred back to the calling program. 
    The fix was pretty simple; all I had to do was save the current line context and the context prior to calling the search help.  After the search help was run I would then replace the current line with the saved one in my local variable.  I hope this makes sense. We now have a couple of happy MAC OS users.
    Once again I thank you for your patience and support in  this matter.
    Have a great day,
    Edwin.

  • ANN: SAP GUI for Java 7.00 rev 6 available for download

    Hi all,
    SAP GUI for Java 7.00 rev 6 is now available at <b>http://service.sap.com/sapgui-java</b>.
    In case you are not registered on service.sap.com, you can alternatively download it from ftp://ftp.sap.com/pub/sapgui/java/700r6.
    Please refer to the release notes for the list of bug-fixes.
    <a href="https://service.sap.com/sap/support/notes/954572">Note 954572</a> lists the supported platforms.
    Best regards
    Rolf-Martin

    hi Mr.Rolf-Martin,
       this is kumar writing in regards with the sap gui for java 7.00 rev 4.....i found ur link very helpful ....thanks for the link...and i have a problem in creating a new connectioin ....i have gone thru some of the forum replies and pdf's ....but i could not set up the new connection ....
    can u plz help me in creating a new connection .....
    the rev4.jar file was successfully installed.....
    and whats are the next steps .....
    any help appriciated thanks
    regards
    kumar

  • ANN: SAP GUI for Java 7.00 rev 4 available for download

    Hi all,
    SAP GUI for Java 7.00 rev 4 is now available at <b>http://service.sap.com/sapgui-java</b>.
    In case you are not registered on service.sap.com, you can alternatively download it from ftp://ftp.sap.com/pub/sapgui/java/700r4.
    This revision solves various issues in the textedit, grid and tree control. For more information, please refer to the release notes.
    <a href="https://service.sap.com/sap/support/notes/954572">Note 954572</a> lists the supported platforms.
    Best regards
    Rolf-Martin

    hi Mr.Rolf-Martin,
       this is kumar writing in regards with the sap gui for java 7.00 rev 4.....i found ur link very helpful ....thanks for the link...and i have a problem in creating a new connectioin ....i have gone thru some of the forum replies and pdf's ....but i could not set up the new connection ....
    can u plz help me in creating a new connection .....
    the rev4.jar file was successfully installed.....
    and whats are the next steps .....
    any help appriciated thanks
    regards
    kumar

  • ANN: SAP GUI for Java 7.00 rev 3 available for download

    Hi all,
    SAP GUI for Java 7.00 rev 3 is now available at <b>http://service.sap.com/sapgui-java</b>.
    In case you are not registered on service.sap.com, you can alternatively download it from ftp://ftp.sap.com/pub/sapgui/java/700r3.
    This revision solves various issues in the table, grid and tree control. For more information, please refer to the release notes.
    <a href="https://service.sap.com/sap/support/notes/954572">Note 954572</a> lists the supported platforms.
    In case of still using a version of SAP GUI for Java 6.40, please upgrade to the new version because SAP GUI for Java 6.40 is no longer supported.
    Best regards
    Rolf-Martin

    hi Mr.Rolf-Martin,
       this is kumar writing in regards with the sap gui for java 7.00 rev 4.....i found ur link very helpful ....thanks for the link...and i have a problem in creating a new connectioin ....i have gone thru some of the forum replies and pdf's ....but i could not set up the new connection ....
    can u plz help me in creating a new connection .....
    the rev4.jar file was successfully installed.....
    and whats are the next steps .....
    any help appriciated thanks
    regards
    kumar

  • ANN: SAP GUI for Java 7.10 rev 10 available for download

    Hi all,
    SAP GUI for Java 7.10 rev 10 is now available at
    <b>SAP GUI Family</b> and
    ftp://ftp.sap.com/pub/sapgui/java/710r10
    <b>Enhancements and New Features</b>
    Support for new OS versions: openSUSE 11.1
    Calendar Control has been completely rewritten.
    <b>Bug fixes:</b>
    Please refer to the release notes part of the installer.
    Best regards
    Rolf-Martin

    hi Mr.Rolf-Martin,
       this is kumar writing in regards with the sap gui for java 7.00 rev 4.....i found ur link very helpful ....thanks for the link...and i have a problem in creating a new connectioin ....i have gone thru some of the forum replies and pdf's ....but i could not set up the new connection ....
    can u plz help me in creating a new connection .....
    the rev4.jar file was successfully installed.....
    and whats are the next steps .....
    any help appriciated thanks
    regards
    kumar

  • ANN: SAP GUI for Java 7.10 rev 8 available for download

    Hi all,
    SAP GUI for Java 7.10 rev 8 is now available at
    <b>SAP GUI Family</b> and
    ftp://ftp.sap.com/pub/sapgui/java/710r8
    <b>Enhancements and New Features</b>
    Support for new OS versions: openSUSE 11.0
    Applet: A <b>new certificate</b> has been used to sign the product, because the previous is valid only until April 1, 2009. 
    <b>Bug fixes:</b>
    Please refer to the release notes part of the installer.
    Best regards
    Rolf-Martin

    hi Mr.Rolf-Martin,
       this is kumar writing in regards with the sap gui for java 7.00 rev 4.....i found ur link very helpful ....thanks for the link...and i have a problem in creating a new connectioin ....i have gone thru some of the forum replies and pdf's ....but i could not set up the new connection ....
    can u plz help me in creating a new connection .....
    the rev4.jar file was successfully installed.....
    and whats are the next steps .....
    any help appriciated thanks
    regards
    kumar

  • I am writing to this forum to ask for help in determining whether Aperture will satisfy my needs when I switch from Windows to MAC in the near future.

     I am writing to this forum to ask for help in determining whether Aperture will satisfy my needs when I switch from Windows to MAC in the near future.  
    I am currently using Photoshop Elements 8 on Windows 7.  After several years of use, I am self taught and adequately proficient for an amateur.  What I didn't realize (until I started researching my upcoming migration on the Internet) is that I actually use PE8 for two functions: digital asset management and digital editing. 
    Regarding Digital Asset Management: My research leads me to understand that PE on MAC does not provide the same level of organizational capability that I am used to having on Windows, instead providing Adobe's Bridge which does not look very robust.  Furthermore, iPhoto, which come on MAC will not support the hierarchical keyword tagging that I require to organize my library of photos. The two SW applications which I am thinking of switching to are either Aperture or Adobe's Lightroom.  Frankly, I'm thinking that it would be smoother to stay within the Apple product line. 
    So the remaining question is whether Aperture will support my digital editing needs. The tweaks that I do to my photos are not very complex (no, I do not want to put people's heads on other animal bodies).  But could someone who uses Aperture tell me whether It will allow me to do the following kinds of edits?:
    - If I have a photo where someone's face is too shadowed, can I lighten just that person's face, and leave the rest of the photo as-is?  
    - if I have a photo where the background is cluttered (eg, 2 people in front of the Parthenon which is undergoing renovation), can I remove just the construction cranes?  
    - Can it splice together several separate photos to give a panoramic?  
    If, once I get Aperture, I find that it cannot enable the kinds of editing that I do, I would probably get PE11 in the future. However, if people in this forum tell me that Aperture will definitely not  support the kinds of editing which I've described in the previous paragraph, I would prefer to get PE11 with my initial configuration (since someone will be helping me with my migration).  
    Thanks in advance for your consideration and help! 

    I am concerned, however,  about using a non-Apple Digital Asset Manager in OSX. I would really like to avoid integration problems. Is using PE11 to import and catalog my digital photos likely to cause conflicts?
    Thanks for any insight on this
    Amy,
    Not so much conflicts as maybe a little less seamless integration with Apple software and perhaps some third-party software providers in the Mac App Store where some programs build in direct access to iPhoto and Aperture libraries for getting images into those programs easily. Typically, there is a manual command to go to Finder (think Windows Explorer) to browse folders.
    One caution to mention however, is that the organization you set-up in PE Organizer is unlikely to transfer over to either iPhoto or Aperture if you decide to change at some point.
    The only real stumbling block that I see in your opening comment is that you want hierarchical keywording (Kirby or Léonie can go into the details on keywording limitations as I stay at one level). If you can work with the keywording schemes of either iPhoto or Aperture, then using PE for your external editor (either program supports setting an external editor) would probably be ideal since you know PE well. This is the idea with the Mac App Store version of PE (editor with no organizer).
    Note - I use Photoshop CS6 (full version) with Aperture and it works really well. The only downside is that Aperture has to make either a TIFF or PSD file to send to an external editor so that the original file is protected by not sending it to the pixel editor. While TIFF or PSD files protect the integrity of the image information without degrading it, they are typically much larger file sizes on disk than either RAW or JPEG files. Therefore, your library size (iPhoto or Aperture) will balloon quite a bit if you send a lot of files to external editors.
    One other possibility for an external editor would be a program called Pixelmator. It is pretty similar to early versions of Photoshop, but built for Mac. Other than the panoramics you want, it will do most pixel editing that PE can do. It is not an organizer, so it is built to go with either iPhoto or Aperture. It does have differences in how you complete certain procedures, so there is bit of a learning curve when you are used to doing it the Adobe way.

  • HT203905 I have changed my family sharing organizer payment method but when asked to add members it keeps asking for information for a card I no longer have so I do not have the security code.

    I have changed my family sharing organizer payment method but when asked to add members it keeps asking for information for a card I no longer have so I do not have the security code.  My current shows in all the correct places but when asked to verify, the old card is referenced.  I changed the card in itunes and on my phone and ipad.

    I have changed my family sharing organizer payment method but when asked to add members it keeps asking for information for a card I no longer have so I do not have the security code.  My current shows in all the correct places but when asked to verify, the old card is referenced.  I changed the card in itunes and on my phone and ipad.

  • Hi, I installed IOS7 in my iPad and now when I want to turn it on it ask me for a password, when I configured I do not remember to ask me for a password , and now it is blocked I put some password that could be but no one of them are, what can I do ?

    Hi, I installed IOS7 in my iPad and now when I want to turn it on it ask me for a password, when I configured I do not remember to ask me for a password , and now it is blocked I put some password that could be but no one of them are, what can I do ? Please help me

    Hi, I installed IOS7 in my iPad and now when I want to turn it on it ask me for a password, when I configured I do not remember to ask me for a password , and now it is blocked I put some password that could be but no one of them are, what can I do ? Please help me

Maybe you are looking for

  • How to know if this computer can handle a certain monitor's resolution?

    I am looking to buy a new monitor, but I am at a loss as to how to know whether my computer can handle the monitor's resolution, will be compatible with it. I used to run two NEC Multisync FE991SB (CRT) monitors side by side, and one of them died. Th

  • Payment Guarantee Procedure

    hi When i created a SO, Payment Guarantee Procedure's value in Billing Document tab was '000001'(Letters of credit) automatically, and there is one error log when clicking on the 'Finance Doc. List' button. Now, anyone can tell me why the error log w

  • ISE Problem

    Hi Experts we have new ISE servers at our network and it work good . but lately i faced the below problem : the ISE integrated to get the authentication from the microsoft active directory which depend on the windows login username / password , and t

  • Having Two Operating Systems on the same computer.

    Is it possible to have two operating system on one computer? I would like to have both Mac OSX 10.411 and Mac OSX 10.5 on my Power Mac G4. I would like to be able to access each system independently. So that I may use my editing software which is 10.

  • Documentation about ccna sp

    Hello , please i'm looking for documents about ccna sp , especially MPLS,IS-IS courses. It will be helpfull , i found it on the web but no good results please help me ! Posted by WebUser Venice L'italien from Cisco Support Community App