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


首先,创建一个 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);
   }
}

输出

最大化内部框架 -

更新于: 2019 年 7 月 30 日

156 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告