1

我正在尝试使用 setTitle() 设置 JInternalFrame 的标题栏,但它没有改变。我不知道我做错了什么?如果我在构造函数中初始化它,我工作得很好,但是在它设置之后,它不会改变。

这是我的代码:

JInternalFrame internalFrame = new JInternalFrame("test",false, false, false, false);
internalFrame.setTitle("test2");

这是我得到的结果。

在此处输入图像描述

4

2 回答 2

2

JDK-4131008:更改标题后 JInternalFrame 不刷新,您必须调用 repaint()

于 2013-11-13T08:56:08.683 回答
0

这个对我有用:

import javax.swing.*;

public class JInternalFrameDemo implements Runnable
{
  public static void main(String[] args)
  {
    SwingUtilities.invokeLater(new JInternalFrameDemo());
  }

  public void run()
  {
    JInternalFrame iFrame = new JInternalFrame("Test 1",
                                               false, false, false, false);
    iFrame.setTitle("Test 2");
    iFrame.setSize(200, 150);
    iFrame.setLocation(10, 10);
    iFrame.setVisible(true);

    JDesktopPane desktop = new JDesktopPane();
    desktop.setOpaque(true);
    desktop.add(iFrame);

    JFrame frame = new JFrame("Demo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(400, 300);
    frame.setContentPane(desktop);
    frame.setVisible(true);
  }
}
于 2013-11-13T16:37:20.303 回答