Java by API/javax.swing/Box

Материал из Java эксперт
Перейти к: навигация, поиск

Box: createGlue()

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Container; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.border.EtchedBorder; import javax.swing.border.TitledBorder; public class MainClass {

 public static void main(String[] args) {
   JFrame aWindow = new JFrame("This is a Box Layout");
   aWindow.setBounds(200, 200, 200, 200);
   aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Box left = Box.createVerticalBox();
   left.add(Box.createVerticalStrut(30));
   ButtonGroup radioGroup = new ButtonGroup();
   JRadioButton rbutton;
   radioGroup.add(rbutton = new JRadioButton("Red"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Green"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Blue"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Yellow"));
   left.add(rbutton);
   left.add(Box.createGlue());
   JPanel leftPanel = new JPanel(new BorderLayout());
   leftPanel.setBorder(new TitledBorder(new EtchedBorder(), "Line Color"));
   leftPanel.add(left, BorderLayout.CENTER);
   Box right = Box.createVerticalBox();
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Dashed"));
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Thick"));
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Rounded"));
   right.add(Box.createGlue());
   JPanel rightPanel = new JPanel(new BorderLayout());
   rightPanel
       .setBorder(new TitledBorder(new EtchedBorder(), "Line Properties"));
   rightPanel.add(right, BorderLayout.CENTER);
   Box top = Box.createHorizontalBox();
   top.add(leftPanel);
   top.add(Box.createHorizontalStrut(5));
   top.add(rightPanel);
   Container content = aWindow.getContentPane();
   content.setLayout(new BorderLayout());
   content.add(top, BorderLayout.CENTER);
   BoxLayout box = new BoxLayout(content, BoxLayout.Y_AXIS);
   content.setLayout(box);
   content.add(top);
   aWindow.setVisible(true);
 }

}


 </source>
   
  
 
  



Box.createHorizontalBox()

   <source lang="java">

import java.awt.BorderLayout; import javax.swing.Box; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class MainClass {

 public static void main(String args[]) {
   JFrame f = new JFrame("JPasswordField Sample");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Box rowOne = Box.createHorizontalBox();
   rowOne.add(new JLabel("Username"));
   rowOne.add(new JTextField());
   Box rowTwo = Box.createHorizontalBox();
   rowTwo.add(new JLabel("Password"));
   rowTwo.add(new JPasswordField());
   f.add(rowOne, BorderLayout.NORTH);
   f.add(rowTwo, BorderLayout.SOUTH);
   f.setSize(300, 200);
   f.setVisible(true);
 }

}


 </source>
   
  
 
  



Box: createHorizontalGlue()

   <source lang="java">

// : c14:Box3.java // Using Glue. // <applet code=Box3 width=450 height=300></applet> // From "Thinking in Java, 3rd ed." (c) Bruce Eckel 2002 // www.BruceEckel.ru. See copyright notice in CopyRight.txt. import javax.swing.Box; import javax.swing.JApplet; import javax.swing.JFrame; import javax.swing.JLabel; public class Main extends JApplet {

 public void init() {
   Box bv = Box.createVerticalBox();
   bv.add(new JLabel("Hello"));
   bv.add(Box.createVerticalGlue());
   bv.add(new JLabel("Applet"));
   bv.add(Box.createVerticalGlue());
   bv.add(new JLabel("World"));
   Box bh = Box.createHorizontalBox();
   bh.add(new JLabel("Hello"));
   bh.add(Box.createHorizontalGlue());
   bh.add(new JLabel("Applet"));
   bh.add(Box.createHorizontalGlue());
   bh.add(new JLabel("World"));
   bv.add(Box.createVerticalGlue());
   bv.add(bh);
   bv.add(Box.createVerticalGlue());
   getContentPane().add(bv);
 }
 public static void main(String[] args) {
   run(new Main(), 450, 300);
 }
 public static void run(JApplet applet, int width, int height) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.getContentPane().add(applet);
   frame.setSize(width, height);
   applet.init();
   applet.start();
   frame.setVisible(true);
 }

} ///:~

 </source>
   
  
 
  



Box: createHorizontalStrut(int v)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Container; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.border.EtchedBorder; import javax.swing.border.TitledBorder; public class MainClass {

 public static void main(String[] args) {
   JFrame aWindow = new JFrame("This is a Box Layout");
   aWindow.setBounds(200, 200, 200, 200);
   aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Box left = Box.createVerticalBox();
   left.add(Box.createVerticalStrut(30));
   ButtonGroup radioGroup = new ButtonGroup();
   JRadioButton rbutton;
   radioGroup.add(rbutton = new JRadioButton("Red"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Green"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Blue"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Yellow"));
   left.add(rbutton);
   left.add(Box.createGlue());
   JPanel leftPanel = new JPanel(new BorderLayout());
   leftPanel.setBorder(new TitledBorder(new EtchedBorder(), "Line Color"));
   leftPanel.add(left, BorderLayout.CENTER);
   Box right = Box.createVerticalBox();
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Dashed"));
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Thick"));
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Rounded"));
   right.add(Box.createGlue());
   JPanel rightPanel = new JPanel(new BorderLayout());
   rightPanel
       .setBorder(new TitledBorder(new EtchedBorder(), "Line Properties"));
   rightPanel.add(right, BorderLayout.CENTER);
   Box top = Box.createHorizontalBox();
   top.add(leftPanel);
   top.add(Box.createHorizontalStrut(5));
   top.add(rightPanel);
   Container content = aWindow.getContentPane();
   content.setLayout(new BorderLayout());
   content.add(top, BorderLayout.CENTER);
   BoxLayout box = new BoxLayout(content, BoxLayout.Y_AXIS);
   content.setLayout(box);
   content.add(top);
   aWindow.setVisible(true);
 }

}


 </source>
   
  
 
  



Box: createRigidArea(Dimension d)

   <source lang="java">

// : c14:Box4.java // Rigid areas are like pairs of struts. // <applet code=Box4 width=450 height=300></applet> // From "Thinking in Java, 3rd ed." (c) Bruce Eckel 2002 // www.BruceEckel.ru. See copyright notice in CopyRight.txt. import java.awt.Dimension; import javax.swing.Box; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JFrame; public class Main extends JApplet {

 public void init() {
   Box bv = Box.createVerticalBox();
   bv.add(new JButton("Top"));
   bv.add(Box.createRigidArea(new Dimension(120, 90)));
   bv.add(new JButton("Bottom"));
   Box bh = Box.createHorizontalBox();
   bh.add(new JButton("Left"));
   bh.add(Box.createRigidArea(new Dimension(160, 80)));
   bh.add(new JButton("Right"));
   bv.add(bh);
   getContentPane().add(bv);
 }
 public static void main(String[] args) {
   run(new Main(), 450, 300);
 }
 public static void run(JApplet applet, int width, int height) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.getContentPane().add(applet);
   frame.setSize(width, height);
   applet.init();
   applet.start();
   frame.setVisible(true);
 }

} ///:~

 </source>
   
  
 
  



