Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Page 1 of 2 12 LastLast
Results 1 to 25 of 34

Thread: Add drawing function MouseMotionEventListener program?

  1. #1
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Add drawing function MouseMotionEventListener program?

    Posting this again since my original post accidentally got removed!


    So I'm using these 2 pre-written demo-files:
    Java Tutorials Sample Code
    Java Tutorials Sample Code

    if you go to this webpage you'll see an image of what the applet does: How to Write a Mouse-Motion Listener (The Java™ Tutorials > Creating a GUI With JFC/Swing > Writing Event Listeners)

    What I'm trying to do is just add the ability to draw when the mouse is clicked (dragged), nothing fancy, just a black line. Maybe add a reset button or something, but I've had no luck!


    I don't need any sort of super deep help, I just want to be able to draw on the yellow space


  2. #2
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Please post your code and ask questions about your problems.
    If you don't understand my answer, don't ignore it, ask a question.

  3. #3
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Quote Originally Posted by Norm View Post
    Please post your code and ask questions about your problems.
    I posted the code in the links, I took out my code because it was basic java stuff, using Graphics G and drawLine using the previous X,Y coords and the current ones

  4. #4
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Post the code here that you are having problems with. No links. Also post the full text of any error messages you are having problems with.

    Or if you are still trying to design the program, ask some specific questions about the problems you are having.
    If you don't understand my answer, don't ignore it, ask a question.

  5. #5
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Should I post the full code of both java files? One just sets the blank area for the applet and the other does all the dirty work

  6. #6
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Post the code you are working on.
    If you don't understand my answer, don't ignore it, ask a question.

  7. #7
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    void eventOutput(String eventDescription, MouseEvent e) {
    textArea.append(eventDescription
    + " (" + e.getX() + "," + e.getY() + ")"
    + " detected on "
    + e.getComponent().getClass().getName()
    + NEWLINE);
    lastX = e.getX();
    lastY = e.getY();
    textArea.setCaretPosition(textArea.getDocument().g etLength());
    }

    public void mouseMoved(MouseEvent e) {
    eventOutput("Mouse moved", e);
    }

    public void mouseDragged(MouseEvent e) {
    eventOutput("Mouse dragged", e);
    }

    private class MyListener extends MouseInputAdapter {
    public void mousePressed(MouseEvent e) {
    repaint();
    }

    }
    public void paint(Graphics g, MouseEvent e){
    g.setColor(Color.black);
    drawCoordinates(g,e);
    }

    private void drawCoordinates(Graphics g, MouseEvent e){
    g.drawLine(lastX, lastY, e.getX(), e.getY());
    }
    }


    This is the code I'm working on, no errors, just no output. Like I said I'm a Java newbie.
    I can't figure out exactly what I have to do to get this thing to draw properly

  8. #8
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    You need to post a complete program if you want anyone to help with the testing.

    What code calls the paint() method in the code? That method does not override the Component class's paint method and will not be called by the java program. See the API doc for the correct signature for the method's definition.

    Use the @Override notation on a line before the definition of any methods that you are trying to override to have the compiler check that the override is valid.

    Also be sure to wrap your code with
    [code=java]
    <YOUR CODE HERE>
    [/code]
    to get highlighting and preserve formatting.


    This tutorial might help: http://docs.oracle.com/javase/tutori...ing/index.html
    Last edited by Norm; September 1st, 2012 at 03:17 PM.
    If you don't understand my answer, don't ignore it, ask a question.

  9. #9
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    package events;
     
    /*
     * MouseMotionEventDemo.java
     *
     */
     
    import java.awt.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionListener;
    import javax.swing.*;
    import javax.swing.event.MouseInputAdapter;
     
     
    public class MouseMotionEventDemo extends JPanel
            implements MouseMotionListener {
        BlankArea blankArea;
        JTextArea textArea;
        int lastX=0, lastY=0;
        static final String NEWLINE = System.getProperty("line.separator");
     
        public static void main(String[] args) {
            /* Use an appropriate Look and Feel */
            try {
                //UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                //UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
                UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
            } catch (UnsupportedLookAndFeelException ex) {
                ex.printStackTrace();
            } catch (IllegalAccessException ex) {
                ex.printStackTrace();
            } catch (InstantiationException ex) {
     
                ex.printStackTrace();
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            }
            /* Turn off metal's use of bold fonts */
            UIManager.put("swing.boldMetal", Boolean.FALSE);
     
            //Schedule a job for the event dispatch thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
     
        /**
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
         */
        private static void createAndShowGUI() {
            //Create and set up the window.
            JFrame frame = new JFrame("MouseMotionEventDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
            //Create and set up the content pane.
            JComponent newContentPane = new MouseMotionEventDemo();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);
     
            //Display the window.
            frame.pack();
            frame.setVisible(true);
        }
     
        public MouseMotionEventDemo() {
            super(new GridLayout(0,1));
            blankArea = new BlankArea(Color.YELLOW);
            add(blankArea);
     
            textArea = new JTextArea();
            textArea.setEditable(false);
            JScrollPane scrollPane = new JScrollPane(textArea,
                    JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                    JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            scrollPane.setPreferredSize(new Dimension(200, 75));
     
            add(scrollPane);
     
            //Register for mouse events on blankArea and panel.
            blankArea.addMouseMotionListener(this);
            addMouseMotionListener(this);
     
            setPreferredSize(new Dimension(450, 450));
            setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
        }
     
        void eventOutput(String eventDescription, MouseEvent e) {
            textArea.append(eventDescription
                    + " (" + e.getX() + "," + e.getY() + ")"
                    + " detected on "
                    + e.getComponent().getClass().getName()
                    + NEWLINE);
            lastX = e.getX();
            lastY = e.getY();
            textArea.setCaretPosition(textArea.getDocument().getLength());
        }
     
       public void mouseMoved(MouseEvent e) {
            eventOutput("Mouse moved", e);
        }
     
        public void mouseDragged(MouseEvent e) {
            eventOutput("Mouse dragged", e);    
        }
     
        private class MyListener extends MouseInputAdapter {
                public void mousePressed(MouseEvent e) {
                    repaint();
                }
     
        }
        public void paint(Graphics g, MouseEvent e){
        g.setColor(Color.black);
            drawCoordinates(g,e);
        }
     
        private void drawCoordinates(Graphics g, MouseEvent e){
            g.drawLine(lastX, lastY, e.getX(), e.getY());
            repaint();
        }
    }

    There's the complete code; like I said I'm not very good with java so I honestly barely know where to start. I've looked up tons of stuff on paint() and Graphics g and such, and I've gotten it to work by itself (just a simple whiteboard app), but I cannot seem to get it to work here. I think the problem is I just don't know where exactly to put things

  10. #10
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    I'm pretty sure my paint and drawCoordinates functions are completely wrong, I was just trying things to get it to work

    EDIT: heres the BlankArea.Java code, this is needed also
     
    package events;
     
    /*
     * BlankArea.java is used by:
     *    MouseEventDemo.java.
     *    MouseMotionEventDemo.java
     */
     
    import javax.swing.*;
    import java.awt.Dimension;
    import java.awt.Color;
    import java.awt.Event;
    import java.awt.Graphics;
     
    public class BlankArea extends JLabel {
        Dimension minSize = new Dimension(100, 50);
     
     
        public BlankArea(Color color) {
            setBackground(color);
            setOpaque(true);
            setBorder(BorderFactory.createLineBorder(Color.black));
        }
    }

  11. #11
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Did you read all of my last post? There is a link to the tutorial you should read.
    If you have questions about the rest of my last post you need to ask. Otherwise I assume you understand what I said and are going to change your program to fix the problems I pointed out.
    Last edited by Norm; September 1st, 2012 at 03:26 PM.
    If you don't understand my answer, don't ignore it, ask a question.

  12. #12
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    I read that and am working through it, this is what I have so far and I'm getting an error on "frame.add(new MyPanel());"

    The error is "non-static variable this cannot be referenced from a static context"

    package events;
     
    /*
     * MouseMotionEventDemo.java
     *
     */
     
    import java.awt.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionListener;
    import javax.swing.*;
    import javax.swing.event.MouseInputAdapter;
    import java.awt.Color;
    import java.awt.Graphics;
    import javax.swing.JPanel;
     
     
     
    public class MouseMotionEventDemo extends JPanel
            implements MouseMotionListener {
        BlankArea blankArea;
        JTextArea textArea;
        int lastX=0, lastY=0;
        static final String NEWLINE = System.getProperty("line.separator");
     
        public static void main(String[] args) {
            /* Use an appropriate Look and Feel */
            try {
                //UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                //UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
                UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
            } catch (UnsupportedLookAndFeelException ex) {
                ex.printStackTrace();
            } catch (IllegalAccessException ex) {
                ex.printStackTrace();
            } catch (InstantiationException ex) {
     
                ex.printStackTrace();
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            }
            /* Turn off metal's use of bold fonts */
            UIManager.put("swing.boldMetal", Boolean.FALSE);
     
            //Schedule a job for the event dispatch thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
     
        /**
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
         */
        private static void createAndShowGUI() {
            //Create and set up the window.
            JFrame frame = new JFrame("MouseMotionEventDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
            //Create and set up the content pane.
            JComponent newContentPane = new MouseMotionEventDemo();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);
     
            //Display the window.
            frame.pack();
            frame.add(new MyPanel());
            frame.setVisible(true);
     
        }
     
        public MouseMotionEventDemo() {
            super(new GridLayout(0,1));
            blankArea = new BlankArea(Color.YELLOW);
            add(blankArea);
     
            textArea = new JTextArea();
            textArea.setEditable(false);
            JScrollPane scrollPane = new JScrollPane(textArea,
                    JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                    JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            scrollPane.setPreferredSize(new Dimension(200, 75));
     
            add(scrollPane);
     
            //Register for mouse events on blankArea and panel.
            blankArea.addMouseMotionListener(this);
            addMouseMotionListener(this);
     
            setPreferredSize(new Dimension(450, 450));
            setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
        }
     
        void eventOutput(String eventDescription, MouseEvent e) {
            textArea.append(eventDescription
                    + " (" + e.getX() + "," + e.getY() + ")"
                    + " detected on "
                    + e.getComponent().getClass().getName()
                    + NEWLINE);
            lastX = e.getX();
            lastY = e.getY();
            textArea.setCaretPosition(textArea.getDocument().getLength());
        }
     
       public void mouseMoved(MouseEvent e) {
            eventOutput("Mouse moved", e);
        }
     
        public void mouseDragged(MouseEvent e) {
            eventOutput("Mouse dragged", e);    
        }
     
        private class MyListener extends MouseInputAdapter {
                public void mousePressed(MouseEvent e) {
                    repaint();
                }
     
        }
        class MyPanel extends JPanel {
            public MyPanel() {
                setBorder(BorderFactory.createLineBorder(Color.black));
            }
            public Dimension getPreferredSize() {
                return new Dimension(450,450);
            }
            public void paintComponent(Graphics g) {
                super.paintComponent(g);
                g.drawString("Custom Panellll", 10, 20);
            }
        }
    }


    the code Im having issues with is in the createAndShowGUI function

  13. #13
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    "non-static variable this cannot be referenced from a static context"
    Can you post the full text of the error message that shows where it happens?

    The error happens when code in a static method (like main()) tries to access a variable in a class without creating an instance of the class first. If there is no instance of the class, the variable does not exist yet.
    If you don't understand my answer, don't ignore it, ask a question.

  14. #14
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    The error is "C:\Users\Chris\Desktop\events-MouseEventDemoProject\events-MouseEventDemoProject\src\events\MouseMotionEventD emo.java:102: error: non-static variable this cannot be referenced from a static context
    frame.add(new MyPanel()); "

  15. #15
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    The MyPanel class only exists when there is an instance of the MouseMotionEventDemo class.
    Either move its definition outside the MouseMotionEventDemo class's definition or make it static.
    If you don't understand my answer, don't ignore it, ask a question.

  16. #16
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Yup that solved the error! But now that it runs, the text that i have it drawing doesn't show up?

    /*
     * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     *   - Redistributions of source code must retain the above copyright
     *     notice, this list of conditions and the following disclaimer.
     *
     *   - Redistributions in binary form must reproduce the above copyright
     *     notice, this list of conditions and the following disclaimer in the
     *     documentation and/or other materials provided with the distribution.
     *
     *   - Neither the name of Oracle or the names of its
     *     contributors may be used to endorse or promote products derived
     *     from this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
     * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     */ 
     
    package events;
     
    /*
     * MouseMotionEventDemo.java
     *
     */
     
    import java.awt.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionListener;
    import javax.swing.*;
    import javax.swing.event.MouseInputAdapter;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.util.HashSet;
    import java.util.Set;
    import javax.swing.JPanel;
     
     
        class MyPanel extends JPanel {
            public MyPanel() {
                setBorder(BorderFactory.createLineBorder(Color.black));
            }
            @Override
            public Dimension getPreferredSize() {
                return new Dimension(450,450);
            }
            @Override
            public void paintComponent(Graphics g) {
                super.paintComponent(g);
                g.setColor(Color.black);
                g.drawString("Custom Panellll", 100, 200);
            }
        }
     
    public class MouseMotionEventDemo extends JPanel
            implements MouseMotionListener {
        BlankArea blankArea;
        JTextArea textArea;
        static final String NEWLINE = System.getProperty("line.separator");
     
        public static void main(String[] args) {
            /* Use an appropriate Look and Feel */
            try {
                //UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                //UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
                UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
            } catch (UnsupportedLookAndFeelException ex) {
                ex.printStackTrace();
            } catch (IllegalAccessException ex) {
                ex.printStackTrace();
            } catch (InstantiationException ex) {
     
                ex.printStackTrace();
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            }
            /* Turn off metal's use of bold fonts */
            UIManager.put("swing.boldMetal", Boolean.FALSE);
     
            //Schedule a job for the event dispatch thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
     
        /**
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
         */
        private static void createAndShowGUI() {
            //Create and set up the window.
            JFrame frame = new JFrame("MouseMotionEventDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
            //Create and set up the content pane.
            JComponent newContentPane = new MouseMotionEventDemo();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);
     
            //Display the window.
            frame.pack();
            frame.setVisible(true);
     
        }
     
        public MouseMotionEventDemo() {
            super(new GridLayout(0,1));
            blankArea = new BlankArea(Color.YELLOW);
            add(blankArea);
     
            textArea = new JTextArea();
            textArea.setEditable(false);
            JScrollPane scrollPane = new JScrollPane(textArea,
                    JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                    JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            scrollPane.setPreferredSize(new Dimension(200, 75));
     
            add(scrollPane);
     
            //Register for mouse events on blankArea and panel.
            blankArea.addMouseMotionListener(this);
            addMouseMotionListener(this);
     
            setPreferredSize(new Dimension(450, 450));
            setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
        }
     
     
        void eventOutput(String eventDescription, MouseEvent e) {
            textArea.append(eventDescription
                    + " (" + e.getX() + "," + e.getY() + ")"
                    + " detected on "
                    + e.getComponent().getClass().getName()
                    + NEWLINE);
            textArea.setCaretPosition(textArea.getDocument().getLength());
        }
     
       public void mouseMoved(MouseEvent e) {
            eventOutput("Mouse moved", e);
        }
     
        public void mouseDragged(MouseEvent e) {
            eventOutput("Mouse dragged", e);    
        }
     
        private class MyListener extends MouseInputAdapter {
            @Override
                public void mousePressed(MouseEvent e) {
                    repaint();
                }
     
        }
     
    }

    as you can see i moved the MyPanel class above the MouseMotionEventDemo class.

  17. #17
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    the text that i have it drawing doesn't show up?
    What text and where is it being drawn?
    If you don't understand my answer, don't ignore it, ask a question.

  18. #18
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    in the public void paintComponent I have the drawString try to draw "Custom Panellll" at 100,200

  19. #19
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    That's strange. It worked for the code posted in post#12.

    What did you change besides moving the location of the MyPanel class definition?
    Attached Images Attached Images
    Last edited by Norm; September 1st, 2012 at 04:16 PM.
    If you don't understand my answer, don't ignore it, ask a question.

  20. #20
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Edit: nevermind I recopied the code from post 12 and it works just like you showed, but Id like the text to be IN the area above the box that shows the coords

  21. #21
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    1.jpg

    so here i'd want it to be in the yellow area

  22. #22
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Look at the attached image in post#19. It shows the text being drawn. That from the code in post#12.
    Look at the code in post #12 and see what has been changed.
    How many versions of the code do you have? It's best to only have one to keep from getting confused.

    I created a simple BlankArea class for testing and commented out the yellow bit.
    If you don't understand my answer, don't ignore it, ask a question.

  23. #23
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    Quote Originally Posted by Norm View Post
    Look at the attached image in post#19. It shows the text being drawn. That from the code in post#12.
    Look at the code in post #12 and see what has been changed.
    How many versions of the code do you have? It's best to only have one to keep from getting confused.

    I created a simple BlankArea class for testing and commented out the yellow bit.
    I got it to work in post 21
    But i'd still like the text to be drawn inside the yellow area

  24. #24
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,140
    Thanks
    65
    Thanked 2,720 Times in 2,670 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    i'd want it to be in the yellow area
    You need to post the code for the class the defines the yellow area.
    The drawString() call in MyPanel works. Have you tried copying that code?
    If you don't understand my answer, don't ignore it, ask a question.

  25. #25
    Member
    Join Date
    Sep 2012
    Posts
    65
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Add drawing function MouseMotionEventListener program?

    public MouseMotionEventDemo() {
            super(new GridLayout(0,1));
            blankArea = new BlankArea(Color.YELLOW);
            add(blankArea);
     
            textArea = new JTextArea();
            textArea.setEditable(false);
            JScrollPane scrollPane = new JScrollPane(textArea,
                    JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                    JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            scrollPane.setPreferredSize(new Dimension(200, 75));
     
            add(scrollPane);
     
            //Register for mouse events on blankArea and panel.
            blankArea.addMouseMotionListener(this);
            addMouseMotionListener(this);
     
            setPreferredSize(new Dimension(450, 450));
            setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
        }

    thats what creates the yellow area

Page 1 of 2 12 LastLast

Similar Threads

  1. [SOLVED] Problem with a simple drawing program
    By Saiimon in forum What's Wrong With My Code?
    Replies: 6
    Last Post: May 24th, 2012, 03:45 PM
  2. Drawing activation stack for program with Exception
    By InfiinteSound in forum Exceptions
    Replies: 9
    Last Post: March 4th, 2012, 03:16 PM
  3. Validation based program that doesn't function properly
    By kratos75 in forum What's Wrong With My Code?
    Replies: 2
    Last Post: October 28th, 2011, 06:34 AM
  4. Line Drawing Program
    By The_Mexican in forum What's Wrong With My Code?
    Replies: 5
    Last Post: November 13th, 2010, 03:54 PM
  5. How To Make The Program Jump To The Next Function..
    By Kumarrrr in forum What's Wrong With My Code?
    Replies: 7
    Last Post: March 3rd, 2010, 12:33 AM