Using Java 1.8.
I use JInternalFrame
.
Here I set the size of the internal frame WelcomeInternalFrame.java .
public class WelcomeInternalFrame extends JInternalFrame implements ActionListener {
private void addInternalFrame(JInternalFrame internalFrame, Boolean isMaximize, Dimension dimension) {
desktop.add(internalFrame);
try {
internalFrame.setSelected(true);
if (isMaximize != null && isMaximize) {
internalFrame.setMaximum(true);
} else {
internalFrame.setSize(dimension);
}
} catch (java.beans.PropertyVetoException e) {
logger.error(e.getMessage(), e);
}
}
}
In my internalFrame I use GridBagConstraints
.
The parent of my internalFrame is JFrame
.
Here code of parent MainScreenView.java:
public class MainScreenView extends JFrame implements ActionListener {
private JDesktopPane desktop;
private void buildContent() {
currentInternalFrame = new AccountsScroller(this);
addInternalFrame(currentInternalFrame, true, null);
setContentPane(desktop);
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null); // center
setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
setVisible(true);
}
}
This code maximize internal frame, or set specific size. OK.
But I need also to center internal frame. How I can do this?