Java Tutorial/Swing/JRootPane
Содержание
Customizing JRootPane Look and Feel
Property StringObject TypeRootPane.actionMapActionMapRootPane.ancestorInputMapInputMapRootPane.colorChooserDialogBorderBorderRootPane.defaultButtonWindowKeyBindingsObject[ ]RootPane.errorDialogBorderBorderRootPane.fileChooserDialogBorderBorderRootPane.frameBorderBorderRootPane.informationDialogBorderBorderRootPane.plainDialogBorderBorderRootPane.questionDialogBorderBorderRootPane.warningDialogBorderBorderRootPaneUIString
Interact directly with the JRootPane of a JFrame
<source lang="java">
import java.awt.Container; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JRootPane; public class Main {
public static void main(String[] args) { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JRootPane root = f.getRootPane(); Container content = root.getContentPane(); content.add(new JButton("Hello")); f.pack(); f.setVisible(true); }
}</source>
JRootPane
The JRootPane class acts as a container delegate for the top-level Swing containers.
Make a JFrame looks like a JDialog
<source lang="java">
import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JRootPane; public class Main extends JFrame {
public Main() { setTitle("like JDialog"); setSize(new Dimension(500, 100)); setUndecorated(true); setResizable(false); getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { new Main().setVisible(true); }
}</source>
Setting the default button
- Dark border
- pressing the Enter key to trigger button"s event
<source lang="java">
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JRootPane; public class SettingDefaultButtonJRootPane {
public static void main(String args[]) { JFrame frame = new JFrame("DefaultButton"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton button4 = new JButton("AAA"); frame.add(button4,"Center"); frame.add(new JButton("BBB"),"South"); JRootPane rootPane = frame.getRootPane(); rootPane.setDefaultButton(button4); frame.setSize(300, 200); frame.setVisible(true); }
}</source>
Setting Window Decoration Style
<source lang="java">
import javax.swing.JFrame; import javax.swing.JRootPane; public class AdornSample {
public static void main(final String args[]) { JFrame frame = new JFrame("Adornment Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setUndecorated(true); frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME); frame.setSize(300, 100); frame.setVisible(true); }
}</source>