<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
    <title>
      Java toolbar actions
    </title>
    <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css">
  </head>
  <body>
    <h1>
      Java toolbar actions
    </h1>
    <br>
     <br>
     
    <table border="1" cellspacing="0" cellpadding="5">
      <caption>
        Java Actions<br>
      </caption>
      <tbody>
        <tr>
          <th>
            <p>
              Toolbar Button
            </p>
          </th>
          <th>
            <p>
              Command
            </p>
          </th>
          <th>
            Description
          </th>
        </tr>
        <tr>
          <td align="left" valign="top">
            <img src="../images/org.eclipse.jdt.ui/etool16/newjprj_wiz.png" alt="Create a Java Project"  align="center">
          </td>
          <td align="left" valign="top">
            <p>
              Create a Java Project
            </p>
          </td>
          <td align="left" valign="top">
            <p>
              This command helps you create a new Java project.
            </p>
            <br>
             <a href="ref-121.htm">See New Java Project Wizard</a>
          </td>
        </tr>
        <tr>
          <td align="left" valign="top">
            <img src="../images/org.eclipse.jdt.ui/etool16/newpack_wiz.png" alt="Create a Java Package"  align="center">
          </td>
          <td align="left" valign="top">
            <p>
              Create a Java Package
            </p>
          </td>
          <td align="left" valign="top">
            <p>
              This command helps you create a new Java package.
            </p>
            <br>
             <a href="ref-125.htm">See New Java Package Wizard</a>
          </td>
        </tr>
        <tr>
          <td align="left" valign="top">
            <img src="../images/org.eclipse.jdt.ui/etool16/newclass_wiz.png" alt="Create a Java Class"  align="center">
          </td>
          <td align="left" valign="top">
            <p>
              Create a Java Class
            </p>
          </td>
          <td align="left" valign="top">
            <p>
              This command helps you create a new Java class.
            </p>
            <br>
             <a href="ref-126.htm">See New Java Class Wizard</a>
          </td>
        </tr>
        <tr>
          <td align="left" valign="top">
            <img src="../images/org.eclipse.jdt.ui/etool16/newenum_wiz.png" alt="Create a Java Enum"  align="center">
          </td>
          <td align="left" valign="top">
            <p>
              Create a Java enum
            </p>
          </td>
          <td align="left" valign="top">
            <p>
              This command helps you create a new Java enum.
            </p>
            <br>
             <a href="ref-126b.htm">See New Java Enum Wizard</a>
          </td>
        </tr>
        <tr>
          <td align="left" valign="top">
            <img src="../images/org.eclipse.jdt.ui/etool16/newint_wiz.png" alt="Create a Java Interface"  align="center">
          </td>
          <td align="left" valign="top">
            <p>
              Create a Java Interface
            </p>
          </td>
          <td align="left" valign="top">
            <p>
              This command helps you create a new Java interface.
            </p>
            <br>
             <a href="ref-127.htm">See New Java Interface Wizard</a>
          </td>
        </tr>
        <tr>
          <td align="left" valign="top">
            <img src="../images/org.eclipse.jdt.ui/etool16/newannotation_wiz.png" alt="Create a Java annotation"  align="center">
          </td>
          <td align="left" valign="top">
            <p>
              Create a Java annotation
            </p>
          </td>
          <td align="left" valign="top">
            <p>
              This command helps you create a new Java annotation.
            </p>
            <br>
             <a href="ref-127b.htm">See New Java Annotation Wizard</a>
          </td>
        </tr>
        <tr>
          <td align="left" valign="top">
            <img src="../images/org.eclipse.jdt.ui/etool16/newsbook_wiz.png" alt="Create a Scrapbook Page"  align="center">
          </td>
          <td align="left" valign="top">
            <p>
              Create a Scrapbook Page
            </p>
          </td>
          <td align="left" valign="top">
            <p>
              This command helps you create a new Java scrapbook page for experimenting with Java expressions.
            </p>
            <br>
             <a href="ref-129.htm">See New Java Scrapbook Page Wizard</a>
          </td>
        </tr>
        <tr>
          <td align="left" valign="top">
            <img src="../images/org.eclipse.jdt.ui/etool16/opentype.png" alt="Open Type"  align="center">
          </td>
          <td align="left" valign="top">
            <p>
              Open Type
            </p>
          </td>
          <td align="left" valign="top">
            <p>
              This command allows you to browse the workspace for a type to open in the defined default Java editor. You can optionally choose to display the type simultaneously
              in the Hierarchy view.
            </p>
            <dl>
              <dt>
                <strong>Select a type to open</strong>:
              </dt>
              <dd>
				In this field, type the first few characters of the type you want to open in an editor. You may use wildcards as needed
        (&quot;<em>?</em>&quot; for any character, &quot;<em>*</em>&quot; for any string, and &quot;<em>TZ</em>&quot; for types containing &quot;<em>T</em>&quot; and &quot;<em>Z</em>&quot; as upper-case letters in camel-case notation, <code>e.g. java.util.TimeZone</code>).
              </dd>
              <dt>
                <strong>Matching Types</strong>:
              </dt>
              <dd>
                This list displays matches for the expression you type in the <strong>Select a type to open</strong> field.
              </dd>
            </dl>
          </td>
        </tr>
      </tbody>
    </table>
    <p>
      <br>
       <img  src="../images/ngrelc.png" alt="Related concepts" border="0">
    </p>
    <p>
      <a href="../concepts/concepts-1.htm">Java development tools (JDT)</a>
    </p>
    <p>
      <img border="0"  src="../images/ngrelt.png" alt="Related tasks">
    </p>
     <a href="../tasks/tasks-76.htm">Opening an editor on a type</a> 
    <p>
       <img src="../images/ngrelr.png"  alt="Related reference">
    </p>
    <p>
      <a href="ref-121.htm">New Java Project wizard</a><br>
       <a href="ref-125.htm">New Java Package wizard</a><br>
       <a href="ref-126.htm">New Java Class wizard</a><br>
       <a href="ref-126b.htm">New Java Enum wizard</a><br>
       <a href="ref-127.htm">New Java Interface wizard</a><br>
       <a href="ref-127b.htm">New Java Annotation wizard</a><br>
       <a href="ref-129.htm">New Java Scrapbook Page wizard</a><br>
       <a href="views/ref-viewsandeditors.htm">Views and editors</a><br>
    </p>
    
  </body>
</html>

