下面列出了怎么用javax.swing.event.InternalFrameAdapter的API类实例代码及写法,或者点击链接到github查看源代码。
public QueryBuilderInternalFrame(QueryBuilderTableModel queryBuilderTableModel,
QueryBuilder queryBuilder)
{
_dragObject = null;
// Set some private variables
_queryBuilderTableModel = queryBuilderTableModel;
_queryBuilder = queryBuilder;
// Create the node that will be used for the property sheet
_node = new TableNode(queryBuilderTableModel.getFullTableName(),
queryBuilderTableModel.getCorrName(),
_queryBuilder);
setResizable(true);
setFrameIcon(null);
setIconifiable(false);
// Add an anonymous listener for the internalFrameOpened event
addInternalFrameListener(new InternalFrameAdapter() {
public void internalFrameOpened(InternalFrameEvent e) {
// As soon as a frame is opened select it.
// This doesn't seem to work.
try {
QueryBuilderInternalFrame.this.setSelected(true);
} catch(PropertyVetoException pve) {
}
}});
this.setBackground(Color.white);
}
public AbstractJDashlet() {
props = new Properties();
if (!confdir.exists())
{
boolean ret = confdir.mkdirs();
logger.debug(confdir + " doesn't exist, create it="+ret);
}
addInternalFrameListener(new InternalFrameAdapter() {
@Override
public void internalFrameClosed(InternalFrameEvent e) {
AbstractJDashlet dash = (AbstractJDashlet) e.getInternalFrame();
dash.onDestroy();
if (dash.getProperties().get("id") != null)
FileUtils.deleteQuietly(new File(confdir, dash.getProperties().get("id") + ".conf"));
}
});
loaded=true;
setFrameIcon(getIcon());
setTitle(getName());
setResizable(true);
setClosable(true);
setIconifiable(true);
setMaximizable(true);
setBounds(new Rectangle(5,5, 536,346));
}
/**
* Creates a widget as a {@link JInternalFrame}.
*
* @param widget
* the widget
* @return the constructed JInternalFrame
*/
protected JInternalFrame createInternalFrame(final Widget widget) {
final JPanel panel = widget.getPanel();
final String frameTitle;
final Icon frameIcon;
boolean resizable = true;
boolean closable = true;
boolean maximizable = true;
boolean iconifiable = true;
WidgetParameters parameters = widget.getClass().getAnnotation(WidgetParameters.class);
if (parameters != null) {
frameTitle = parameters.title();
if (!parameters.icon().equals("")) {
frameIcon = Icons.getIcon(parameters.icon());
} else {
frameIcon = null;
}
resizable = parameters.resizable();
closable = parameters.closable();
maximizable = parameters.maximizable();
iconifiable = parameters.iconifiable();
} else {
frameTitle = null;
frameIcon = null;
}
final JInternalFrame inFrame = new JInternalFrame(frameTitle, resizable, closable, maximizable, iconifiable);
widget.init(this);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
inFrame.addInternalFrameListener(new InternalFrameAdapter() {
@Override
public void internalFrameClosed(InternalFrameEvent arg0) {
widgets.remove(widget);
}
});
inFrame.setFrameIcon(frameIcon);
inFrame.getContentPane().setLayout(new BorderLayout());
inFrame.getContentPane().add(panel, BorderLayout.CENTER);
int windows = desktop.getAllFrames().length;
windows = windows % 6;
inFrame.setLocation(OFFSET * windows, OFFSET * windows);
}
});
widgets.put(widget, inFrame);
return inFrame;
}