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
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(); |
|
} |
|
|
|
}
|
|
|