Box: createVerticalBox()

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Container; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.border.EtchedBorder; import javax.swing.border.TitledBorder; public class MainClass {

 public static void main(String[] args) {
   JFrame aWindow = new JFrame("This is a Box Layout");
   aWindow.setBounds(200, 200, 200, 200);
   aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Box left = Box.createVerticalBox();
   left.add(Box.createVerticalStrut(30));
   ButtonGroup radioGroup = new ButtonGroup();
   JRadioButton rbutton;
   radioGroup.add(rbutton = new JRadioButton("Red"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Green"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Blue"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Yellow"));
   left.add(rbutton);
   left.add(Box.createGlue());
   JPanel leftPanel = new JPanel(new BorderLayout());
   leftPanel.setBorder(new TitledBorder(new EtchedBorder(), "Line Color"));
   leftPanel.add(left, BorderLayout.CENTER);
   Box right = Box.createVerticalBox();
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Dashed"));
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Thick"));
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Rounded"));
   right.add(Box.createGlue());
   JPanel rightPanel = new JPanel(new BorderLayout());
   rightPanel
       .setBorder(new TitledBorder(new EtchedBorder(), "Line Properties"));
   rightPanel.add(right, BorderLayout.CENTER);
   Box top = Box.createHorizontalBox();
   top.add(leftPanel);
   top.add(Box.createHorizontalStrut(5));
   top.add(rightPanel);
   Container content = aWindow.getContentPane();
   content.setLayout(new BorderLayout());
   content.add(top, BorderLayout.CENTER);
   BoxLayout box = new BoxLayout(content, BoxLayout.Y_AXIS);
   content.setLayout(box);
   content.add(top);
   aWindow.setVisible(true);
 }

}


 </source>
   
  
 
  



Box: createVerticalGlue()

   <source lang="java">

// : c14:Box3.java // Using Glue. // <applet code=Box3 width=450 height=300></applet> // From "Thinking in Java, 3rd ed." (c) Bruce Eckel 2002 // www.BruceEckel.ru. See copyright notice in CopyRight.txt. import javax.swing.Box; import javax.swing.JApplet; import javax.swing.JFrame; import javax.swing.JLabel; public class Main extends JApplet {

 public void init() {
   Box bv = Box.createVerticalBox();
   bv.add(new JLabel("Hello"));
   bv.add(Box.createVerticalGlue());
   bv.add(new JLabel("Applet"));
   bv.add(Box.createVerticalGlue());
   bv.add(new JLabel("World"));
   Box bh = Box.createHorizontalBox();
   bh.add(new JLabel("Hello"));
   bh.add(Box.createHorizontalGlue());
   bh.add(new JLabel("Applet"));
   bh.add(Box.createHorizontalGlue());
   bh.add(new JLabel("World"));
   bv.add(Box.createVerticalGlue());
   bv.add(bh);
   bv.add(Box.createVerticalGlue());
   getContentPane().add(bv);
 }
 public static void main(String[] args) {
   run(new Main(), 450, 300);
 }
 public static void run(JApplet applet, int width, int height) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.getContentPane().add(applet);
   frame.setSize(width, height);
   applet.init();
   applet.start();
   frame.setVisible(true);
 }

} ///:~

 </source>
   
  
 
  



Box: createVerticalStrut(int v)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Container; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.border.EtchedBorder; import javax.swing.border.TitledBorder; public class MainClass {

 public static void main(String[] args) {
   JFrame aWindow = new JFrame("This is a Box Layout");
   aWindow.setBounds(200, 200, 200, 200);
   aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Box left = Box.createVerticalBox();
   left.add(Box.createVerticalStrut(30));
   ButtonGroup radioGroup = new ButtonGroup();
   JRadioButton rbutton;
   radioGroup.add(rbutton = new JRadioButton("Red"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Green"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Blue"));
   left.add(rbutton);
   left.add(Box.createVerticalStrut(30));
   radioGroup.add(rbutton = new JRadioButton("Yellow"));
   left.add(rbutton);
   left.add(Box.createGlue());
   JPanel leftPanel = new JPanel(new BorderLayout());
   leftPanel.setBorder(new TitledBorder(new EtchedBorder(), "Line Color"));
   leftPanel.add(left, BorderLayout.CENTER);
   Box right = Box.createVerticalBox();
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Dashed"));
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Thick"));
   right.add(Box.createVerticalStrut(30));
   right.add(new JCheckBox("Rounded"));
   right.add(Box.createGlue());
   JPanel rightPanel = new JPanel(new BorderLayout());
   rightPanel
       .setBorder(new TitledBorder(new EtchedBorder(), "Line Properties"));
   rightPanel.add(right, BorderLayout.CENTER);
   Box top = Box.createHorizontalBox();
   top.add(leftPanel);
   top.add(Box.createHorizontalStrut(5));
   top.add(rightPanel);
   Container content = aWindow.getContentPane();
   content.setLayout(new BorderLayout());
   content.add(top, BorderLayout.CENTER);
   BoxLayout box = new BoxLayout(content, BoxLayout.Y_AXIS);
   content.setLayout(box);
   content.add(top);
   aWindow.setVisible(true);
 }

}


 </source>