下面的代码可以生成一个多文档界面,在最小化文档后,都显示为Internal Fram...,我想把它们做区分,比如显示为Fram1,Fram2,...,改怎么办?
代码:
package test;import javax.swing.*;
import java.awt.event.*;
import java.awt.*;class JInternalFrame1 extends JFrame implements ActionListener { JDesktopPane desktopPane;
int count = 1; public JInternalFrame1() {
super("JInternalFrame1");
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout()); JButton b = new JButton("Create New Internal Frames");
b.addActionListener(this);//当用户按下按钮时,将运行actionPerformed()中的程序
contentPane.add(b, BorderLayout.SOUTH);
/*建立一个新的JDesktopPane并加入于contentPane中
 */
desktopPane = new JDesktopPane();
contentPane.add(desktopPane);
setSize(350, 350);
show(); addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
} /*产生一个可关闭、可改变大小、具有标题、可最大化与最小化的Internal Frame.
 */
public void actionPerformed(ActionEvent e) {
JInternalFrame internalFrame = new JInternalFrame("Internal Frame "
+ (count++), true, true, true, true);
internalFrame.setLocation(20, 20);
internalFrame.setSize(200, 200);
internalFrame.setVisible(true);
//取得JInternalFrame的Content Pane,用以加入新的组件。[Page]
Container icontentPane = internalFrame.getContentPane();
JTextArea textArea = new JTextArea();
JButton b = new JButton("Internal Frame Button");
/*将JTextArea与JButton对象加入JInternalFrame中。由此呆知,JInteranlFrame加入组件
 *的方式与JFrame是一模一样。
 */
icontentPane.add(textArea, "Center");
icontentPane.add(b, "South");
//将JInternalFrame加入JDesktopPane中,如此一来,即使产生很多JInternalFrame,JDesktopPane也
//能将它们之间的关系管理得相当良好。
desktopPane.add(internalFrame); try {
internalFrame.setSelected(true);
} catch (java.beans.PropertyVetoException ex) {
System.out.println("Exception while selecting");
}
} public static void main(String[] args) {
new JInternalFrame1();
}
}

解决方案 »

  1.   

    主要想问下有没类似的renderer,用来改变最小化时的标题
      

  2.   

    给internal frame添加一个InternalFrameListener
        public void internalFrameIconified(InternalFrameEvent e) {
            //TODO:设置图标化的标题   
        }    public void internalFrameDeiconified(InternalFrameEvent e) {
            //TODO:设置正常化的标题
        }
      

  3.   

    点击了最小化的时候,不是Frame里面排了一排的Internal Fram...吗,现在我想在最小化的时候比较清晰的分别他们,让我有目的的把想最大化的打开,也就是说要让Internal Fram...最小化的时候名字变得很容易区分,比如1,2,3,4,但是我又不想让他们的标题变了,因为这样会对最大化了以后产生影响----标题跟着变了。