📄 demo.java
字号:
p.add (visible); visible.addItemListener (this); sensitive = new Checkbox("Sensitive", true); p.add (sensitive); sensitive.addItemListener (this); add (p, "Center"); Button cb = new Button ("Close"); cb.addActionListener(new ActionListener () { public void actionPerformed (ActionEvent e) { dispose(); } }); add (cb, "South"); setTitle ("TextField"); pack(); } public void itemStateChanged (ItemEvent e) { boolean on=true; if (e.getStateChange () == ItemEvent.DESELECTED) on=false; if (e.getSource() == editable) text.setEditable (on); if (e.getSource() == visible) if (on) text.setEchoChar ((char) 0); else text.setEchoChar ('*'); if (e.getSource() == sensitive) text.setEnabled (on); } } static class FileWindow extends FileDialog implements SubWindow { boolean initted = false; public FileWindow (MainWindow mw) { super (mw); } public void setVisible (boolean visible) { if (!initted && visible) init(); super.setVisible (visible); } public void init() { initted = true; } } static class LabelWindow extends SubFrame { public void init () { initted = true; Panel p = new Panel(); p.setLayout (new GridLayout (3, 1)); ((GridLayout) p.getLayout ()).setHgap (5); ((GridLayout) p.getLayout ()).setVgap (5); p.add (new Label ("left justified label", Label.LEFT)); p.add (new Label ("center justified label", Label.CENTER)); p.add (new Label ("right justified label", Label.RIGHT)); add (p, "Center"); Button cb = new Button ("Close"); cb.addActionListener(new ActionListener () { public void actionPerformed (ActionEvent e) { dispose(); } }); add (cb, "South"); setTitle ("Labels"); pack(); } } static class ListWindow extends SubFrame { public void init () { initted = true; Panel p = new Panel (); p.setLayout (new GridLayout (3, 1)); List l = new List (5, true); for (int i = 0; i < 10; i++) l.add ("List item " + i); p.add (l); add (p, "Center"); Button cb = new Button ("Close"); cb.addActionListener(new ActionListener () { public void actionPerformed (ActionEvent e) { dispose(); } }); add (cb, "South"); setTitle ("List"); pack(); } } static class RadioWindow extends SubFrame { public void init () { initted = true; Panel p = new Panel(); p.setLayout (new GridLayout (3, 1)); ((GridLayout) p.getLayout ()).setHgap (5); ((GridLayout) p.getLayout ()).setVgap (5); final CheckboxGroup cg = new CheckboxGroup(); final Checkbox[] boxes = new Checkbox[3]; for (int i = 0; i < 3; ++i) { boxes[i] = new Checkbox("button" + i, cg, i == 0); p.add(boxes[i]); } add (p, "North"); p = new Panel(); p.setLayout (new GridLayout (1, 3)); ((GridLayout) p.getLayout ()).setHgap (5); ((GridLayout) p.getLayout ()).setVgap (5); for (int i = 0; i < 3; ++i) { final int val = i; Button tweak = new Button ("Set " + i); tweak.addActionListener(new ActionListener () { public void actionPerformed (ActionEvent e) { cg.setSelectedCheckbox(boxes[val]); } }); p.add(tweak); } add (p, "Center"); Button cb = new Button ("Close"); cb.addActionListener(new ActionListener () { public void actionPerformed (ActionEvent e) { dispose(); } }); add (cb, "South"); setTitle ("Radio Buttons"); pack(); } } static class TestWindow extends SubFrame { static int xs = 5, ys = 5; final Frame parent; public TestWindow(Frame f) { parent = f; } public void init() { initted = true; addWindowListener (new WindowAdapter () { public void windowClosing (WindowEvent e) { hide (); } }); Panel pan = new Panel(); final Label l = new Label ("Pithy Message:"); l.setCursor (Cursor.getPredefinedCursor (Cursor.WAIT_CURSOR)); pan.add (l); TextField tf = new TextField("Hello world!"); pan.add(tf); add(pan,"North"); final Image img; URL imageurl; imageurl = this.getClass() .getResource("/gnu/classpath/examples/icons/big-warning.png"); img = Toolkit.getDefaultToolkit().createImage(imageurl); final Canvas ch = new Canvas() { public void paint (Graphics g) { g.drawImage(img, xs + 25, ys + 25, this); Font font = new Font ("Serif", Font.PLAIN, 18); g.setFont (font); g.setXORMode (Color.red); g.drawString("Hi Red!", xs + 15, ys + 10); g.setColor (Color.blue); g.drawLine (xs, ys, xs + 100, ys + 100); } }; ch.setSize(150, 150); add(ch, "Center"); final ScrollPane sp = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS); final Panel p = new Panel(); p.add(new Button("Stop")); p.add(new Button("evil")); p.add(new Button("hoarders")); p.add(new Button("use")); p.add(new Button("GNU!")); sp.add(p); add(sp, "South"); Panel east_panel = new Panel(); east_panel.setLayout(new GridLayout (0,1)); CheckboxGroup group = new CheckboxGroup(); Checkbox cb = new Checkbox("one", group, true); east_panel.add(cb); cb = new Checkbox("two", group, false); east_panel.add(cb); add(east_panel,"East"); final Button wb = new Button(); wb.setLabel("Hello World!"); wb.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent e) { l.setText ("Hello World!"); final Dialog d = new Dialog(parent); d.setLayout(new FlowLayout()); d.setModal(true); Button b = new Button("foobar"); b.addMouseListener(new MouseAdapter() { public void mousePressed (MouseEvent me) { d.hide (); } }); d.add (b); List ch = new List(); ch.add("Ding"); ch.add("September"); ch.add("Red"); ch.add("Quassia"); ch.add("Pterodactyl"); d.add(ch); d.pack (); d.show (); } }); wb.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { xs++; ys++; ch.repaint (); } }); add(wb,"West"); pack(); show(); sp.setScrollPosition (10,0); Toolkit t = Toolkit.getDefaultToolkit(); t.beep(); } } static class RoundRectWindow extends SubFrame { public void init () { initted = true; setTitle("RoundRect"); setLayout(new BorderLayout()); add(new DrawRoundRect(), "West"); Button cb = new Button ("Close"); cb.addActionListener(new ActionListener () { public void actionPerformed (ActionEvent e) { dispose(); } }); add(cb, "Center"); add(new FillRoundRect(), "East"); pack(); } static class DrawRoundRect extends Panel { public Dimension getPreferredSize() { return new Dimension(500, 500); } public void paint( Graphics g ) { // left side // rectangles should be identical g.setColor(Color.red); g.drawRect(50, 50, 300, 100); g.setColor(Color.black); g.drawRoundRect(50, 50, 300, 100, 0, 0); // small round corners g.setColor(Color.red); g.drawRect(50, 200, 300, 100); g.setColor(Color.black); g.drawRoundRect(50, 200, 300, 100, 25, 25); // round ends g.setColor(Color.red); g.drawRect(50, 350, 300, 100); g.setColor(Color.black); g.drawRoundRect(50, 350, 300, 100, 25, 100); // right side // circle only g.setColor(Color.blue); g.drawOval(375, 50, 100, 100); // round rectangle should exactly cover circle g.setColor(Color.blue); g.drawOval(375, 200, 100, 100); g.setColor(Color.black); g.drawRoundRect(375, 200, 100, 100, 100, 100); // round rectangle should look like a circle g.setColor(Color.red); g.drawRect(375, 350, 100, 100); g.setColor(Color.black); g.drawRoundRect(375, 350, 100, 100, 100, 100); } } static class FillRoundRect extends Panel { public Dimension getPreferredSize() { return new Dimension(500, 500); } public void paint( Graphics g ) { // left side // rectangles should be identical g.setColor(Color.red); g.fillRect(50, 50, 300, 100); g.setColor(Color.black); g.fillRoundRect(50, 50, 300, 100, 0, 0); // small round corners g.setColor(Color.red); g.fillRect(50, 200, 300, 100); g.setColor(Color.black); g.fillRoundRect(50, 200, 300, 100, 25, 25); // round ends g.setColor(Color.red); g.fillRect(50, 350, 300, 100); g.setColor(Color.black); g.fillRoundRect(50, 350, 300, 100, 25, 100); // right side // circle only g.setColor(Color.blue); g.fillOval(375, 50, 100, 100); // round rectangle should exactly cover circle g.setColor(Color.blue); g.fillOval(375, 200, 100, 100); g.setColor(Color.black); g.fillRoundRect(375, 200, 100, 100, 100, 100); // round rectangle should look like a circle g.setColor(Color.red); g.fillRect(375, 350, 100, 100); g.setColor(Color.black); g.fillRoundRect(375, 350, 100, 100, 100, 100); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -