Help with calling up a JPanel

I posted a simular problem to this earlier, but got tottally muddled up in what i was writing. I have been stuck on this now for quite a while and its problably really straight forward. Basically i have a class called Meet which extends a JPanel as it is using JTabbedPane and i followed a sun tutorial. Now this JPanel gets added to a JFrame in my code through
       JFrame frame = new JFrame("MEET_dataTable");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new Meet(), BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);Now this class all works great when run alone. But then in another class which extends a JFrame, one of the buttons should be calling up the above Meet class. So i declared Meet meet; and i created the CreateAtlDatabase_actionPerformed method.
     private void CreateAtlDatabase_actionPerformed()
          meet = new Meet();
                this.dispose();
          } But everytime this button is pressed, the whole program crashes. I have also tried different ways, for instance i removed the JFrame code from my Meet class and placed it in my CreateAtlDatabase_actionPerformed method, so that the frame is created on request, but then i have problems disposing of the gui in my Meet class. The circle continues. Any advise on what i can do would be great.

But everytime this button is pressed, the whole program crashes.By this i mean when i press the button, the whole application just freezes, and then after quite a long time my command line displays
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa
ce
        at javax.swing.plaf.basic.BasicTabbedPaneUI.createScrollButton(BasicTabb
edPaneUI.java:305)
        at javax.swing.plaf.basic.BasicTabbedPaneUI$ScrollableTabSupport.createB
uttons(BasicTabbedPaneUI.java:3253)
        at javax.swing.plaf.basic.BasicTabbedPaneUI$ScrollableTabSupport.<init>(
BasicTabbedPaneUI.java:3238)
        at javax.swing.plaf.basic.BasicTabbedPaneUI.installComponents(BasicTabbe
dPaneUI.java:258)
        at javax.swing.plaf.basic.BasicTabbedPaneUI.installUI(BasicTabbedPaneUI.
java:206)
        at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.propertyChange(Basic
TabbedPaneUI.java:3521)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSup
port.java:339)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSup
port.java:276)
        at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSup
port.java:297)
        at java.awt.Component.firePropertyChange(Component.java:7908)
        at javax.swing.JComponent.firePropertyChange(JComponent.java:4454)
        at javax.swing.JTabbedPane.setTabLayoutPolicy(JTabbedPane.java:536)
        at Meet.<init>(Meet.java:264)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)
        at Meet.<init>(Meet.java:268)I then took this code out of my Meet class(class which extends the JPanel)
        JFrame frame = new JFrame("MEET_dataTable");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new Meet(), BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);And i place it in the action event of the class that calls up the JPanel.
     private void CreateAtlDatabase_actionPerformed()
        JFrame frame = new JFrame("MEET_dataTable");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new Meet(), BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
        this.dispose();
          } Now that seems to do the trick, i just wasnt sure if it was allowed. But in doing this another problem is created. In my Meet class, i have a go back button which should return the user to the JFrame gui and dispose of the JPanel gui. But of course you cannot use this.dispose() on a JPanel and i no longer have the JFrame to which the panel is added in this class, which means i cant dispose of its JFrame. I have tried using System.exit(0) but this closes everything, and my last attempt has been
private void back_actionPerformed() 
        this.getParent().setVisible(false);
        CreateAtlDatabase data = new CreateAtlDatabase();
  Which removes the JPanel but leaves an empty JFrame. Now this is where i am stuck, how can i dispose of this? and of course is the moving of my JFrame to my other class ok?
cheers

