Wrox Programmer Forums
Go Back   Wrox Programmer Forums > Java > Other Java > Java GUI
|
Java GUI Discussions specific to programming Java GUI.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Java GUI section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old November 14th, 2005, 11:57 PM
Registered User
 
Join Date: Nov 2005
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via AIM to mikebauer Send a message via MSN to mikebauer
Default KeyListener without a text component

What do I need to change the SketchView class so that KeyListener
will respond to pressed key's. below is a Model/View Architecture of a GUI that I am using, but I cant get any key events. I dont want to use at text component.

// *************************************** START *
public class Sketcher {
  public static void main(String[] args) {
    theApp = new Sketcher();
    SwingUtilities.invokeLater(
       new Runnable() { // Anonymous Runnable class object
                        public void run() { // Run method executed in thread
                          theApp.creatGUI(); // Call static GUI creator
                        }
                      } );
  }

  // Method to create the application GUI
  private void creatGUI() {
    window = new SketchFrame("Sketcher", this); // Create the app window
    Toolkit theKit = window.getToolkit(); // Get the window toolkit
    Dimension wndSize = theKit.getScreenSize(); // Get screen size

    // Set the position to screen center & size to half screen size
    window.setBounds(wndSize.width/4, wndSize.height/4, // Position
                      wndSize.width/2, wndSize.height/2); // Size

    window.addWindowListener(new WindowHandler());// Add window listener
    sketch = new SketchModel(); // Create the model
    view = new SketchView(this); // Create the view
    sketch.addObserver(view); // Register view with the model
    window.getContentPane().add(view, BorderLayout.CENTER);
    window.setVisible(true);
  }

  // Return a reference to the application window
  public SketchFrame getWindow() {
     return window;
  }

  // Return a reference to the model
  public SketchModel getModel() {
     return sketch;
  }

  // Return a reference to the view
  public SketchView getView() {
     return view;
  }

  // Handler class for window events
  class WindowHandler extends WindowAdapter {
    // Handler for window closing event
    public void windowClosing(WindowEvent e) {
    }
  }

  private SketchModel sketch; // The data model for the sketch
  private SketchView view; // The view of the sketch

  private SketchFrame window; // The application window
  private static Sketcher theApp; // The application object
}

// *************************************** END *

// *************************************** START *

class SketchView extends JComponent implements Observer {
  public SketchView(Sketcher theApp) {
    this.theApp = theApp;
  }

  // Method called by Observable object when it changes
  public void update(Observable o, Object rectangle) {
    // Code to respond to changes in the model...
  }

  private Sketcher theApp; // The application object
}

// *************************************** END *

// *************************************** START *

public class SketchModel extends Observable implements Iterable<Element>{
    protected LinkedList<Element> elements = new LinkedList<Element>();

    public boolean remove(Element element){
        boolean removed = elements.remove(element);
        if(removed){
            setChanged();
            notifyObservers(element.getBounds());
        }
        return removed;
    }

    public void add(Element element){
        elements.add(element);
        setChanged();
        notifyObservers(element.getBounds());
    }

    public Iterator<Element> iterator(){
        return elements.iterator();
    }

}

// *************************************** END *








Similar Threads
Thread Thread Starter Forum Replies Last Post
Building a Rich Text Box Component using ASP.NET nitinmistry19 Classic ASP Basics 3 November 21st, 2008 08:24 AM
Promblem in KeyListener on JFrame bamboat_3 Java GUI 1 May 28th, 2005 03:09 AM
COM component with C# sangata General .NET 3 November 5th, 2004 04:10 PM
Is there such a component? SqUaRe48 Classic ASP Components 0 July 12th, 2003 12:04 PM
Building a Rich Text Box Component using ASP.NET nitinmistry19 ASP.NET 1.0 and 1.1 Basics 0 June 26th, 2003 11:43 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.