Java JRootPane
精华
小牛编辑
145浏览
2023-03-14
1 Java JRootPane的介绍
JRootPane是JFrame,JDialog,JWindow,JApplet和JInternalFrame在后台使用的轻量级容器。
2 Java JRootPane内部类
内部类 | 描述 |
---|---|
protected class JRootPane.AccessibleJRootPane | 此类为JRootPane类实现可访问性支持。 |
protected class JRootPane.RootLayout | 一个自定义布局管理器,负责layeredPane,glassPane和menuBar的布局。 |
3 Java JRootPane的字段
字段 | 描述 |
---|---|
static int COLOR_CHOOSER_DIALOG | 用于windowDecorationStyle属性的常数。 |
protected JButton contentPane | 内容窗格。 |
protected Container defaultButton | 当窗格具有焦点并发生特定于UI的操作(例如按Enter键)时,将激活该按钮。 |
protected JMenuBar menuBar | 菜单栏。 |
protected Component glassPane | 覆盖在菜单栏和内容窗格上的玻璃窗格,因此它可以拦截鼠标的移动等。 |
static int ERROR_DIALOG | 用于windowDecorationStyle属性的常数。 |
4 Java JRootPane的构造方法
构造方法 | 描述 |
---|---|
JRootPane() | 创建一个JRootPane,设置其glassPane,layeredPane和contentPane。 |
5 Java JRootPane的方法
方法 | 描述 |
---|---|
protected void addImpl(Component comp, Object constraints, int index) | 重写以强制将玻璃组件的位置设置为零子级。 |
void addNotify() | 通知此组件它现在具有父组件。 |
protected Container createContentPane() | 构造函数方法调用它来创建默认的contentPane。 |
protected Component createGlassPane() | 由构造函数方法调用以创建默认的glassPane。 |
AccessibleContext getAccessibleContext() | 获取与此JRootPane关联的AccessibleContext。 |
JButton getDefaultButton() | 返回defaultButton属性的值。 |
void setContentPane(Container content) | 设置内容窗格-包含由根窗格作为父级的组件的容器。 |
void setDefaultButton(JButton defaultButton) | 设置defaultButton属性,该属性确定此JRootPane的当前默认按钮。 |
void setJMenuBar(JMenuBar menu) | 添加或更改在分层窗格中使用的菜单栏。 |
6 Java JRootPane的案例
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JRootPane;
public class JRootPaneExample {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JRootPane root = f.getRootPane();
// Create a menu bar
JMenuBar bar = new JMenuBar();
JMenu menu = new JMenu("File");
bar.add(menu);
menu.add("Open");
menu.add("Close");
root.setJMenuBar(bar);
// Add a button to the content pane
root.getContentPane().add(new JButton("Press Me"));
// Display the UI
f.pack();
f.setVisible(true);
}
}
输出结果为: