📄 gallery.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 + -