приключих с добавянето на JInternalFrame
в моя JFrame
и начинът, по който се добавя рамка, е да щракна върху иконата JMenuItem
и това върви добре, но когато рамката се добавя, старият компонент се премахва и се появява бял цвят. това, което се опитвам да направя, е да задам местоположението на коригиране JInternalFrame
с другия компонент без ефект на друг компонент
кодът за JInternalFrame
package animeaidvlcj;
import javax.swing.JInternalFrame;
/* Used by InternalFrameDemo.java. */
public class MyInternalFrame extends JInternalFrame {
static int openFrameCount = 0;
static final int xOffset = 0, yOffset = 25;
public MyInternalFrame() {
super("Document #" + (++openFrameCount),
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable
//...Create the GUI and put it in the window...
//...Then set the window size or call pack...
setSize(300,300);
//Set the window's location.
setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
}
}
кодът за действие
Action newAction = new AbstractAction("New", newIcon) {
@Override
public void actionPerformed(ActionEvent e) {
desktop = new JDesktopPane();
createFrame();
setContentPane(desktop);
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
}
};
метод за създаване
protected void createFrame() {
MyInternalFrame frame = new MyInternalFrame();
frame.setVisible(true); //necessary as of 1.3
desktop.add(frame);
try {
frame.setSelected(true);
} catch (java.beans.PropertyVetoException e) {}
}