如何在 Java 中为 JDesktopPane 设置调色板层?

java 8object oriented programmingprogramming更新于 2025/8/23 8:44:17

首先,创建一个 JDesktopPane −

JDesktopPane desktopPane = new JDesktopPane();

现在,创建一个内部框架 −

JInternalFrame intFrame = new JInternalFrame("Our Frame", true, true, true, true);
intFrame.setBounds(50, 90, 200, 250);

为 JDesktopPane 设置调色板层,并将内部框架添加到 JDesktopPane −

intFrame.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
desktopPane.add(intFrame,JDesktopPane.PALETTE_LAYER);

以下是为 JDesktopPane 设置调色板层的示例 −

package my;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
public class SwingDemo {
   public static void main(final String[] args) {
      JFrame frame = new JFrame("Demo");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      JDesktopPane desktopPane = new JDesktopPane();
      JInternalFrame intFrame = new JInternalFrame("Our Frame", true, true, true, true);
      intFrame.setBounds(50, 90, 200, 250);
      intFrame.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
      desktopPane.add(intFrame,JDesktopPane.PALETTE_LAYER);
      JLabel label = new JLabel(intFrame.getTitle(), JLabel.CENTER);
      JButton button = new JButton("Demo Button");
      intFrame.add(label, BorderLayout.CENTER);
      intFrame.add(button, BorderLayout.WEST);
      intFrame.setVisible(true);
      frame.add(desktopPane, BorderLayout.CENTER);
      frame.setSize(600, 500);
      frame.setVisible(true);
   }
}

输出

最大化内部框架 −


相关文章