Similar Messages

  • Help with calling a Get URL

    I am having a problem with calling a series of web pages
    within my movie. I have an index.fla that I publish to html. Within
    the index.html, I am calling multiple swf files to load content.
    Home.swf loads when the index page displays. Then the user clicks
    on any button and each button loads another swf replacing the main
    content with perhaps loading it's own swf files of content also.
    Everything is working fine. However, on one called swf file, called
    students.swf, I also have a menu swf file that is called when
    students loads. This menu swf file has text listed with
    actionscripting calling a data file that causes the text to expand
    and rollout and display a label of the url. When the user clicks on
    the list name I have a get url to the url of the label. Everything
    works fine in the swf files when I test the movies for the swf for
    the menu file and for the student file swf. However, when I publish
    and run the index page and start testing out the student swf that
    is called, the menu will not open up a new browser window with the
    link designated in the get url. I can't figure it out! It works
    fine in the swf files, but not when I test it out through the index
    controlling file. Please Help!!!

    if you're using as2, try adding
    this._lockroot=true;
    to the movieclip that contains getURL, the student file
    swf.

  • URGENT! Need help with scrolling on a JPanel!

    Hello Guys! I guess there has been many postings about this subject in the forum, but the postings I found there.... still couldn't solve my problem...
    So, straight to the problem:
    I am drawing some primitive graphic on a JPanel. This JPanel is then placed in a JScrollPane. When running the code, the scrollbars are showing and the graphic is painted nicely. But when I try to scroll to see the parts of the graphics not visible in the current scrollbarview, nothing else than some flickering is happening... No movement what so ever...
    What on earth must I do to activate the scroll functionality on my JPanel??? Please Help!
    And yes, I have tried implementing the 'Scrollable' interface... But it did not make any difference...
    Code snippets:
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.awt.geom.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    import java.util.*;
    public class FilterComp extends JPanel {//implements Scrollable {
      protected DefaultMutableTreeNode root;
      protected Image buffer;
      protected int lastW = 0;
      protected int origoX = 0;
      protected final StringBuffer sb = new StringBuffer();
    //  protected int maxUnitIncrement = 1;
      protected JScrollPane scrollpane = new JScrollPane();
       *  Constructor for the FilterComp object
       *@param  scrollpane  Description of the Parameter
      public FilterComp(JScrollPane scrollpane) {
        super();
    //    setPreferredSize(new Dimension(1000, 500));
        this.setBackground(Color.magenta);
    //    setOpaque(false);
        setLayout(
          new BorderLayout() {
            public Dimension preferredLayoutSize(Container cont) {
              return new Dimension(1000, 600);
        this.scrollpane = scrollpane;
        scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        scrollpane.setPreferredSize( new Dimension( 500, 500 ) );
        scrollpane.getViewport().add( this, null );
    //    scrollpane.getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
        repaint();
      public void paintComponent(Graphics g) {
        super.paintComponent(g);
        int w = getSize().width;
        if (w != lastW) {
          buffer = null;
        Graphics2D g2 = (Graphics2D) g;
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        if (root != null) {
          int h = getHeight(root);
          if (buffer == null) {
            buffer = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
            Graphics2D g3 = (Graphics2D) buffer.getGraphics();
            g3.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
            g3.setColor(Color.black);
            g3.setStroke(new BasicStroke(2));
            paint(g3, (w / 2) + origoX, 10, w / 2, root); 
          lastW = w;
          AffineTransform old = g2.getTransform();
          AffineTransform trans = new AffineTransform();
          trans.translate((w / 2) + origoX, (getHeight() - (h * 40)) / 2);
          g2.setTransform(trans);
          g2.drawImage(buffer, (-w / 2) + origoX, 0, null);
          g2.setTransform(old);
        updateUI();
       *  Description of the Method
       *@param  g  Description of the Parameter
      public void update(Graphics g) {
        // Call paint to reduce flickering
        paint(g);
       *  Description of the Method
       *@param  g2    Description of the Parameter
       *@param  x     Description of the Parameter
       *@param  y     Description of the Parameter
       *@param  w     Description of the Parameter
       *@param  node  Description of the Parameter
      private void paint(Graphics2D g2, int x, int y, int w, DefaultMutableTreeNode node) {
        if (node.getChildCount() == 2) {
          DefaultMutableTreeNode c1 = (DefaultMutableTreeNode) node.getChildAt(0);
          DefaultMutableTreeNode c2 = (DefaultMutableTreeNode) node.getChildAt(1);
          if (c1.getChildCount() == 0 && c2.getChildCount() == 0) {
            String s = c1.getUserObject().toString() + " " + node.getUserObject() + " " + c2.getUserObject();
            paint(g2, x, y, s);
          } else {
            g2.drawLine(x - (w / 2), y, x + (w / 2), y);
            Font f = g2.getFont();
            g2.setFont(new Font(f.getName(), Font.BOLD | Font.ITALIC, f.getSize() + 2));
            paint(g2, x, y, node.getUserObject().toString());
            g2.setFont(f);
            g2.drawLine(x - (w / 2), y, x - (w / 2), y + 40);
            g2.drawLine(x + (w / 2), y, x + (w / 2), y + 40);
            paint(g2, x - (w / 2), y + 40, w / 2, c1);
            paint(g2, x + (w / 2), y + 40, w / 2, c2);
        } else if (node.getChildCount() == 0) {
          paint(g2, x, y, node.getUserObject().toString());
       *  Description of the Method
       *@param  g2  Description of the Parameter
       *@param  x   Description of the Parameter
       *@param  y   Description of the Parameter
       *@param  s   Description of the Parameter
      private void paint(Graphics2D g2, int x, int y, String s) {
        y += 10;
        StringTokenizer st = new StringTokenizer(s, "\\", false);
        if (s.indexOf("'") != -1 && st.countTokens() > 1) {
          int sh = g2.getFontMetrics().getHeight();
          while (st.hasMoreTokens()) {
            String t = st.nextToken();
            if (st.hasMoreTokens()) {
              t += "/";
            int sw = g2.getFontMetrics().stringWidth(t);
            g2.drawString(t, x - (sw / 2), y);
            y += sh;
        } else {
          int sw = g2.getFontMetrics().stringWidth(s);
          g2.drawString(s, x - (sw / 2), y);
       *  Sets the root attribute of the FilterComp object
       *@param  root  The new root value
      public void setRoot(DefaultMutableTreeNode root) {
        this.root = root;
        buffer = null;
       *  Gets the root attribute of the FilterComp object
       *@return    The root value
      public DefaultMutableTreeNode getRoot() {
        return root;
       *  Gets the height attribute of the FilterComp object
       *@param  t  Description of the Parameter
       *@return    The height value
      private int getHeight(TreeNode t) {
        int h = 1;
        int c = t.getChildCount();
        if (c > 0) {
          if (c > 1) {
            h += Math.max(getHeight(t.getChildAt(0)), getHeight(t.getChildAt(1)));
          } else {
            h += getHeight(t.getChildAt(0));
        return h;
       *  Sets the x attribute of the FilterComp object
       *@param  x  The new x value
      public void setX(int x) {
        origoX = x;
       *  Gets the x attribute of the FilterComp object
       *@return    The x value
      public int getX() {
        return origoX;
       *  Gets the preferredScrollableViewportSize attribute of the FilterComp
       *  object
       *@return    The preferredScrollableViewportSize value
    //  public Dimension getPreferredScrollableViewportSize() {
    //    return getPreferredSize();
       *  Gets the scrollableBlockIncrement attribute of the FilterComp object
       *@param  r            Description of the Parameter
       *@param  orientation  Description of the Parameter
       *@param  direction    Description of the Parameter
       *@return              The scrollableBlockIncrement value
    //  public int getScrollableBlockIncrement(Rectangle r, int orientation, int direction) {
    //    return 10;
       *  Gets the scrollableTracksViewportHeight attribute of the FilterComp object
       *@return    The scrollableTracksViewportHeight value
    //  public boolean getScrollableTracksViewportHeight() {
    //    return false;
       *  Gets the scrollableTracksViewportWidth attribute of the FilterComp object
       *@return    The scrollableTracksViewportWidth value
    //  public boolean getScrollableTracksViewportWidth() {
    //    return false;
       *  Gets the scrollableUnitIncrement attribute of the FilterComp object
       *@param  r            Description of the Parameter
       *@param  orientation  Description of the Parameter
       *@param  direction    Description of the Parameter
       *@return              The scrollableUnitIncrement value
    //  public int getScrollableUnitIncrement(Rectangle r, int orientation, int direction) {
    //    return 10;
    }

    The Scrollable interface should be implemented by a JPanel set as the JScrollPane's viewport or scrolling may not function. Although it is said to be only necessary for tables, lists, and trees, without it I have never had success with images. Even the Java Swing Tutorial on scrolling images with JScrollPane uses the Scrollable interface.
    I donot know what you are doing wrong here, but I use JScrollPane with a JPanel implementing Scrollable interface and it works very well scrolling images drawn into the JPanel.
    You can scroll using other components, such as the JScrollBar or even by using a MouseListener/MouseMotionListener combination, but this is all done behind the scenes with the use of JScrollPane/Scrollable combination.
    You could try this approach using an ImageIcon within a JLabel:
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class Test extends JFrame {
         BufferedImage bi;
         Graphics2D g_bi;
         public Test() {
              super("Scroll Test");
              makeImage();
              Container contentPane = getContentPane();
              MyView view = new MyView(new ImageIcon(bi));
              JScrollPane sp = new JScrollPane(view);
              contentPane.add(sp);
              setSize(200, 200);
              setVisible(true);
         private void makeImage() {
              bi = new BufferedImage(320, 240, BufferedImage.TYPE_INT_ARGB);
              g_bi = bi.createGraphics();
              g_bi.setColor(Color.white);
              g_bi.fillRect(0,0,320,240);
              g_bi.setColor(Color.black);
              g_bi.drawLine(0,0,320,240);
         public static void main(String args[]) {
              Test test = new Test();
    class MyView extends JLabel {
         ImageIcon icon;
         public MyView(ImageIcon ii) {
              super(ii);
              icon = ii;
         public void paintComponent(Graphics g) {
              g.drawImage(icon.getImage(),0,0,this);
    }Robert Templeton

  • Need help with Calling objects

    I have created an object named "user" and I currently have 1 Frame in my program. The first frame is called "LogonFrame" and the second is called "UserDataFrame".
    In the main method of the application I declare a "User" object as user and then call LogonFrame to retreive the logon_name and password from the user. The logon_name and password will be placed in the User object to be accessed throughout the application.
    When I compile the application I receive the following error message:
    Error: (85) variable user not found in class GL2.LogonFrame
    *I know that 85 is the line number that the error is located
    *GL2 is the name of the package.
    Has anyone ever encountered this error before, and if so how can I fix this error.
    *Listed below is the code used in the User object if it helps at all.
    Jason Franz
    // Copyright (c) 2003 Jason T. Franz
    package GL2;
    * A Class class.
    * <P>
    * @author Jason T. Franz
    public class User extends Object {
    private static int user_id;
    private static String first_name;
    private static String last_name;
    public static void User(){
    user_id = 0;
    first_name = "";
    last_name = "";
    //sets the user ID
    public static void setUserID(int newID){
    user_id = newID;
    //Returns the User ID
    public static int getUserID(){
    return user_id;
    //Sets the User First Name
    public static void setFirstName(String newFirstName){
    first_name = newFirstName;
    //Gets the Users First Name
    public static String getFirstName(){
    return first_name;
    //Sets the Users Last Name
    public static void setLastName(String newLastName){
    last_name = newLastName;
    public static String getLastName(){
    return last_name;
    //Resets all data in the User Class
    public static void reset(){
    user_id = 0;
    first_name = "";
    last_name = "";

    The code below is a small portion of the program.
    If it helps at all I am useing Oracle JDeveloper version 3.2.3 with JDK1.2.2_JDeveloper
    This section is the User object
    // Copyright (c) 2003 Jason T. Franz
    package GL2;
    * A Class class.
    * <P>
    * @author Jason T. Franz
    public class User extends Object {
      private String first_name;
      private String last_name;
      public User(){
        first_name = "Jason";
        last_name = "Franz";
      //Sets the User First Name
      public void setFirstName(String newFirstName){
        first_name = newFirstName;
      //Gets the Users First Name
      public String getFirstName(){
        return first_name;
      //Sets the Users Last Name
      public void setLastName(String newLastName){
        last_name = newLastName;
      public String getLastName(){
        return last_name;
      //Resets all data in the User Class
      public void reset(){
        first_name = "";
        last_name = "";
        logon_name = "";
        user_password = "";
    }Here is the main method.
    // Copyright (c) 2003 Jason T. Franz
    package GL2;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    * GL2.DevilsHead
    * <P>
    * @author Jason T. Franz
    public class DevilsHead {
      public User user = new User();
       * Constructor
      public DevilsHead() {
        AddUserFrame frame = new AddUserFrame();
        //Center the window
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = frame.getSize();
        if (frameSize.height > screenSize.height) {
          frameSize.height = screenSize.height;
        if (frameSize.width > screenSize.width) {
          frameSize.width = screenSize.width;
        frame.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);
        frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });
        frame.setVisible(true);
       * main
       * @param args
      public static void main(String[] args) {
        try  {
          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        catch (Exception e) {
          e.printStackTrace();
        new DevilsHead();
    }and here is the Frame which calls the user object to display the Information.
    // Copyright (c) 2003 Jason T. Franz
    package GL2;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    * A Swing-based top level window class.
    * <P>
    * @author Jason T. Franz
    public class AddUserFrame extends JFrame {
      BorderLayout borderLayout1 = new BorderLayout();
      JPanel jPanel1 = new JPanel();
      Button button1 = new Button();
       * Constructs a new instance.
      public AddUserFrame() {
        super();
        try  {
          jbInit();
        catch (Exception e) {
          e.printStackTrace();
       * Initializes the state of this instance.
      private void jbInit() throws Exception {
        this.getContentPane().setLayout(borderLayout1);
        this.setSize(new Dimension(400, 300));
        button1.setLabel("button1");
        button1.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            button1_actionPerformed(e);
        this.setTitle("Add a User");
        this.getContentPane().add(jPanel1, BorderLayout.CENTER);
        jPanel1.add(button1, null);
      void button1_actionPerformed(ActionEvent e) {
        System.out.println(user.getFirstName());
        System.out.println(user.getLastName());
    }The error I receive is
    Error: (51) variable user not found in class GL2.AddUserFrame

  • Help with call to BAPI

    Hi all!
    I need help trying to create order with multiple line items in SAP using BAPI.
    I'm very new to SAP and I'm trying to work on a prof of concept to create orders in SAP using/calling BAPI's from Visual Basic (in Visual Studio 2005). I got the .net connector that I'm using for the proxy connection and I'm able to create order with one line item. But the problem is when I try to create one with multiple line items. I'm calling BAPI_SALESORDER_CREATEFROMDAT2 and loading item table with 3 items and also loading the schedule table but what I get is order gets created with 3 line items but all are the same item and its the last one.
    I'm guessing that problem is one how I'm adding the items to the table, it know that I have 3 items but the detail informations gets over written by the last item that I'm adding.
    Any ideas?
    Thank You

    Hi,
      Welcome To SDN!!
    Try this out...
    Report ZBapi .
    data: po_items type table of bapiekpo with header line.
    parameters: p_ebeln type ekko-ebeln.
    call function 'BAPI_PO_GETDETAIL'
    exporting
    purchaseorder = p_ebeln
    ITEMS = 'X'
    ACCOUNT_ASSIGNMENT = ' '
    SCHEDULES = ' '
    HISTORY = ' '
    ITEM_TEXTS = ' '
    HEADER_TEXTS = ' '
    SERVICES = ' '
    CONFIRMATIONS = ' '
    SERVICE_TEXTS = ' '
    EXTENSIONS = ' '
    IMPORTING
    PO_HEADER =
    PO_ADDRESS =
    tables
    PO_HEADER_TEXTS =
    po_items = po_items
    PO_ITEM_ACCOUNT_ASSIGNMENT =
    PO_ITEM_SCHEDULES =
    PO_ITEM_CONFIRMATIONS =
    PO_ITEM_TEXTS =
    PO_ITEM_HISTORY =
    PO_ITEM_HISTORY_TOTALS =
    PO_ITEM_LIMITS =
    PO_ITEM_CONTRACT_LIMITS =
    PO_ITEM_SERVICES =
    PO_ITEM_SRV_ACCASS_VALUES =
    RETURN =
    PO_SERVICES_TEXTS =
    EXTENSIONOUT =
    check sy-subrc = 0.
    loop at po_items.
    write:/ po_items.
    endloop.
    Refer
    http://abap.wikiprog.com/wiki/BAPI_PO_GETDETAIL1
    Regards
    Kiran SURE

  • Need help with Call By Reference on cRIO-9012

    I have a RT application running on a cRIO-9012 in which I am attempting to establish references to a variable number of clones of the PID Autotuning (Temperature).vi, and then passing these references to a FOR loop in which I am opening each clone with a Call By Reference node to perform the PID.  Essentially, I am trying to make the PID Autotuning (Temperature).vi accept an array of process variables, similar to the behaviour that some of the simpler PID VIs provide out-of-the-box. 
    The code I am using to obtain the references is here:
    ...and the code within the control loop where I am trying to do the processing is here:
    The problem I am encountering, according to the Highlight Execution tool, is that all inputs to the Call By Reference node are present and reach the node, but all processing stops at this point on the first iteration and the cRIO hangs.  I cannot stop the SubVI or the RT parent VI without performing a software restart on the target.
    I don't know if I am using the Call By Reference node or Open VI Reference functions incorrectly, or if there is a problem with the VI being part of a library, or if something else is wrong.  Any help would be appreciated.
    Sean

    I'm not sure this is your issue, but I think there's a conflict between opening a bunch of rereferences, and then setting the asynchronous call pool size for one of them.You don't need asynchronous execution here, you just need reentrant parallel execution (you may not even need the parallel part; your current code, if it worked, would execute sequentially, and the PID calculation is just math so should be quick and may not benefit from parallel execution). You do need reentrant execution to maintain separate data spaces.
    Try opening the references with the 0x08 (Prepare for Reentrant Run) flag instead. Remove the Populate Asynchronous Call Pool. If this works, you can run in parallel by enabling For loop parallelism - but you might find that's actually slower, especially on a cRIO.

  • Need help with calling method

    I'm new to Java, trying to pass a required class so I can graduate this semester, and I need help figuring out what is wrong with the code below. My assignment is to create a program to convert celsius to fahrenheit and vice versa using Scanner for input. The program must contain 3 methods - main, convert F to C, method, and convert C to F method. Requirements of the conversion methods are one parameter which is an int representing temp, return an int representing calculated temp after doing appropriate calculation, should not display info to user, and should not take in info from user.
    The main method is required to ask the user to input a 1 for converting F to C, 2 for C to F, and 3 to end the program. It must include a while loop that loops until the user enters a 3, ask the user to enter a temp, call the appropriate method to do the conversion, and display the results. I'm having trouble calling the conversion methods and keep getting the following 2 compiler errors:
    cannot find symbol
    symbol : method farenheitToCelsius(int)
    location: class WondaPavoneTempConverter
    int celsius = farenheitToCelsius(intTemp);
    ^
    cannot find symbol
    symbol : method celsiusToFarenheit(int)
    location: class WondaPavoneTempConverter
    int farenheit = celsiusToFarenheit(intTemp);
    The code is as follows:
    public static void main(String[] args) {
    // Create a scanner
    Scanner scanner = new Scanner(System.in);
    // Prompt the user to enter a temperature
    System.out.println("Enter the temperature you wish to convert as a whole number: ");
    int intTemp = scanner.nextInt();
    System.out.println("You entered " + intTemp + " degrees.");
    // Prompt the user to enter "1" to convert to Celsius, "2" to convert to
    // Farenheit, or "3" to exit the program
    System.out.println("Enter 1 to convert to Celsius, 2 to convert to Farenheit, or 3 to exit.");
    int intConvert = scanner.nextInt();
    // Convert temperature to Celsius or Farenheit
    int celsius = farenheitToCelsius(intTemp);
    int farenheit = celsiusToFarenheit(intTemp);
    while (intConvert >= 0) {
    // Convert to Celsius
    if (intConvert == 1) {
    System.out.println("Celsius is " + celsius + " degrees.");
    // Convert to Farenheit
    else if (intConvert == 2) {
    System.out.println("Farenheit is " + farenheit + " degrees.");
    // Exit program
    else if (intConvert == 3) {
    break;
    else {
    System.out.println("The number you entered is invalid. Please enter 1, 2, or 3.");
    //Method to convert Celsius to Farenheit
    public static int celsiusToFahrenheit(int cTemp) {
    return (9 / 5) * (cTemp + 32);
    //Method to convert Farenheit to Celsius
    public static int fahrenheitToCelsius(int fTemp) {
    return (5 / 9) * (fTemp - 32);
    I readily admit I'm a complete dunce when it comes to programming - digital media is my area of expertise. Can anyone point me in the right direction? This assignment is due very soon. Thanks.

    1) consider using a boolean variable in the while statement and converting it to true if the input is good.
    while (inputNotValid)
    }2) put the code to get the input within the while loop. Try your code right now and enter the number 30 when your menu requests for input and you'll see the infinite loop.... and why you need to request input within the loop.
    3) Fix your equations. You are gonig to have to do some double calcs, even if you convert it back to int for the method return. Otherwise the results are just plain wrong. As a good test, put in the numbers -40, 0, 32, 100, and 212. Are the results as expected? (-40 is the only temp that is the same for both cent and fahr). I recommend doing double calcs and then casting the result to int in the return. for example:
    int a = (int) (20 + 42.0 / 3);  // the 42.0 forces the compiler to do double calc.4) One of your equations may still be plain wrong even with this fix. Again, run the test numbers and see.
    5) Also, when posting your code, please use code tags so that your code will be well-formatted and readable. To do this, either use the "code" button at the top of the forum Message editor or place the tag &#91;code&#93; at the top of your block of code and the tag &#91;/code&#93; at the bottom, like so:
    &#91;code&#93;
      // your code block goes here.
    &#91;/code&#93;

  • URGENT, Please help with calling one program in another

    I am am trying to call Ch4Ex5 within Ch3Ex5. The teacher said it should take about 6 lines of modification within Ch3Ex5 to be able to call out Ch4Ex5. I also might need to modify Ch4Ex5 to get it to work. But I spent many hours and its due soon and I still cant figure it out. I think the teacher assigned this too early in the semester because most the kids dont know how to do it.
    Here is Ch3Ex5
    import java.util.*;
    public class Ch3Ex5
         public static void main(String[] args)
              Scanner kb = new Scanner(System.in);
              int aCount = 0, bCount = 0, cCount = 0, dCount = 0, fCount = 0;
              int nScores = 0;
              int lowest, highest;
              int currentScore;
              int totalOfScores = 0;
              double average;
              do
                   System.out.print("Enter a score (negative value to quit): ");
                   currentScore = kb.nextInt();
                   kb.nextLine();
                   if(currentScore > 100)
                        System.out.println("Scores cannot be greater than 100, please try again");
              } while(currentScore > 100);
              lowest = currentScore;
              highest = currentScore;
              while(currentScore > 0)
                   nScores++;
                   totalOfScores += currentScore;
                   if(lowest > currentScore)
                        lowest = currentScore;
                   if(highest < currentScore)
                        highest = currentScore;
                   if((100 >= currentScore) && (currentScore >= 90)) aCount++;
                   else if(currentScore >= 80) bCount++;
                   else if(currentScore >= 70) cCount++;
                   else if(currentScore >= 60) dCount++;
                   else fCount++;
                   do
                        System.out.print("Enter a score (negative value to quit): ");
                        currentScore = kb.nextInt();
                        kb.nextLine();
                        if(currentScore > 100)
                             System.out.println("Scores cannot be greater than 100, please try again");
                   } while(currentScore > 100);
              System.out.println("Number of scores: " + nScores);
              if(nScores > 0)
                   System.out.println("Number of A's = " + aCount);
                   System.out.println("Number of B's = " + bCount);
                   System.out.println("Number of C's = " + cCount);
                   System.out.println("Number of D's = " + dCount);
                   System.out.println("Number of F's = " + fCount);
                   System.out.println("Percent A's = "+(100.0*aCount/nScores));
                   System.out.println("Percent B's = "+(100.0*bCount/nScores));
                   System.out.println("Percent C's = "+(100.0*cCount/nScores));
                   System.out.println("Percent D's = "+(100.0*dCount/nScores));
                   System.out.println("Percent F's = "+(100.0*fCount/nScores));
                   System.out.println("High score: " + highest);
                   System.out.println("Low score: " + lowest);
                   average = (double) totalOfScores / nScores;
                   System.out.println("Average score = " + average);
    import java.util.*;
    public class Ch4Ex5
         public static void main(String[] args)
              Scanner kb = new Scanner(System.in);
              double gradeA, gradeB, gradeC, gradeD, gradeF, total;
              double aCount, bCount, cCount, dCount, fCount;
              System.out.println("Enter in the number of each grades");
              System.out.println("In this order, A's, B's, C's, D's, F's");
              gradeA = kb.nextDouble();
              gradeB = kb.nextDouble();
              gradeC = kb.nextDouble();
              gradeD = kb.nextDouble();
              gradeF = kb.nextDouble();
              System.out.println("0    10   20   30   40   50   60   70   80   90   100");
              System.out.println("|    |    |    |    |    |    |    |    |    |    |");
              System.out.println("***************************************************");
              total = gradeA + gradeB + gradeC + gradeD + gradeF;
              aCount = (((gradeA) / (total)) * 100);
              bCount = (((gradeB) / (total)) * 100);
              cCount = (((gradeC) / (total)) * 100);
              dCount = (((gradeD) / (total)) * 100);
              fCount = (((gradeF) / (total)) * 100);
                   for (int i= 0; i < aCount; i = i +2)
                   System.out.print('*');
              System.out.println("A");
                   for (int i= 0; i < bCount; i = i +2)
                   System.out.print('*');
              System.out.println("B");
                   for (int i= 0; i < cCount; i = i +2)
                   System.out.print('*');
              System.out.println("C");
                   for (int i= 0; i < dCount; i = i +2)
                   System.out.print('*');
              System.out.println("D");
                   for (int i= 0; i < fCount; i = i +2)
                   System.out.print('*');
              System.out.println("F");
    }

    Here's a tip for you: it doesn't really matter if you post in New to Java or Java Programming. Post once, be patient and you will get a reply. As I said keep up this style of posting and nobody will be willing to help you.
    Why am I freaking out over double posting? Lets say Fred reads and replies in Thread A. Then Barney comes along and reads Thread B not knowing that Fred has already given an answer in Thread B. So Barney ends up wasting his time by posting the same answer in Thread B. Once again it aint rocket science!

  • Help with calling a web service on an external system

    All right you Xi gurus, I'm a Basis guy whom has installed XI 3.0 SP13 and now I would like to get setup a fairly "real world" example.  I have read the help section but it kind of hard to follow.  I have followed the demo examples and they somewhat work and I followed the "XI30SP14_SimpleUse.pdf" which showed me how to do a simple file transfer and mapping but a considerable amount of work was done for me.  And yesterday I received the 'SAP Exchange Infrastructure' book from SAP-Press.  Thumbing through the book I see it contains detailed information on the functionality but nothing so far on how to setup the whole process of start to finish.
    Here is what I would like to do...I would like to call an external web service from my R/3 4.6C system via XI.   Could someone help by detailing the general steps of setting this up?  Thanks in advance.

    Hi Kartik,
    have you seen this blog by Thomas?
    <a href="/people/thomas.jung3/blog/2005/01/11/publishing-abap-webservices-to-an-external-uddi-server ABAP WebServices to an External UDDI Server</a>
    Regards
    Raja

  • Help with calling a java application from inside another one

    Hello!
    I am having this problem which is getting on my nerves and dont know how to solve..
    I want to call from my java application, another java application. So i use the exec command. Then i want to read the output of this execution from my own application, (the "parent" process).
    But it doesn work properly. Something seems to happen and i dont get the whole output.
    The java program i want to call is created for running an application created with Matlab java builder.
    This program works when called from cmd, but seems not to work when called from inside a java application.
    The code of my java application is:
    Runtime rt = Runtime.getRuntime();
    Process child;
    // The java class getmagic is a special kind of java file that uses classes that work in matlab. It uses a component (.jar) file that is created from matlab java builder. thats why it wants the -classpath and the rest options.
    //I hope you wont get messed up in here.
    String[] callAndArgs = {"java","-classpath",".;C:\\Program Files\\MATLAB\\R2006b\\toolbox\\javabuilder\\jar\\javabuilder.jar;..\\MagicDemoComp\\magicsquare\\distrib\\magicsquare.jar -Djava.library.path=C:\\Program Files\\MATLAB\\R2006b\\bin\\win32;","getmagic","4"};
    try{
    child = rt.exec(callAndArgs);
    InputStream is = child.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line;
    while ((line = br.readLine()) != null)
    System.out.println(line);
    is.close();
    System.out.println(child.waitFor());
    System.out.println("Finished");
    }catch(IOException e) {
    System.err.println("IOException starting process!");
    }catch(InterruptedException e) {
    System.err.println("InterruptedException starting process!");
    The java program (getmagic) thats uses matlab gives the following output (after some time) when called in cmd with argument 4
    Magic square of order 4
    16 2 3 13
    5 11 10 8
    9 7 6 12
    4 14 15 1
    My program shown above only prints:
    Magic square of order 4
    1
    Finished.
    Do i do something wrong? How can i get the rest of the output???
    Thank you very much in advance,
    Stacey
    PS: I am sorry for the length of my post.

    Hello CaptainMorgan08, thanx for the instant reply.
    I tried, but no, i cant.
    Because i cannot include this java aplication that uses matlab into my application, cause 1) it needs special arguments in the compiler and during execution so it can be run and 2) it uses classes that java doesnt have. only the java-like matlab code.
    For example it uses:
    import com.mathworks.toolbox.javabuilder.*;
    import magicsquare.*; //the component which is made from matlab java builder.
    So i cannot compile it with my application!
    If you know of a way, please let me know!
    I know i might be missing something.. something that is obvious to you.. but i ve been working days=nights hardly no sleep..so you can excuse me if i say something foolish..
    Message was edited by:
    Stacey_Gr

  • Help with calling windows executable and hiding it using java

    Hi,
    I have a small utility which calls sqlplus from java , which basically executes a sql file .
    Process sqlProcess = runtime.exec(command);
    Where command is string and has all the required parameters.
    (sqlplus_exe , username_password_sid , sql-file_to_execute_path)
    This works fine but it pops up a sql plus window on screen which kindof the user has control .
    Like the user can close that sqlplus window before the script gets executed completely.
    I want that window to be hidden so that user doesn't have any control on the window and can't interfere with the sql execution.
    So thoght about windows api , ShellExecute where you can provide a parameter to hide the window.
    Details are in below
    [http://support.microsoft.com/kb/224816]
    Now the options I have considered to call ShellExecute are JNI / JNA / Smooth
    I am using eclipse hellios on winxp
    JNI
    I Got the code from some website which has all the required files from here [http://www.heimetli.ch/shellexec.html]
    But I am not able to run the code .
    It says Exception in thread "main" java.lang.UnsatisfiedLinkError: no HSWShellExec in java.library.path
    which I am not able to resolve .
    Even I had put the dll and .h file in the JAVA Build Path> Library section.
    JNA
    looks very simple .But I don't know which library to load and call which funtion :(
    JSMOOTH
    It always gives jsmooth.Native.isAvailable() as false.
    And I dont know how to make it true
    And also thinks that it works the other way around i.e. Jsmooth loads the JVM .Don't know if it can be called from within jvm
    So there I am stuck .
    Any suggestions guys.
    Any example code would be great.
    Thanks in advance.
    Edited by: Rajinder_Sandhu on Jul 14, 2010 7:58 AM

    I got it working with JNI and the sample code from the website
    The whole matter was get the path correctly setup in eclipse.
    The solution is posted here.
    [http://www.eclipsezone.com/eclipse/forums/t49342.html]

  • Help with calling stored procedure and preparing statement

    hi guys help please..I want to call a procedure set the ResultSet to TYPE_SCROLL_INSENSITIVE and CONCUR_UPDATABLE in order for me to scroll thru the resultset from 1st row to end row and vice-versa..but currently, my code has an error becuase im hot sure on how to do this..Can you please help me guys to solve this? Thanks in advance!
    CODE:
                int c = 0;
                String searchArg = txtSearch.getText();
                String studName, mInitial;
                searchArg = searchArg.replace('*', '%');           
                con = FuncCreateDBConnection();
                con.prepareCall("{call dbsample.usp_StudentInfo_SEARCH(?, ?)}");
                *cStmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);*
                cStmt.setString("searchArg", searchArg);
                cStmt.setString("searchType", cmboSearchBy.getSelectedItem().toString());           
                rs = cStmt.executeQuery();           
                if (rs != null){
                    listModel = new DefaultListModel();           
                    lstSearchResult.setModel(listModel);
                    while (rs.next()){                                      
                          mInitial = rs.getString(4).substring(0, 1).toUpperCase();
                          studName = rs.getString(3) + ", " + rs.getString(2) + " " + mInitial + ".";                     
                          listModel.addElement(studName);
                    System.out.println("Rows:"+ rs.getString(2));                                                     
                          c++;
    ERROR:
    Incompatible Types
    Found : java.sql.Statement
    Required: java.sql.CallableStatement

    Nevermind guys..i got it..
    CODE:
                int c = 0;
                String searchArg = txtSearch.getText();
                String studName, mInitial;
                searchArg = searchArg.replace('*', '%');           
                con = FuncCreateDBConnection();           
                cStmt = con.prepareCall("{call dbsample.usp_StudentInfo_SEARCH(?, ?)}",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
                cStmt.setString("searchArg", searchArg);
                cStmt.setString("searchType", cmboSearchBy.getSelectedItem().toString());           
                rs = cStmt.executeQuery();           
                if (rs != null){
                    listModel = new DefaultListModel();           
                    lstSearchResult.setModel(listModel);
                    while (rs.next()){                                      
                          mInitial = rs.getString(4).substring(0, 1).toUpperCase();
                          studName = rs.getString(3) + ", " + rs.getString(2) + " " + mInitial + ".";                     
                          listModel.addElement(studName);
                    System.out.println("Rows:"+ rs.getString(2));                                                     
                          c++;
                }     Edited by: daimous on Jan 31, 2008 6:04 PM

  • Help with call to web service

    Hello,
    I am using a web service to do address validation. I created the web service and it ran OK, but the report always says no data found. I wanted to see what was in the returned collection, so I created a new region with the following SQL:
    SELECT CLOB001
    FROM wwv_flow_collections c
    WHERE c.collection_name = 'P37_VALIDATECCSZ_RESULTS'
    This has data in it: "Marion 0 Wayne true true 14505 1.0 AddressResponse: /Marion, NY 14505/Val = true/Rel = 1.0/Incp = true/Geo = 0 NY true"
    The default report is failing because the response is not XML code I believe.
    I ran the web service using java and it returns:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <ns:validateCCSZResponse xmlns:ns="http://validation.util.oss.paetec.com">
    <ns:return xmlns:ax28="http://sag.oss.paetec.com/xsd" xmlns:ax22="http://rmi.java/xsd" xmlns:ax23="http://io.java/xsd" xmlns:ax21="http://client.validation.util.oss.paetec.com/xsd" type="com.paetec.oss.util.validation.client.AddressResponseArray">
    <ax21:responses type="com.paetec.oss.util.validation.client.AddressResponse">
    <ax21:city>Marion</ax21:city>
    <ax21:code>0</ax21:code>
    <ax21:country />
    <ax21:county>Wayne</ax21:county>
    <ax21:incomplete>true</ax21:incomplete>
    <ax21:incorporated>true</ax21:incorporated>
    <ax21:locClli />
    <ax21:postalCode>14505</ax21:postalCode>
    <ax21:postalCodeExtension />
    <ax21:reliability>1.0</ax21:reliability>
    <ax21:shortDescription>AddressResponse: /Marion, NY 14505/Val = true/Rel = 1.0/Incp = true/Geo = 0</ax21:shortDescription>
    <ax21:state>NY</ax21:state>
    <ax21:streetName />
    <ax21:streetNumber />
    <ax21:unit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"></ax21:unit>
    <ax21:validated>true</ax21:validated>
    </ax21:responses>
    </ns:return>
    </ns:validateCCSZResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    So, does anyone know why the web service call from APEX does not return the XML code? I am getting the values from the XML code, but I have no way to parse it to get what I need...
    Thanks,
    -- Johnnie

    Hey Jason,
    That is very close to what the generated report looked like, as soon as I put in //validateCCSZResponse/return/responses instead of //validateCCSZResponse/return I get no data found.
    You can run this directly in TOAD, this one returns a row:
    SELECT extractValue( value(T), '//city', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) city
    ,extractValue( value(T), '//county', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) county
    ,extractValue( value(T), '//incomplete', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) incomplete
    ,extractValue( value(T), '//postalCode', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) postalCode
    ,extractValue( value(T), '//reliability', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) reliability
    ,extractValue( value(T), '//state', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) state
    ,extractValue( value(T), '//streetName', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) streetName
    ,extractValue( value(T), '//streetNumber', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) streetNumber
    ,extractValue( value(T), '//validated', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) validated
    FROM TABLE(xmlsequence(extract(XMLTYPE.createxml('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <ns:validateCCSZResponse xmlns:ns="http://validation.util.oss.paetec.com">
    <ns:return xmlns:ax28="http://sag.oss.paetec.com/xsd" xmlns:ax22="http://rmi.java/xsd" xmlns:ax23="http://io.java/xsd" xmlns:ax21="http://client.validation.util.oss.paetec.com/xsd" type="com.paetec.oss.util.validation.client.AddressResponseArray">
    <ax21:responses type="com.paetec.oss.util.validation.client.AddressResponse">
    <ax21:city>Marion</ax21:city>
    <ax21:code>0</ax21:code>
    <ax21:country />
    <ax21:county>Wayne</ax21:county>
    <ax21:incomplete>true</ax21:incomplete>
    <ax21:incorporated>true</ax21:incorporated>
    <ax21:locClli />
    <ax21:postalCode>14505</ax21:postalCode>
    <ax21:postalCodeExtension />
    <ax21:reliability>1.0</ax21:reliability>
    <ax21:shortDescription>AddressResponse: /Marion, NY 14505/Val = true/Rel = 1.0/Incp = true/Geo = 0</ax21:shortDescription>
    <ax21:state>NY</ax21:state>
    <ax21:streetName />
    <ax21:streetNumber />
    <ax21:unit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"></ax21:unit>
    <ax21:validated>true</ax21:validated>
    </ax21:responses>
    </ns:return>
    </ns:validateCCSZResponse>
    </soapenv:Body>
    </soapenv:Envelope>'),'//validateCCSZResponse/return','xmlns="http://validation.util.oss.paetec.com"'))) T
    This returns no rows:
    SELECT extractValue( value(T), '//city', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) city
    ,extractValue( value(T), '//county', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) county
    ,extractValue( value(T), '//incomplete', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) incomplete
    ,extractValue( value(T), '//postalCode', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) postalCode
    ,extractValue( value(T), '//reliability', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) reliability
    ,extractValue( value(T), '//state', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) state
    ,extractValue( value(T), '//streetName', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) streetName
    ,extractValue( value(T), '//streetNumber', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) streetNumber
    ,extractValue( value(T), '//validated', 'xmlns="http://client.validation.util.oss.paetec.com/xsd"' ) validated
    FROM TABLE(xmlsequence(extract(XMLTYPE.createxml('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <ns:validateCCSZResponse xmlns:ns="http://validation.util.oss.paetec.com">
    <ns:return xmlns:ax28="http://sag.oss.paetec.com/xsd" xmlns:ax22="http://rmi.java/xsd" xmlns:ax23="http://io.java/xsd" xmlns:ax21="http://client.validation.util.oss.paetec.com/xsd" type="com.paetec.oss.util.validation.client.AddressResponseArray">
    <ax21:responses type="com.paetec.oss.util.validation.client.AddressResponse">
    <ax21:city>Marion</ax21:city>
    <ax21:code>0</ax21:code>
    <ax21:country />
    <ax21:county>Wayne</ax21:county>
    <ax21:incomplete>true</ax21:incomplete>
    <ax21:incorporated>true</ax21:incorporated>
    <ax21:locClli />
    <ax21:postalCode>14505</ax21:postalCode>
    <ax21:postalCodeExtension />
    <ax21:reliability>1.0</ax21:reliability>
    <ax21:shortDescription>AddressResponse: /Marion, NY 14505/Val = true/Rel = 1.0/Incp = true/Geo = 0</ax21:shortDescription>
    <ax21:state>NY</ax21:state>
    <ax21:streetName />
    <ax21:streetNumber />
    <ax21:unit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"></ax21:unit>
    <ax21:validated>true</ax21:validated>
    </ax21:responses>
    </ns:return>
    </ns:validateCCSZResponse>
    </soapenv:Body>
    </soapenv:Envelope>'),'//validateCCSZResponse/return/responses','xmlns="http://validation.util.oss.paetec.com"'))) T

  • Help with calling perimeter and area

    how do i get this program to call perimeter and area in main
    public class Rectangle{
    public static void main (String[]args){
    Rectangle1 rectangle = new Rectangle1();
    rectangle.setColor ("white");
    rectangle.setHeight(1);
    rectangle.setWidth(1);
    System.out.println(rectangle.toString());
         class Rectangle1 {
         private String color = "red";
         private double height = 40;
         private double width = 4;
         private double area;
         private double perimeter;
    Rectangle1 () {
         public double getHeight(){
         return height;
         public void setHeight(double height) {
         this.height = height;
         public double getWidth(){
         return width;
         public void setWidth(double width){
         this.width = width;
         public String getColor(){
         return color;
         public void setColor(String color){
         this.color = color;
         //area and perimeter
    double getArea(){
    return height * width;
    double getPerimeter(){
      return height* 2 + width* 2;
    public String toString(){
    return("the area is " + area + "\n" + "the perimeter is " + perimeter + "\n"
    + "color is " + color);
         }     

         public class Rectangle{
    public static void main (String[]args){
    Rectangle1 rectangle = new Rectangle1();
    rectangle.setColor ("white");
    rectangle.setHeight(1);
    rectangle.setWidth(1);
    System.out.println(rectangle.toString());
    rectangle.setArea();
    rectangle.setPerimeter();
    //area and perimeter
    double getArea(){
    return height * width;
    public void setArea(double area){
    this.area = area;
    double getPerimeter(){
      return height* 2 + width* 2;
    public void setPerimeter(double perimeter){
    this.perimeter = perimeter;
    }this is what i did still coming up with zero

  • Please help with a drawing on JPanel in a background.

    Hello everybody,
    I have already post this question in the main java forum and was adviced to place the question here. Since then, I have refactored the code. I need your opinion and advice.
    My task is to draw some objects on the JPanel or some other components and to place the names to the objects, for example squares, but later, from the thread. Because it can take some time, untill the names will be avaliable.
    So, I refactored the code I post before http://forum.java.sun.com/thread.jspa?threadID=5192586&tstart=15
    And now, it draws on layers and from thread on resize, with some imitating interval.
    Is it a good approach I use, is there a better way, to draw on JPanel, after some objects were already painted.
    Here is my sample, try to resize window:
    package test;
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Point;
    import java.awt.Rectangle;
    import java.awt.event.ComponentEvent;
    import java.awt.event.ComponentListener;
    import java.awt.geom.Rectangle2D;
    import javax.swing.JFrame;
    import javax.swing.JLayeredPane;
    import javax.swing.JPanel;
    public class Painter extends JFrame implements ComponentListener{
         private static final long serialVersionUID = 1L;
         private ThreadPainter threadPainter;
         JPanel panel = new JPanel() {
              private static final long serialVersionUID = 1L;
              @Override
              protected void paintComponent(Graphics g) {
                   super.paintComponent(g);
                   System.out.println("repaint");
                   Graphics2D g2d = (Graphics2D) g;
                   g2d.setColor(Color.gray);
                   g2d.fillRect(0, 0, 800, 600);
                   g2d.setColor(Color.white);
                   for (int i = 0; i < 6; i++) {
                        Rectangle2D rec2d = new Rectangle2D.Double(10 + i * 100,
                                  10 + i * 100, 10, 10);
                        g2d.fill(rec2d);
                        g2d.drawString("Square " + i, 10 + i * 100 + 20, 10 + i * 100);
                   // start thread to paint some changes later
                   if (threadPainter == null) {
                        threadPainter = new ThreadPainter();
                        threadPainter.start();
         JPanelTest panel1 = new JPanelTest();
         public class JPanelTest extends JPanel {
              private static final long serialVersionUID = 1L;
              private int times = 0;
              @Override
              protected void paintComponent(Graphics g) {
                   super.paintComponent(g);
                   Graphics2D g2d = (Graphics2D) g;
                   g2d.setColor(Color.red);
                   System.out.println("repaint panel test");
                        System.out.println("repaitn times");
                        g2d.drawString("Square " + times, 10 + times * 100 + 20, 10 + times * 100);
              public void repaintMethod(int times) {
                   this.times = times;
                   this.repaint(times * 100 + 20, times * 100, 300,300);
         public class ThreadPainter extends Thread {
              private boolean stop = false;
              @Override
              public void run() {
                   while (!stop) {
                        int cnt = 0;
                        for (int i = 0; i < 6; i++) {
                             System.out.println("do task");
                             panel1.repaintMethod(i);
                             // load data, do calculations
                             try {
                                  // emulate calcilation
                                  Thread.sleep(1000);
                             } catch (InterruptedException e) {
                                  e.printStackTrace();
                             if (stop) {
                                  break;
                             cnt++;
                        if (cnt == 6) {
                             stopThread();
              public void stopThread() {
                   this.stop = true;
         public Painter() {
              this.setLayout(new BorderLayout());
              JLayeredPane pane = new JLayeredPane();
              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              this.setLocation(new Point(100, 100));
              this.setPreferredSize(new Dimension(800, 600));
              this.panel.setOpaque(false);
              this.panel1.setOpaque(false);
              pane.setOpaque(false);
              pane.add(panel, JLayeredPane.DEFAULT_LAYER);
              pane.add(panel1, new Integer(
                        JLayeredPane.DEFAULT_LAYER.intValue() + 1));
              this.add(pane, BorderLayout.CENTER);
              panel.setBounds(new Rectangle(0, 0, 800, 600));
              panel1.setBounds(new Rectangle(0, 0, 800, 600));
              this.addComponentListener(this);
         public static void main(String[] args) {
              Painter painter = new Painter();
              painter.pack();
              painter.setVisible(true);
         @Override
         public void componentHidden(ComponentEvent e) {
              // TODO Auto-generated method stub
         @Override
         public void componentMoved(ComponentEvent e) {
              // TODO Auto-generated method stub
         @Override
         public void componentResized(ComponentEvent e) {
              if (threadPainter != null) {
                   threadPainter.stopThread();
                   threadPainter = new ThreadPainter();
                   threadPainter.start();
         @Override
         public void componentShown(ComponentEvent e) {
              // TODO Auto-generated method stub
    }

    Hello camickr,
    thanks for your answers.
    It sounds like you are trying to add a component and
    descriptive text of this component to a panel. So the
    question is why are you overriding paintComponent()
    method on your main panel and why are you using a
    Thread.JLabel is not a good way I think, because of the performance. Think about 1000 labels on the panel. And the text can have different style, so drawString method is better here.
    Create a component that draws your "shape" and then
    add that component to the main panel that uses a null
    layout. That means you need to specify the bounds of
    the component. Then you can add a JLabel containing
    the releated text of the component. If you don't know
    the text then it can always be updated with the
    setText() method in the future. Also, the foreground
    can be updated as well.If it would be lable, I could update Text as us say and JLabels would be perfect. In this case, JLabels are not what I need.
    You said the names will not be available right away.
    Well then you don't start a thread to schedule the
    repainting of the names since you don't know exactly
    when the name will be available. You wait until you
    have the names and then simple use the setText()
    method.I have decided this way.
    Draw all objects on the panel in different layers, for different type of objects.
    Get names and make some calculations, for example, optimal position of the text on the panel (in Thread) and after it repaint();
    Repaint draw all objects, but now it have the names, which will be added too.
    The requirement is: thousand of objects on the panel
    Different type of ojbects should be drawn in different layers
    Names should be added to the objects and maybe some other drawings (showing state). Name and drawing can be done later, but should be added dynamically, after all calculation are done.

Maybe you are looking for

  • Need setup input/opinion please.

    Im setting up a new panasonic 50 HDTV and was thinking of getting the new Mac Mini. I want to be able to go out to the HD TV and play DVDs and also my home mad HD QT files. Also wanted to surf the web.... Is all this possible. Does it just work as if

  • The operation timed out while writing (kCFStreamStatusOpening)

    iMessage cant send files. This is what it says in the file transfer window. "the operation timed out while writing (kCFStreamStatusOpening)" Help

  • Menu fade in

    how can i get the entire main menu to fade in i can only get the video track to. all the buttons that i create appear right away on the screen and then the video track that is set as background fades in. i would also like the buttons i created to fad

  • Album art from cds

    If u buy a song off itunes it shows the album art but if u put a cd on itunes is there neway to get the album art from the cd?

  • Bridge 1.0 removal

    I'm sorry if this question has already been asked; I have done a forum search with no luck finding an answer. I primarily use Production Premium CS3 and Adobe Bridge CS3 (ver. 2.1.1.9). I also use Adobe Audition 2.0 that came as part of Production St