package NET.worlds.console; import java.awt.Button; import java.awt.Event; import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Label; import java.awt.Panel; import java.awt.TextField; public class ChannelDialog extends PolledDialog { private static final long serialVersionUID = -3677512952231237135L; private Label channelLabel = new Label(Console.message("New-channel")); private Button okButton = new Button(Console.message("OK")); private Button cancelButton = new Button(Console.message("Cancel")); private static Font font = new Font(Console.message("MenuFont"), 0, 12); private TextField channelField; public ChannelDialog(java.awt.Window parent, DialogReceiver receiver, String title, String defChannel) { super(parent, receiver, title, true); this.channelField = new TextField(defChannel); this.ready(); } public String getChannel() { return this.channelField.getText(); } @Override protected void build() { GridBagLayout gbag = new GridBagLayout(); this.setLayout(gbag); GridBagConstraints c = new GridBagConstraints(); c.weightx = 1.0; c.weighty = 1.0; c.gridheight = 1; c.fill = 0; c.gridwidth = 2; this.channelLabel.setFont(font); this.add(gbag, this.channelLabel, c); c.gridwidth = 0; c.fill = 2; this.channelField.setFont(font); this.add(gbag, this.channelField, c); Panel buttons = new Panel(); buttons.add(this.okButton); buttons.add(this.cancelButton); this.okButton.setFont(font); this.cancelButton.setFont(font); c.gridwidth = 0; c.fill = 0; this.add(gbag, buttons, c); } @Override public void show() { this.initialSize(320, 140); super.show(); this.channelField.requestFocus(); } @Override public boolean handleEvent(Event event) { return event.id == 201 ? this.done(false) : super.handleEvent(event); } @Override public boolean action(Event event, Object what) { Object target = event.target; if (target == this.cancelButton) { this.done(false); } else if (target == this.okButton) { this.done(true); } return false; } @Override public boolean keyDown(Event event, int key) { return key == 27 ? this.done(false) : super.keyDown(event, key); } }