import java.awt.*; import java.awt.event.*; import java.util.*; public class Compose extends WindowAdapter implements ActionListener { // +--------+ // | Fields |----------------------------------------------------- // +--------+ /** GUI fields */ protected Frame frame; protected GridBagLayout grid; protected Label Gmail; protected TextField GUIto; protected TextField GUIcc; protected TextField GUIbcc; protected TextField GUIsubject; protected TextArea GUIBody; protected Button send; protected Button clear; protected Button quit; protected Container gui; protected Compose comp; protected Checkbox html; public Compose(Container gui){ GridBagConstraints c = new GridBagConstraints(); GridBagLayout grid = new GridBagLayout(); gui.setLayout(grid); Gmail = new Label("GMail Compose Window"); Label lTo = new Label("To: "); Label lCc = new Label("CC: "); Label lBcc = new Label("BCC: "); Label lSubject = new Label("Subject: "); html = new Checkbox("Use HTML tags", false); GUIto = new TextField(50); GUIcc = new TextField(50); GUIbcc = new TextField(50); GUIsubject = new TextField(); GUIBody = new TextArea(); send = new Button("Send"); clear = new Button("Clear"); quit = new Button("Quit"); send.addActionListener(this); clear.addActionListener(this); quit.addActionListener(this); c.anchor=GridBagConstraints.NORTH; c.gridx = 0; c.gridy = 0; c.fill=GridBagConstraints.BOTH; c.gridwidth=GridBagConstraints.REMAINDER; grid.setConstraints(Gmail, c); gui.add(Gmail); c.gridy = 1; c.gridwidth=1; grid.setConstraints(lTo, c); gui.add(lTo); c.gridx=1; c.weightx=1.0; c.gridwidth=GridBagConstraints.REMAINDER; grid.setConstraints(GUIto, c); gui.add(GUIto); c.gridy=2; c.gridx=0; c.gridwidth=1; c.weightx=0; grid.setConstraints(lCc, c); gui.add(lCc); c.gridx=1; c.weightx=1.0; c.gridwidth=GridBagConstraints.REMAINDER; grid.setConstraints(GUIcc, c); gui.add(GUIcc); c.gridy=3; c.gridx=0; c.gridwidth=1; c.weightx=0; grid.setConstraints(lBcc, c); gui.add(lBcc); c.gridx=1; c.weightx=1.0; c.gridwidth=GridBagConstraints.REMAINDER; grid.setConstraints(GUIbcc, c); gui.add(GUIbcc); c.gridy=4; c.gridx=0; c.gridwidth=1; c.weightx=0; grid.setConstraints(lSubject, c); gui.add(lSubject); c.gridx=1; c.weightx=1.0; c.gridwidth=GridBagConstraints.REMAINDER; grid.setConstraints(GUIsubject, c); gui.add(GUIsubject); c.gridy=5; c.gridx=0; grid.setConstraints(html, c); gui.add(html); c.gridy=6; c.weighty=1.0; c.gridwidth = GridBagConstraints.REMAINDER; grid.setConstraints(GUIBody, c); gui.add(GUIBody); Panel gui2 = new Panel(); GridLayout grid2 = new GridLayout(1,3, 2, 2); gui2.setLayout(grid2); /** c.gridy=0; c.gridx=0; c.weighty=0; c.fill=GridBagConstraints.NONE; c.anchor=GridBagConstraints.SOUTH; grid2.setConstraints(clear,c); */ gui2.add(clear); /** c.gridx=1; grid2.setConstraints(quit, c);*/ gui2.add(quit); /** c.gridx=2; grid2.setConstraints(send, c);*/ gui2.add(send); c.gridy=7; c.gridx=1; c.weighty=0; c.weightx=0; c.anchor=GridBagConstraints.SOUTHEAST; grid.setConstraints(gui2, c); gui.add(gui2); } // +----------------+ // | Event Handlers |------------------------------------------------- // +----------------+ public void windowClosing(WindowEvent event){ frame.dispose(); System.exit(0); } public void actionPerformed(ActionEvent evt){ String command = evt.getActionCommand(); if (command.equals("Quit")) { frame.dispose(); System.exit(0); } else if (command.equals("Clear")){ //Stub } else if (command.equals("Send")){ frame.dispose(); System.exit(0); } } public static void main(String[] args){ Frame frame = new Frame("Test"); Panel gui = new Panel(); new Compose(gui); frame.add(gui); frame.pack(); frame.show(); } }