Where is the paint method?

The book I have says it's in the JApplet class, but I can't find it there. Thx

Whoops sorry, already found it in the Java.awt.Container class.

Similar Messages

  • Over-riding the paint() method

    I want to create a custom button-rounded sides with straight top and bottom to be exact. I understand that you can use the Component class to create components, and over-ride the paint() method to create the actual button's appearance, but how do you do this? Also how do you go about creating an actionlistener for a component like my button idea? Any help will be appreciated!

    Since you are creating your own JButton you want to implement MouseListener so that you can detect the mouse up and mouse down events. If you are going to have a hover image then you want to implement MouseMotionListener as well. Here is an example:
    public class MyButton extends JComponent implement MouseListener, MouseMotionListener {
      private Vector listeners = new Vector();
      public MyButton() {
        addMouseListener(this);
        addMouseMotionListener(this);
      public void addActionListener(ActionListener al) {
        listeners.add(al);
      public void removeActionListener(ActionListener al) {
        listeners.remove(al);
      //add the overridden methods from MouseListener, MouseMotionListener
      public void paint(Graphics g) {
        //paint based on the events
    }This class will be notified when the mouse enters, exits, is clicked, etc. and you can set a state variable so that your paint routine knows what image to paint.
    Hopefully this will clear it up. Not sure how I can make it clearer.

  • Where is the paint bucket icon on PS cc

    where is the paint bucket icon on PS cc

    Press and hold down on the Gradient Tool (just below the Eraser Tool) and it will pop up for you to select.
    You can also use G as the shortcut key and Shift + G to switch to it.
    Gene

  • Where's the "Paint Bucket"?

    I just recently uploaded the free 30 day trial of Photoshop CS5 Extended. I currently have Photoshop 7, but what I want to know is... where is the "Paint Bucket"?

    Most of the tools on the Tools panel have multiple choices.  This keeps the panel small while making a large number of tools available to you.  Click and hold on any one of the panel boxes to see all your choices.
    The Paint Bucket Tool is here:
    -Noel

  • Where is the "printf" method?

    I have attended to a Sun TechDays lecture showing some new features of J2SDK 1.5 - one of the "hottest things" (hot for the guys with C background...) was the good old "printf" function.
    I have downloaded the alpha b31 release. Where is the "printf" function? Is it scheduled to be released in Tiger?
    I particularly do not like the "printf" and "scanf" functions, but "promise is debt" (literal translation from the Portuguese).
    It is not difficult to write a printf method using the new variance syntax. But the scanf method poses some problems:
    char *s = "1000 1.2";
    int d; float f;
    sscanf (s, "%d %f",  &d, &f);
    String s = "1000 1.2";
    StringReader sr = ...;
    ___ d = new ___;
    ___ f = new ___;
    sr.scanf ("%d %f", d, f);I can't pass a "Integer" or a "Float" object because they are immutable. If I use the idiom "if you want to pass a int by reference, create a one-element array, pass the array, and get the first element" it will eternize the idiom:
    int[] d = new int[1];
    float[] f = new float[1];
    sr.scanf ("%d %f", d, f);Maybe scanf could return an Object[]. We will have
    Object[] o = sr.scanf ("%d %f");
    System.out.println (o[0]); //-- the first value
    System.out.println (o[1]); //-- the second valueUgly. If Java had tuples:
    <d, f> = sr.scanf ("%d %f");
    The "principle of minimum astonishment" rules against tuples, although they could be very useful (think the lots of JavaBeans that are created only to return two or three fields...)

    What about:
    Object[] array = new Object[2];
    sr.scanf ("%d %f", array);
    Integer i = (Integer) array[0];
    Float f = (Float) array[0];

  • Where is the Stop method for CWDI?

    All the other DMA classes have a Stop mehtod. Why not CWDI?

    Hi rcsj1,
    The Reset method should be used to stop the digital input. A command to stop but not reset the resources was not explicitly exported to be used with the ActiveX control CWDI. Hope that helps. Have a good day.
    Ron

  • Where's the clone() method implementation?

    this was all i could get from src.jar..
    protected native Object clone() throws CloneNotSupportedException;
    where is the implementation?
    thank you

    So the implementation is in some library. And you have already seen the (Java) source. The native code is probably written in C or C++; I don't see any source like that in my Windows SDK so you probably don't have it in yours either.

  • Where is the "set" method for this ELEMENT?

    Hi
    I'm trying to understand the relationship between the DTD and XJS, and the JAXB generated code.
    Consider the example DTD, XJS, and generated source code (i.e., "value07.java") for ELEMENT value07, below ...
    QUESTION#1: Why is there no "set" method generated for ELEMENT "value07a" within the generated value07.java ???
    QUESTION#2: How to I code the DTD/XJS in order to force the generation of a "set" method in value07.java???.
    -- I want to be able to set a new value for ELEMENT "value07a" in order to generate an XML document containing the new value!!
    (NOTE: the reason that ELEMENT value07 (as well as other ELEMENTs) has only a single subelement, is in order to satisfy the XSLT definition in a preexisting application.)
    * * * this is the DTD* * *
    <!ELEMENT request                          (value01,value02,value03,value04,value05?,value06?,value07?,value08?,value09?,value10?,value11?,value12?,value13?,value14?,value15?,value16?,value17?,value18?)>
    <!ELEMENT value01                          (#PCDATA)>
    <!ELEMENT value02                          (#PCDATA)>
    <!ELEMENT value03                          (#PCDATA)>
    <!ELEMENT value04                          (value04a, value04b?)>
    <!ELEMENT value04a                          (#PCDATA)>
    <!ELEMENT value04b                          (#PCDATA)>
    <!ELEMENT value05                          (value05a, value05b?)>
    <!ELEMENT value05a                          (#PCDATA)>
    <!ELEMENT value05b                          (#PCDATA)>
    <!ELEMENT value06                          (value06a+)>
    <!ELEMENT value06a                          (#PCDATA)>
    <!ELEMENT value07                          (value07a+)>
    <!ELEMENT value07a                          (#PCDATA)>
    <!ELEMENT value08                          (value08a+)>
    <!ELEMENT value08a                          (#PCDATA)>
    <!ELEMENT value09                          (value09a+)>
    <!ELEMENT value09a                          (#PCDATA)>
    <!ELEMENT value10                          (value10a+)>
    <!ELEMENT value10a                          (#PCDATA)>
    <!ELEMENT value11                          (value11a+)>
    <!ELEMENT value11a                          (#PCDATA)>
    <!ELEMENT value12                          (value12a+)>
    <!ELEMENT value12a                          (#PCDATA)>
    <!ELEMENT value13                          (value13a+)>
    <!ELEMENT value13a                          (#PCDATA)>
    <!ELEMENT value14                          (value14a+)>
    <!ELEMENT value14a                          (#PCDATA)>
    <!ELEMENT value15                          (value15a+)>
    <!ELEMENT value15a                          (#PCDATA)>
    <!ELEMENT value16                          (value16a+)>
    <!ELEMENT value16a                          (#PCDATA)>
    <!ELEMENT value17                          (value17a+)>
    <!ELEMENT value17a                          (#PCDATA)>
    <!ELEMENT value18                          (value18a+)>
    <!ELEMENT value18a                          (#PCDATA)>
    * * * this is the XJS * * *
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE xml-java-binding-schema SYSTEM "http://java.sun.com/dtd/jaxb/1.0-ea/xjs.dtd">
    <xml-java-binding-schema version="1.0-ea">
    <options package="testSourceCode"/>
    <element name="request" type="class" root="true"/>
         <element name="value01"                               type="value"/>
         <element name="value02"                               type="value"/>
         <element name="value03"                          type="value"/>
         <element name="value04" type="class">
              <content>
                   <element-ref name="value04a" />
                   <element-ref name="value04b" />
              </content>
         </element>
         <element name="value05" type="class">
              <content>
                   <element-ref name="value05a" />
                   <element-ref name="value05b" />
              </content>
         </element>
         <element name="value06" type="class">
              <content>
                   <element-ref name="value06a" />
              </content>
         </element>
         <element name="value07" type="class">
              <content>
                   <element-ref name="value07a" />
              </content>
         </element>
         <element name="value08" type="class">
              <content>
                   <element-ref name="value08a" />
              </content>
         </element>
         <element name="value09" type="class">
              <content>
                   <element-ref name="value09a" />
              </content>
         </element>
         <element name="value10" type="class">
              <content>
                   <element-ref name="value10a" />
              </content>
         </element>
         <element name="value11" type="class">
              <content>
                   <element-ref name="value11a" />
              </content>
         </element>
         <element name="value12" type="class">
              <content>
                   <element-ref name="value12a" />
              </content>
         </element>
         <element name="value13" type="class">
              <content>
                   <element-ref name="value13a" />
              </content>
         </element>
         <element name="value14" type="class">
              <content>
                   <element-ref name="value14a" />
              </content>
         </element>
         <element name="value15" type="class">
              <content>
                   <element-ref name="value15a" />
              </content>
         </element>
         <element name="value16" type="class">
              <content>
                   <element-ref name="value16a" />
              </content>
         </element>
         <element name="value17" type="class">
              <content>
                   <element-ref name="value17a" />
              </content>
         </element>
         <element name="value18" type="class">
              <content>
                   <element-ref name="value18a" />
              </content>
         </element>
    </xml-java-binding-schema>
    * * * generated sourcecode for ELEMENT "value07"...i.e., "value07.java" * * *
    package testSourceCode;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import javax.xml.bind.ConversionException;
    import javax.xml.bind.Dispatcher;
    import javax.xml.bind.Element;
    import javax.xml.bind.InvalidAttributeException;
    import javax.xml.bind.InvalidContentObjectException;
    import javax.xml.bind.LocalValidationException;
    import javax.xml.bind.MarshallableObject;
    import javax.xml.bind.Marshaller;
    import javax.xml.bind.MissingContentException;
    import javax.xml.bind.PredicatedLists;
    import javax.xml.bind.PredicatedLists.Predicate;
    import javax.xml.bind.StructureValidationException;
    import javax.xml.bind.UnmarshalException;
    import javax.xml.bind.Unmarshaller;
    import javax.xml.bind.Validator;
    import javax.xml.marshal.XMLScanner;
    import javax.xml.marshal.XMLWriter;
    public class Value07
    extends MarshallableObject
    implements Element
    private List _Value07A = PredicatedLists.createInvalidating(this, new Value07APredicate(), new ArrayList());
    private PredicatedLists.Predicate pred_Value07A = new Value07APredicate();
    public List getValue07A() {
    return _Value07A;
    public void deleteValue07A() {
    _Value07A = null;
    invalidate();
    public void emptyValue07A() {
    Value07A = PredicatedLists.createInvalidating(this, predValue07A, new ArrayList());
    public void validateThis()
    throws LocalValidationException
    if (_Value07A == null) {
    throw new MissingContentException("value07a");
    public void validate(Validator v)
    throws StructureValidationException
    public void marshal(Marshaller m)
    throws IOException
    XMLWriter w = m.writer();
    w.start("value07");
    for (Iterator i = _Value07A.iterator(); i.hasNext(); ) {
    w.leaf("value07a", ((String) i.next()).toString());
    w.end("value07");
    public void unmarshal(Unmarshaller u)
    throws UnmarshalException
    XMLScanner xs = u.scanner();
    Validator v = u.validator();
    xs.takeStart("value07");
    while (xs.atAttribute()) {
    String an = xs.takeAttributeName();
    throw new InvalidAttributeException(an);
    List l = new ArrayList();
    while (xs.atStart()) {
    if (xs.atStart("value07a")) {
    xs.takeStart("value07a");
    String s;
    if (xs.atChars(XMLScanner.WS_COLLAPSE)) {
    s = xs.takeChars(XMLScanner.WS_COLLAPSE);
    } else {
    s = "";
    String uf;
    try {
    uf = String.valueOf(s);
    } catch (Exception x) {
    throw new ConversionException("value07a", x);
    l.add(uf);
    xs.takeEnd("value07a");
    } else {
    break;
    Value07A = PredicatedLists.createInvalidating(this, predValue07A, l);
    xs.takeEnd("value07");
    public static Value07 unmarshal(InputStream in)
    throws UnmarshalException
    return unmarshal(XMLScanner.open(in));
    public static Value07 unmarshal(XMLScanner xs)
    throws UnmarshalException
    return unmarshal(xs, newDispatcher());
    public static Value07 unmarshal(XMLScanner xs, Dispatcher d)
    throws UnmarshalException
    return ((Value07) d.unmarshal(xs, (Value07 .class)));
    public boolean equals(Object ob) {
    if (this == ob) {
    return true;
    if (!(ob instanceof Value07)) {
    return false;
    Value07 tob = ((Value07) ob);
    if (_Value07A!= null) {
    if (tob._Value07A == null) {
    return false;
    if (!_Value07A.equals(tob._Value07A)) {
    return false;
    } else {
    if (tob._Value07A!= null) {
    return false;
    return true;
    public int hashCode() {
    int h = 0;
    h = ((127 *h)+((_Value07A!= null)?_Value07A.hashCode(): 0));
    return h;
    public String toString() {
    StringBuffer sb = new StringBuffer("<<value07");
    if (_Value07A!= null) {
    sb.append(" value07a=");
    sb.append(_Value07A.toString());
    sb.append(">>");
    return sb.toString();
    public static Dispatcher newDispatcher() {
    return Request.newDispatcher();
    private static class Value07APredicate
    implements PredicatedLists.Predicate
    public void check(Object ob) {
    if (!(ob instanceof String)) {
    throw new InvalidContentObjectException(ob, (String.class));

    I discovered something similar this morning...i.e., for
    <element name="value07" type="class">
    <content>
    <element-ref name="value07a" />
    </content>
    </element>
    -- I did something like this...
    Value7 v7 = new Value7();
    for (int i=0; i< Value7_input_array.length; i++)
    ((List)(v7.getValue07A())).add(Value7_input_array);
    Thanks for responding, barry!

  • Where is the onAck() method in the ABAP proxy framework?

    When working with client proxies there is the possibility of requesting acknowledgements from the receiving party. This will result in a acknowledgement message being sent back after successful delivery (technical acknowledgement) or successful processing of the message.
    Java proxies support a callback mechanism by providing an interface com.sap.aii.proxy.xiruntime.ack.AckListenerLocal containing the method.
    onAck(com.sap.aii.proxy.xiruntime.ack.AckMessage ack)
    An implementation of this interface can be registered to handle the acknowledgment for a specific proxy.
    How does this work for ABAP? Is there an ABAP OO interface? Is there a way of registering some handler for acknowledgements by any means?
    Thanks for any response on this!

    That is bitter truth to hear. I do not understand that because it sounds simple and obvious to provide. Thanks anyway Stefan.
    If anybody has a good idea how to setup a trigger that will run upon the receipt of an acknowledgement (not with polling) it would be highly appreciated.
    Edited by: Jochen Damzog on May 10, 2011 8:51 AM

  • Where is the SOAP Method in XI generated WSDL?

    Hi Experts,
    I have generated a WSDL from XI for the outbound interface. The web application developer is using this WSDL to send a SOAP request from the web application, but he is not finding a SOAPMethod in the WSDL. Could someone please tell how the XI generated WSDL is to be used from a web application?
    Thanks,
    Shobhit

    Thanks Prateek, but could you send me some document / link on how to send a SOAP request to an XI generated webservice. Is it in any ways different to a regular webservice deployed on a http server.
    We are trying to send a SOAP request using a .Net based application. Any clues / leads on how to send the request using the XI generated WSDL.
    Appreciate your help.
    Thanks,
    Shobhit
    p.s. i have the following in my WSDL:
         <wsdl:binding name="OB_NP_WorkOrderDetails_MIBinding" type="p1:OB_NP_WorkOrderDetails_MI"
                      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"
                                      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
              <wsdl:operation name="OB_NP_WorkOrderDetails_MI">
                   <soap:operation soapAction="http://sap.com/xi/WebService/soap1.1"
                                                        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
                   <wsdl:input>
                        <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
                   </wsdl:output>
              </wsdl:operation>
         </wsdl:binding>
    Edited by: Shobhit Swarup Mathur on Aug 4, 2008 10:51 AM

  • Stuck with the paint and repaint methods

    I am supposed to create a JApplet with a button and a background color. When the button is clicked the first time a word is supposed to appear (I got that part), when the button is clicked the second time the word is supposed to appear again in a different color and in a different location on the Applet (I got that part).
    The problem is that the first name is supposed to disappear when the second word appears. So I know I have to repaint the screen when the button is clicked the second time and draw the first string in the same color as the background color to make it invisible.
    My problem is I am not sure how I can code to apply different settings each time the button is clicked. Can anyone help? Please let me know if my explanation sucks. I will try to explain better. However here is the code I have so far. I added a counter for the button just for testing purposes.
    I just need some hints on what to do and if there is a easier way than using that if statement please let me know. I probably make it harder than it is.
    Thanks in advance and Merry Christmas.
    import javax.swing.*;
       import java.awt.*;
       import java.awt.event.*;
        public class DisplayMyName extends JApplet
        implements ActionListener
          String myName = "DOG";
          String myName1 = "DOG";
          JButton moveButton = new JButton("Move It");
          Font smallFont = new Font("Arial", Font.BOLD, 12);
          Font largeFont = new Font("Lucida Sans", Font.ITALIC, 20);
          int numClicks = 0;
          JLabel label = new JLabel("Number of button clicks:" + numClicks);
           public void init()
             Container con = getContentPane();
             con.setBackground(Color.RED);
             con.setLayout( new FlowLayout() );
             con.add(moveButton);
             con.add(label);
             moveButton.addActionListener(this);
           public void paint(Graphics g)
             numClicks++;
             label.setText("Number of button clicks: " + numClicks);
             if (numClicks == 2)
             { g.setFont(smallFont);
                g.setColor(Color.BLUE);
                g.drawString(myName, 50, 100);
                   else
             if (numClicks == 3)
             { g.setFont(largeFont);
                g.setColor(Color.YELLOW);
                g.drawString(myName, 100, 200);
           public void actionPerformed(ActionEvent move)
             repaint();
       }

    You're putting your program logic in the paint method, something you should not do. For instance, try resizing your applet and see what effect that has on number of button clicks displayed. This is all a side effect of the logic being in the paint method.
    1) Don't override paint, override paintComponent.
    2) Don't draw/paint directly in the JApplet. Do this in a JPanel or JComponent, and then add this to the JApplet. In fact I'd add the button, the and the label to the JPanel and add the label to the JApplet's contentPane (which usually uses BorderLayout, so it should fill the applet).
    3) Logic needs to be outside of paint/paintComponent. the only code in the paintComponent should be the drawing/painting itself. The if statements can remain within the paintComponent method though.
    4) When calling repaint() make sure you do so on the JPanel rather than the applet itself.
    For instance where should numClicks++ go? Where should the code to change the label go? in the paint/paintComponent method? or in the button's actionlistener? which makes more sense?
    Edited by: Encephalopathic on Dec 24, 2008 9:37 AM

  • Invoking the paint repaint methods in Java2D

    Hi,
    This is the case:
    I have used the paint method to a JPanel like this:
    public void paint (Graphics g){
    Graphics2D g2 = (Graphics2D) g;
    g2.setPaint(gradientColor);
    g2.fill(rect);
    g2.setPaint(Color.white);
    g2.drawString( "My label");
    Now once the JPanel been painted, after a while,i want to change the
    context of g2.drawString("new label") with a new label, but i want to keep the background painted as before. how do i invoke/use the repaint
    or another method to accomplish that? Please help.
    /E

    allredy solved, thanks any way.

  • On implementingthe paint method, the panel does not up

    Hi,
    I have a panel over which i am adding a second panel.
    the second panel appears but when i implement the paintmethod() of second panel, it does not show...
    what can be the reason???
    deepak

    hi!
    i included the statement super.paint(g); in the paint method and now i can see the panel.
    Following is the paint() method i have written, the on;y problem left is that i can't see the images i had drawn...otherwise line and rectangles are coming fine
    super.paint(g);
                        if(showImage)
                                  Point pe0 = new Point(180, 110);
                                  Point pe1 = new Point(180, 280);
                                  Point p0 = new Point(138, 182);
                                  Point ce0 = new Point(120, 75);
                                  Point ce2 = new Point(240, 75);
                                  Point ce1 = new Point(120, 380);
                                  Point ce3 = new Point(240, 380);
                                  g.drawImage(verticalCloudImage, (int)p0.getX() - 20, (int)p0.getY() - 85, this);
                                  g.drawImage(peImage, (int)pe0.getX(), (int)pe0.getY(), this);
                                  g.drawImage(peImage, (int)pe1.getX(), (int)pe1.getY()+35, this);
                                  g.drawImage(cloudImage, (int)ce0.getX()-88, (int)ce0.getY()-52, this);
                                  g.drawImage(ceImage, (int)ce0.getX(), (int)ce0.getY(), this);
                                  g.drawImage(cloudImage, (int)ce2.getX(), (int)ce2.getY()-45, this);
                                  g.drawImage(ceImage, (int)ce2.getX(), (int)ce2.getY(), this);
                                  g.drawImage(cloudImage, (int)ce1.getX()-88, (int)ce1.getY()-22, this);
                                  g.drawImage(ceImage, (int)ce1.getX(), (int)ce1.getY(), this);
                                  g.drawImage(cloudImage, (int)ce3.getX(), (int)ce3.getY()-22, this);
                                  g.drawImage(ceImage, (int)ce3.getX(), (int)ce3.getY(), this);
                                  int ceHeight = ceImage.getHeight(this);
                                  int ceWidth = ceImage.getWidth(this);
                                  int peHeight = peImage.getHeight(this);
                                  int peWidth = peImage.getWidth(this);
                                  int pHeight = pImage.getHeight(this);
                                  int pWidth = pImage.getWidth(this);
                                  g.drawLine((int)ce0.getX() + ceWidth/2, (int)ce0.getY() + ceHeight,
                                            (int)pe0.getX() + peWidth/2, (int)pe0.getY());
                                  g.drawLine((int)ce2.getX() + ceWidth/2, (int)ce2.getY() + ceHeight,
                                            (int)pe0.getX() + peWidth/2, (int)pe0.getY());
                                  g.draw3DRect((int)pe0.getX() + peWidth/2 - 3, (int)pe0.getY() + peHeight - 1,
                                                 5, (int)p0.getY() - (int)pe0.getY() - peHeight - 2+23, true);
                                  g.draw3DRect((int)p0.getX() + pWidth/2 - 10, (int)p0.getY() + peHeight - 1+20,
                                                 5, (int)pe1.getY() - (int)p0.getY() - peHeight + 2+15, true);
                                  g.fill3DRect((int)pe0.getX() + peWidth/2 - 3, (int)pe0.getY() + peHeight - 1,
                                                 5, (int)p0.getY() - (int)pe0.getY() - peHeight - 2+23, true);
                                  g.fill3DRect((int)p0.getX() + pWidth/2 - 10, (int)p0.getY() + peHeight - 1+20,
                                                 5, (int)pe1.getY() - (int)p0.getY() - peHeight + 2+15, true);
                                  g.drawLine((int)ce1.getX() + ceWidth/2, (int)ce1.getY(),
                                                 (int)pe1.getX() + peWidth/2, (int)pe1.getY() + peHeight+35);
                                  g.drawLine((int)ce3.getX() + ceWidth/2, (int)ce3.getY(),
                                                 (int)pe1.getX() + peWidth/2, (int)pe1.getY() + peHeight+35);

  • Adding a JButton when there's a paint method

    I'm creating a game application, sort of like a maze, and I want to add buttons to the levelOne panel to be able to move around the maze. When I add the buttons to the panel they don't appear, I assume the paint method is the reason for this. here's my code, I have 3 files, ill post the user_interface, and the levels class, where the level is created and where i tried to add the button. I tried putting the buttons in a JOptionPane, but then my JMenu wouldn't work at the same time the OptionPane was opened. If anyone knows a way around this instead, please let me know. I also tried using a separate class with a paintComponent method in it, and then adding the button (saw on a forum, not sure if it was this one), but that didn't work either. Also, if there is a way just to simply have the user press the directional keys on the keyboard and have the program perform a certain function when certain keys are pressed, I'd like to know, as that would solve my whole problem. Thanks.
    //Libraries
    import java.awt.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.text.*;
    public class User_Interface extends JFrame
    static Levels l = new Levels ();
    static Delay d = new Delay ();
    private Container contentPane = getContentPane ();
    private JPanel main, levelOne;
    private String level;
    private CardLayout cc = new CardLayout ();
    private GridBagConstraints gbc = new GridBagConstraints ();
    private JPanel c = new JPanel ();
    private String label = "MainMenu";
    public User_Interface ()
    //Generates the User-Interface
    super ("Trapped");
    main = new JPanel ();
    GridBagLayout gbl = new GridBagLayout ();
    main.setLayout (gbl);
    c.setLayout (cc);
    // set_gbc (gbc, 2, 2, 5, 5, GridBagConstraints.NONE);
    c.add (main, "Main Page");
    contentPane.add (c, BorderLayout.CENTER);
    cc.show (c, "Main Page");
    levelOne = new JPanel ();
    levelOne.setLayout (new GridBagLayout ());
    levelOne.setBackground (Color.black);
    c.add (levelOne, "LevelOne");
    JMenuBar menu = new JMenuBar ();
    JMenu file = new JMenu ("File");
    JMenu help = new JMenu ("Help");
    JMenuItem about = new JMenuItem ("About");
    JMenuItem mainmenu = new JMenuItem ("Main Menu");
    mainmenu.addActionListener (
    new ActionListener ()
    public void actionPerformed (ActionEvent event)
    cc.show (c, "Main Page");
    label = "MainMenu";
    JMenuItem newGame = new JMenuItem ("New Game");
    newGame.addActionListener (
    new ActionListener ()
    public void actionPerformed (ActionEvent event)
    l.xCord = 2;
    l.yCord = 2;
    l.xLoc = 140;
    l.yLoc = 140;
    JPanel entrance = new JPanel ();
    entrance.setLayout (new FlowLayout ());
    c.add (entrance, "Entrance");
    label = "Entrance";
    level = "ONE";
    cc.show (c, "Entrance");
    JMenuItem loadgame = new JMenuItem ("Load Game");
    JMenuItem savegame = new JMenuItem ("Save Game");
    JMenuItem exit = new JMenuItem ("Exit");
    exit.addActionListener (
    new ActionListener ()
    public void actionPerformed (ActionEvent event)
    JFrame frame = new JFrame ();
    frame.setLocation (10, 10);
    JOptionPane.showMessageDialog (frame, "Come Back Soon!", "TRAPPED", JOptionPane.INFORMATION_MESSAGE);
    System.exit (0);
    file.add (about);
    file.add (mainmenu);
    file.add (newGame);
    file.add (loadgame);
    file.add (savegame);
    file.add (exit);
    menu.add (file);
    menu.add (help);
    setJMenuBar (menu);
    //Sets the size of the container (columns by rows)
    setSize (750, 550);
    //Sets the location of the container
    setLocation (10, 10);
    //Sets the background colour to a dark blue colour
    main.setBackground (Color.black);
    //Makes the container visible
    setVisible (true);
    public void paint (Graphics g)
    super.paint (g);
    g.setColor (Color.white);
    if (label == "MainMenu")
    for (int x = 0 ; x <= 50 ; ++x)
    g.setColor (Color.white);
    g.setFont (new Font ("Arial", Font.BOLD, x));
    g.drawString ("T R A P P E D", 100, 125);
    d.delay (10);
    if (x != 50)
    g.setColor (Color.black);
    g.drawString ("T R A P P E D", 100, 125);
    if (label == "Entrance")
    l.Entrance ("ONE", g);
    label = "LevelOne";
    if (label == "LevelOne")
    l.LevelOne (g, levelOne, gbc);
    label = "";
    public static void main (String[] args)
    // calls the program
    User_Interface application = new User_Interface ();
    application.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    } //End of Main Method
    //Libraries
    import java.awt.*;
    import java.io.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class Levels extends Objects
    private JFrame frame = new JFrame ();
    //Sets location, size, and visiblity to the frame where the JOptionPane
    //will be placed
    frame.setLocation (600, 600);
    frame.setSize (1, 1);
    frame.setVisible (false);
    public int xCord = 2;
    public int yCord = 2;
    public void LevelOne (Graphics g, JPanel one, GridBagConstraints gbc)
    ***Trying to add the button, doesn't appear. Tried adding to the container, and any JPanel i had created***
    JButton button1 = new JButton ("TEST");
    one.add (button1);
    g.setColor (Color.white);
    g.fillRect (500, 100, 200, 300);
    g.setColor (Color.black);
    g.drawRect (500, 100, 200, 300);
    g.setFont (new Font ("Verdana", Font.BOLD, 25));
    g.setColor (Color.black);
    g.drawString ("LEVEL ONE", 525, 80);
    //ROW ONE
    counter = -80;
    counter2 = 200;
    for (int a = 1 ; a <= 7 ; ++a)
    if (xCord < a && yCord == 0)
    g.setColor (darkGray);
    g.fillRect (xLoc + counter, yLoc - 80, 40, 40);
    g.setColor (Color.black);
    g.drawRect (xLoc + counter, yLoc - 80, 40, 40);
    if (xCord > a - 1 && yCord == 0)
    g.setColor (darkGray);
    g.fillRect (xLoc + counter2, yLoc - 80, 40, 40);
    g.setColor (Color.black);
    g.drawRect (xLoc + counter2, yLoc - 80, 40, 40);
    counter += 40;
    counter2 += 40;
    *****Theres 9 more rows, just edited out to save space****
    int y = 100;
    int x = 100;
    for (int a = 0 ; a < 20 ; ++a)
    g.setColor (Color.white);
    g.fillRoundRect (x, y, 40, 40, 5, 5);
    g.setColor (Color.black);
    g.drawRoundRect (x, y, 40, 40, 5, 5);
    y += 40;
    if (a == 9)
    x += 320;
    y = 100;
    x = 140;
    y = 100;
    for (int a = 0 ; a < 14 ; ++a)
    g.setColor (Color.white);
    g.fillRoundRect (x, y, 40, 40, 5, 5);
    g.setColor (Color.black);
    g.drawRoundRect (x, y, 40, 40, 5, 5);
    x += 40;
    if (a == 6)
    x = 140;
    y += 360;
    g.setColor (Color.black);
    g.drawRect (100, 100, 360, 400);
    ImageIcon[] images = new ImageIcon [4];
    images [0] = new ImageIcon ("arrow_left.gif");
    images [1] = new ImageIcon ("arrow_up.gif");
    images [2] = new ImageIcon ("arrow_down.gif");
    images [3] = new ImageIcon ("arrow_right.gif");
    int direction = -1;
    *****This is where I tried to have the OptionPane show the directional buttons******
    //frame.setVisible (true);
    // direction = JOptionPane.showOptionDialog (frame, "Choose Your Path:", "Trapped", JOptionPane.YES_NO_CANCEL_OPTION,
    // JOptionPane.QUESTION_MESSAGE,
    // null,
    // images,
    // images [3]);
    // if (direction == 0)
    // if (xCord - 1 > 0)
    // xCord -= 1;
    // xLoc += 40;
    // if (direction == 1)
    // if (yCord - 1 > 0)
    // yCord -= 1;
    // yLoc += 40;
    // if (direction == 2)
    // if (yCord + 1 < 9)
    // yCord += 1;
    // yLoc -= 40;
    // if (direction == 3)
    // if (xCord + 1 < 13)
    // xCord += 1;
    // xLoc -= 40;
    //LevelOne (g, one, gbc);
    }

    i tried adding a keylistener, that didn't work too well, i had tried to add it to a button and a textarea which i added to the 'one' frame, it didn't show up, and it didn't work. How would i go about changing the paint method so that it doesn't contain any logic? That's the only way I could think of getting the program to move forward in the game. Thanks.
    //Libraries
    import java.awt.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.text.*;
    public class User_Interface extends JFrame
        static Levels l = new Levels ();
        static Delay d = new Delay ();
        private Container contentPane = getContentPane ();
        private JPanel main, levelOne;
        private String level;
        private CardLayout cc = new CardLayout ();
        private GridBagConstraints gbc = new GridBagConstraints ();
        private JPanel c = new JPanel ();
        private String label = "MainMenu";
        public User_Interface ()
            //Generates the User-Interface
            super ("Trapped");
            main = new JPanel ();
            GridBagLayout gbl = new GridBagLayout ();
            main.setLayout (gbl);
            c.setLayout (cc);
            // set_gbc (gbc, 2, 2, 5, 5, GridBagConstraints.NONE);
            c.add (main, "Main Page");
            contentPane.add (c, BorderLayout.CENTER);
            cc.show (c, "Main Page");
            levelOne = new JPanel ();
            levelOne.setLayout (new GridBagLayout ());
            levelOne.setBackground (Color.black);
            c.add (levelOne, "LevelOne");
            JMenuBar menu = new JMenuBar ();
            JMenu file = new JMenu ("File");
            JMenu help = new JMenu ("Help");
            JMenuItem about = new JMenuItem ("About");
            JMenuItem mainmenu = new JMenuItem ("Main Menu");
            mainmenu.addActionListener (
                    new ActionListener ()
                public void actionPerformed (ActionEvent event)
                    cc.show (c, "Main Page");
                    label = "MainMenu";
            JMenuItem newGame = new JMenuItem ("New Game");
            newGame.addActionListener (
                    new ActionListener ()
                public void actionPerformed (ActionEvent event)
                    l.xCord = 2;
                    l.yCord = 2;
                    l.xLoc = 140;
                    l.yLoc = 140;
                    JPanel entrance = new JPanel ();
                    entrance.setLayout (new FlowLayout ());
                    c.add (entrance, "Entrance");
                    label = "Entrance";
                    level = "ONE";
                    cc.show (c, "Entrance");
            JMenuItem loadgame = new JMenuItem ("Load Game");
            JMenuItem savegame = new JMenuItem ("Save Game");
            JMenuItem exit = new JMenuItem ("Exit");
            exit.addActionListener (
                    new ActionListener ()
                public void actionPerformed (ActionEvent event)
                    JFrame frame = new JFrame ();
                    frame.setLocation (10, 10);
                    JOptionPane.showMessageDialog (frame, "Come Back Soon!", "TRAPPED", JOptionPane.INFORMATION_MESSAGE);
                    System.exit (0);
            file.add (about);
            file.add (mainmenu);
            file.add (newGame);
            file.add (loadgame);
            file.add (savegame);
            file.add (exit);
            menu.add (file);
            menu.add (help);
            setJMenuBar (menu);
            //Sets the size of the container (columns by rows)
            setSize (750, 550);
            //Sets the location of the container
            setLocation (10, 10);
            //Sets the background colour to a dark blue colour
            main.setBackground (Color.black);
            //Makes the container visible
            setVisible (true);
        public void paint (Graphics g)
            super.paint (g);
            g.setColor (Color.white);
            if (label == "MainMenu")
                for (int x = 0 ; x <= 50 ; ++x)
                    g.setColor (Color.white);
                    g.setFont (new Font ("Arial", Font.BOLD, x));
                    g.drawString ("T    R    A    P    P    E    D", 100, 125);
                    d.delay (10);
                    if (x != 50)
                        g.setColor (Color.black);
                        g.drawString ("T    R    A    P    P    E    D", 100, 125);
            if (label == "Entrance")
                l.Entrance ("ONE", g);
                label = "LevelOne";
            if (label == "LevelOne")
                l.LevelOne (g, levelOne, gbc);
                label = "";
            //g.setColor (new Color
        public static void main (String[] args)
            // calls the program
            User_Interface application = new User_Interface ();
            application.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        } //End of Main Method
    //Libraries
    import java.awt.*;
    import java.io.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.ActionMap;
    import javax.swing.plaf.*;
    public class Levels extends Objects
        implements KeyListener
        //static final String newline = System.getProperty ("line.separator");
        JButton button;
        private JFrame frame = new JFrame ();
            //Sets location, size, and visiblity to the frame where the JOptionPane
            //will be placed
            frame.setLocation (600, 600);
            frame.setSize (1, 1);
            frame.setVisible (false);
        JButton button1;
        public int xCord = 2;
        public int yCord = 2;
        public void LevelOne (Graphics g, JPanel one, GridBagConstraints gbc)
        //    button = new JButton ("TEST");
        //    ButtonHandler handler = new ButtonHandler ();
         //   button.addActionListener (handler);
          //  one.add (button);
            g.setColor (Color.white);
            g.fillRect (500, 100, 200, 300);
            g.setColor (Color.black);
            g.drawRect (500, 100, 200, 300);
            g.setFont (new Font ("Verdana", Font.BOLD, 25));
            g.setColor (Color.black);
            g.drawString ("LEVEL ONE", 525, 80);
            //ROW ONE
            counter = -80;
            counter2 = 200;
            for (int a = 1 ; a <= 7 ; ++a)
                if (xCord < a && yCord == 0)
                    g.setColor (darkGray);
                    g.fillRect (xLoc + counter, yLoc - 80, 40, 40);
                    g.setColor (Color.black);
                    g.drawRect (xLoc + counter, yLoc - 80, 40, 40);
                if (xCord > a - 1 && yCord == 0)
                    g.setColor (darkGray);
                    g.fillRect (xLoc + counter2, yLoc - 80, 40, 40);
                    g.setColor (Color.black);
                    g.drawRect (xLoc + counter2, yLoc - 80, 40, 40);
                counter += 40;
                counter2 += 40;
            int y = 100;
            int x = 100;
            for (int a = 0 ; a < 20 ; ++a)
                g.setColor (Color.white);
                g.fillRoundRect (x, y, 40, 40, 5, 5);
                g.setColor (Color.black);
                g.drawRoundRect (x, y, 40, 40, 5, 5);
                y += 40;
                if (a == 9)
                    x += 320;
                    y = 100;
            x = 140;
            y = 100;
            for (int a = 0 ; a < 14 ; ++a)
                g.setColor (Color.white);
                g.fillRoundRect (x, y, 40, 40, 5, 5);
                g.setColor (Color.black);
                g.drawRoundRect (x, y, 40, 40, 5, 5);
                x += 40;
                if (a == 6)
                    x = 140;
                    y += 360;
            g.setColor (Color.black);
            g.drawRect (100, 100, 360, 400);
            ImageIcon[] images = new ImageIcon [4];
            images [0] = new ImageIcon ("arrow_left.gif");
            images [1] = new ImageIcon ("arrow_up.gif");
            images [2] = new ImageIcon ("arrow_down.gif");
            images [3] = new ImageIcon ("arrow_right.gif");
            int direction = -1;
            //frame.setVisible (true);
            // direction = JOptionPane.showOptionDialog (frame, "Choose Your //\Path:", "Trapped", JOptionPane.YES_NO_CANCEL_OPTION,
            //         JOptionPane.QUESTION_MESSAGE,
            //         null,
            //         images,
            //         images [3]);
            // if (direction == 0)
            //     if (xCord - 1 > 0)
            //         xCord -= 1;
            //         xLoc += 40;
            // if (direction == 1)
            //     if (yCord - 1 > 0)
            //         yCord -= 1;
            //         yLoc += 40;
            // if (direction == 2)
            //     if (yCord + 1 < 9)
            //         yCord += 1;
            //         yLoc -= 40;
            // if (direction == 3)
            //     if (xCord + 1 < 13)
            //         xCord += 1;
            //         xLoc -= 40;
            one.addKeyListener (this);
            // one.add (button1);
            if (xCord == 1)
                LevelOne (g, one, gbc);
        /** Handle the key typed event from the text field. */
        public void keyTyped (KeyEvent e)
        /** Handle the key pressed event from the text field. */
        public void keyPressed (KeyEvent e)
            if (e.getSource () == "Up")
                JOptionPane.showMessageDialog (null, "Hi", "Hi", 0, null);
        /** Handle the key released event from the text field. */
        public void keyReleased (KeyEvent e)
            // displayInfo (e, "KEY RELEASED: ");
    }

  • How to use an object's paint method

    I have created a class imagePanel which extends a jPanel to display an image. When I create a new imagePanel object I pass it an image argument which is used to paint my image on the jPanel, so far so good. I don't wish to have to continuously create new ImamePanels to display new images so I thought I could make a set_Image method that would set a new image in an exising imagePanel object. This is where I run into problems how to use the existing object paint method to replace the image. I tried this without success:
    public Image setMyImage (Image myImage)
    imageX = myImage; // imageX is the image that is painted by the imagePanel object's paint method
    paint(g);
    Something must be wrong on how I access the paint method. Thanks for any help.
    Jack

    Yahoooo, got it. This was the code I needed and thanks for your help:
    public void setImage (Image myImage)
    imageX = myImage;
    repaint(300);
    }

Maybe you are looking for

  • Windows 7 ITUNES HELP!

    Hello everyone, So here is my problem, when I start up Itunes, the Itunes store loads but when "Genius" is gathering information from my library the app quits. A window pops up and informs me that a "problem has occured with Itunes".  it then goes on

  • Incoherence between FMIOI and FMIFIIT

    Hello, I work in ECC 6.0 with Former Budget. I have problem with FM account assignment in purchase order for services. I created a purchase order with 1 line item and 2 lines in the item details with 2 differents commitment items in the item details.

  • IPhoto 09 loses date on auto-rotated photos

    Try that: take an old photo in portrait mode (auto-rotated from a camera, mine is a Canon) from your iPhoto library, drag it to the desktop, and drag it back to iPhoto. The new photo imported has lost its original date, its date is now the importing

  • Oracle Replication and SQL*Load direct Path

    We are setting up Oracle replication and have a few tables which are loaded using SQL*Loader Direct path. I have following questions: 1. Can MultiMaster replication replicate direct patch sqlloaded data. 2. If the answer to the above question is no,

  • Why doesnt my keyboard/sound work and my safari keep glitching?

    my macbook pro has been messing up frequently for the last couple weeks. It started with some of the letters on my keyboard not working, but then a couple days later fixing itself. But now my shift button broke on its own so everything is in shift, m