1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
/*
*
* Copyright (C) 1999, Institute for MicroTherapy
*
* This software and supporting documentation were developed by
*
* University of Witten/Herdecke
* Department of Radiology and MicroTherapy
* Institute for MicroTherapy
* Medical computer science
*
* Universitaetsstrasse 142
* 44799 Bochum, Germany
*
* http://www.microtherapy.de/go/cs
* mailto:computer.science@microtherapy.de
*
* THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE INSTITUTE MAKES NO
* WARRANTY REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY
* OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES
* OR ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY
* AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
*
* Author : $Author: kleber $
* Last update : $Date: 2001/06/06 10:32:30 $
* Revision : $Revision: 1.1.1.1 $
* State: $State: Exp $
*/
package jToolkit.gui;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
/**
* The CommandJButton extends the normal (Swing-)JButton with an automatic command
* call when the button is pressed.
*
* Usage:
*
* class FooClass extends JPanel implements CommandJButton
* {
* final int IDOK = 1;
* final int IDCANCEL = 2;
*
* void Constructor ()
* {
* CommandJButton ok = new CommandJButton ("OK", this, IDOK);
* CommandJButton cancel = new CommandJButton ("Cancel", this, IDCANCEL);
* add (ok);
* add (cancel);
* }
*
* void ButtonClicked (int ID);
* {
* if (ID == IDOK) doOK(); // OK pressed
* if (ID == IDCANCEL) doCancel(); // Cancel pres
* }
* }
*
* @author Andreas Schroeter
* @since 30.03.
*/
public class CommandJButton extends JButton implements ActionListener
{
private int ID;
static int gaps = 2;
private CommandButtonListener cbl;
public int getID(){ return ID;}
public CommandButtonListener getCommandButtonListener(){ return cbl;}
public CommandJButton(CommandJButton b)
{
super();
this.ID = b.getID();
this.cbl = b.getCommandButtonListener();
this.setMargin(new Insets(gaps,gaps,gaps,gaps));
this.setIcon(b.getIcon());
this.setText(b.getText());
this.setBorderPainted(b.isBorderPainted());
this.setSelected(b.isSelected());
this.setAlignmentX(b.getAlignmentX());
this.setAlignmentY(b.getAlignmentY());
this.setToolTipText(b.getToolTipText());
addActionListener (this);
}
public static final void setButton(JButton b)
{
b.setAlignmentX(0.5f);
b.setAlignmentY(0.5f);
b.setMargin(new Insets(gaps,gaps,gaps,gaps));
//b.setBorderPainted(false);
}
public CommandJButton (String label, CommandButtonListener cbl, int ID)
{
super (label);
this.ID = ID;
this.cbl = cbl;
this.setMargin(new Insets(gaps,gaps,gaps,gaps));
setAlignmentX(0.5f);
setAlignmentY(0.5f);
addActionListener (this);
}
public CommandJButton (CommandButtonListener cbl, int ID)
{
super ();
this.ID = ID;
this.cbl = cbl;
this.setMargin(new Insets(gaps,gaps,gaps,gaps));
setAlignmentX(0.5f);
setAlignmentY(0.5f);
addActionListener (this);
}
public CommandJButton(String text, Icon icon, CommandButtonListener cbl, int ID)
{
super (text, icon);
this.ID = ID;
this.cbl = cbl;
this.setMargin(new Insets(gaps,gaps,gaps,gaps));
setAlignmentX(0.5f);
//setBorderPainted(false);
setAlignmentY(0.5f);
addActionListener (this);
}
public CommandJButton(Icon icon, CommandButtonListener cbl, int ID)
{
super (icon);
this.ID = ID;
this.cbl = cbl;
addActionListener (this);
this.setMargin(new Insets(gaps,gaps,gaps,gaps));
setAlignmentX(0.5f);
setAlignmentY(0.5f);
//setBorderPainted(false);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == this) cbl.buttonClicked (ID);
}
}
/*
* CVS Log
* $Log: CommandJButton.java,v $
* Revision 1.1.1.1 2001/06/06 10:32:30 kleber
* Init commit for DICOMscope 3.5
* Create new CVS
*
*/
|