import java.applet.*; import java.awt.*; import java.awt.event.*; public class BasicComponentApplet extends Applet { public void init() { Panel panel = new Panel(); GridBagLayout gbl = new GridBagLayout(); panel.setLayout(gbl); GridBagConstraints gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.NORTHWEST; gbc.insets = new Insets(2, 3, 2, 3); gbc.gridy = 0; Label label1 = new Label("Label: "); gbc.gridx = 0; gbl.setConstraints(label1, gbc); panel.add(label1); // AWT Component: Label, 1 line Label label = new Label("A simple label"); gbc.gridx = 1; gbl.setConstraints(label, gbc); panel.add(label); gbc.gridy = 1; Label label2 = new Label("Button: "); gbc.gridx = 0; gbl.setConstraints(label2, gbc); panel.add(label2); // AWT Component: Button, 1 line Button button = new Button("A simple push-button"); gbc.gridx = 1; gbl.setConstraints(button, gbc); panel.add(button); gbc.gridy = 2; Label label3 = new Label("Canvas: "); gbc.gridx = 0; gbl.setConstraints(label3, gbc); panel.add(label3); // AWT Component: Canvas, 1 line Canvas canvas = new MyCanvas(); gbc.gridx = 1; gbl.setConstraints(canvas, gbc); panel.add(canvas); gbc.gridy = 3; Label label4 = new Label("Checkbox: "); gbc.gridx = 0; gbl.setConstraints(label4, gbc); panel.add(label4); // AWT Component: Checkbox, 1 line Checkbox checkbox = new Checkbox("A simple checkbox"); gbc.gridx = 1; gbl.setConstraints(checkbox, gbc); panel.add(checkbox); gbc.gridy = 4; Label label5 = new Label("Choice: "); gbc.gridx = 0; gbl.setConstraints(label5, gbc); panel.add(label5); // AWT Component: Choice, 5 lines Choice choice = new Choice(); choice.add("... featuring"); choice.add("multiple"); choice.add("lines in"); choice.add("a drop down."); gbc.gridx = 1; gbl.setConstraints(choice, gbc); panel.add(choice); gbc.gridy = 5; Label label6 = new Label("List: "); gbc.gridx = 0; gbl.setConstraints(label6, gbc); panel.add(label6); // AWT Component: List, 5 lines List list = new List(3, false); list.add("... featuring"); list.add("multiple"); list.add("rows in a"); list.add("list."); gbc.gridx = 1; gbl.setConstraints(list, gbc); panel.add(list); gbc.gridy = 8; Label label7 = new Label("TextField: "); gbc.gridx = 0; gbl.setConstraints(label7, gbc); panel.add(label7); // AWT Component: TextField, 1 line TextField textfield = new TextField("A simple text field"); gbc.gridx = 1; gbl.setConstraints(textfield, gbc); panel.add(textfield); gbc.gridy = 9; Label label8 = new Label("TextArea: "); gbc.gridx = 0; gbl.setConstraints(label8, gbc); panel.add(label8); // AWT Component: TextArea, 1 line TextArea textarea = new TextArea("A simple\ntext area", 4, 30); gbc.gridx = 1; gbl.setConstraints(textarea, gbc); panel.add(textarea); gbc.gridy = 13; Label label9 = new Label("Scrollbar: "); gbc.gridx = 0; gbl.setConstraints(label9, gbc); panel.add(label9); // AWT Component: Scrollbar, 1 line Scrollbar scrollbar = new Scrollbar(Scrollbar.HORIZONTAL, 0, 60, 0, 300); gbc.gridx = 1; gbl.setConstraints(scrollbar, gbc); panel.add(scrollbar); add(panel); } } // Custom Canvas. The default canvas is white with no contents - this demonstrates the purpose of a canvas. class MyCanvas extends Canvas { public MyCanvas() { setSize(200, 40); } public void paint(Graphics g) { g.setColor(Color.green); g.fillRect(0, 0, 100, 40); g.setColor(Color.blue); g.fillRect(100, 0, 200, 40); g.setColor(Color.red); g.drawString("A canvas to paint stuff onto.", 10, 15); } }