SuperX-Kernmodul
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

66 lines
1.7 KiB

package de.memtext.widgets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
/**
* A selection panel.
* On the left some text, then a textfield for the selection and right of
* it a button with ... or some text which opens a selection dialog.
* The selected object get be requested with getSelectedObject
*
*/
public abstract class LabeledSelectionPanel
extends JPanel
implements ActionListener {
private JButton btn;
//private LabeledTextField fileField=new LabeledTextField(Localizer.get("file"));
private LabeledTextField infoField;
private Object selectedObject;
public LabeledSelectionPanel(String infoText) {
infoField = new LabeledTextField(infoText, "");
infoField.setEditable(false);
this.add(infoField);
btn = new JButton("<html><b>auswählen");
this.add(btn);
btn.addActionListener(this);
}
/**
* subclasses must override to show dlg and call
* setSelectedObject,setInfoText afterwards
*
*/
public abstract void actionPerformed(ActionEvent ae);
//throw new UnsupportedOperationException("see doc"); }
public void setInfoText(Object txt) {
infoField.setValue(txt);
}
public void setSelectedObject(Object sel) {
selectedObject = sel;
if (sel == null)
infoField.setValue("nichts gewählt");
else
infoField.setValue(sel);
}
public Object getSelectedObject() {
return selectedObject;
}
public void setEnabled(boolean b) {
infoField.setEnabled(b);
btn.setEnabled(b);
}
public void setEditable(boolean b) {
infoField.setEditable(b);
}
public void makeTextBoxUnselectable() {
infoField.makeUnselectable();
}
}