⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gallery.java

📁 java 完全探索的随书源码
💻 JAVA
字号:
// Gallery.java

import java.awt.*;
import java.awt.event.*;

class Gallery extends Frame implements ActionListener
{
   public Insets getInsets ()
   {
      return new Insets (50, 50, 20, 50);
   }

   Gallery (String title)
   {
      super (title);

      addWindowListener (new WindowAdapter ()
                         {
                             public void windowClosing (WindowEvent e)
                             {
                                System.exit (0);
                             }
                         });

      Menu file = new Menu ("File");

      MenuItem mi = new MenuItem ("Open...",
                                  new MenuShortcut (KeyEvent.VK_O));
      file.add (mi);

      mi = new MenuItem ("Save...", new MenuShortcut (KeyEvent.VK_S));
      file.add (mi);

      file.addSeparator ();

      mi = new CheckboxMenuItem ("Autosave", true);
      file.add (mi);

      file.addSeparator ();

      mi = new MenuItem ("Exit");
      mi.addActionListener (this);
      file.add (mi);

      MenuBar mb = new MenuBar ();
      mb.add (file);
      setMenuBar (mb);

      Panel p = new Panel ();
      p.setLayout (new GridLayout (4, 1));

      Panel p1 = new Panel ();
      p1.add (new Label ("Employee:"));
      TextField tf = new TextField (20);
      tf.setText ("John Doe");
      p1.add (tf);

      p.add (p1);

      p1 = new Panel ();
      p1.add (new Label ("Occupation:"));
      Choice c = new Choice ();
      c.add ("Programmer");
      c.add ("Analyst");
      c.add ("Manager");
      p1.add (c);

      p.add (p1);

      p1 = new Panel ();
      p1.add (new Label ("Performance review:"));
      CheckboxGroup cbg = new CheckboxGroup ();
      Checkbox cb = new Checkbox ("Passed", true, cbg);
      p1.add (cb);
      cb = new Checkbox ("Failed", false, cbg);
      p1.add (cb);

      p.add (p1);

      p1 = new Panel ();
      p1.add (new Checkbox ("Recommend salary increment", true));

      p.add (p1);

      add ("North", p);

      p = new Panel ();
      p.setLayout (new BorderLayout ());
      p.add ("North", new Label ("Subscribed Magazines:"));
      List l = new List ();
      l.add ("Byte");
      l.add ("Dr. Dobbs");
      l.add ("JavaWorld");
      l.add ("PC Magazine");
      l.add ("Wired");
      l.setMultipleMode (true);
      l.select (1);
      l.select (4);
      p.add ("Center", l);

      add ("West", p);

      p = new Panel ();
      p.setLayout (new BorderLayout ());

      p1 = new Panel ();
      p1.add (new surface ());

      p.add ("North", p1);

      p1 = new Panel ();
      p1.setLayout (new BorderLayout ());
      p1.add ("North", new Label ("Salary Increment:", Label.CENTER));
      Panel p2 = new Panel ();
      p2.add (new Label ("$0"));
      p2.add (new Scrollbar (Scrollbar.HORIZONTAL, 175, 1, 0, 200));
      p2.add (new Label ("$200"));
      p1.add ("Center", p2);

      p.add ("Center", p1);

      add ("Center", p);

      p = new Panel ();
      p.setLayout (new BorderLayout ());
      p.add ("North", new Label ("Notes:"));
      TextArea ta = new TextArea (5, 17);
      ta.setText ("John is a hard\nworker and always\ngets the job " +
                  "done on\ntime.");
      p.add ("Center", ta);

      add ("East", p);

      p = new Panel ();
      Button b;
      p.add (b = new Button ("Print performance review"));
      b.addActionListener (this);

      add ("South", p);

      setSize (550, 400);

      setVisible (true);
   }

   public void actionPerformed (ActionEvent e)
   {
      System.exit (0);
   }

   public static void main (String [] args)
   {
      new Gallery ("A gallery of components");
   }
}

class surface extends Canvas
{
   public Dimension getPreferredSize ()
   {
      return new Dimension (100, 100);
   }

   public void paint (Graphics g)
   {
      Dimension d = getSize ();

      g.drawLine (0, 0, d.width - 1, 0);
      g.drawLine (d.width - 1, 0, d.width - 1, d.height - 1);
      g.drawLine (d.width - 1, d.height - 1, 0, d.height - 1);
      g.drawLine (0, d.height - 1, 0, 0);

      g.setColor (Color.red);

      int cx = d.width / 2;
      int cy = d.height / 2;

      for (int i = 0; i < 10; i++)
           g.drawOval (cx - i * 2, cy - i * 2, i * 4, i * 4);

      g.setColor (Color.blue);

      FontMetrics fm = g.getFontMetrics ();

      g.drawString ("Model",
                    (d.width - fm.stringWidth ("Model")) / 2, 20);
      g.drawString ("employee",
                    (d.width - fm.stringWidth ("employee")) / 2,
                    d.height - 10);

   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -