Java/Swing JFC/Alignment

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

Laying Out a Screen with Different Component Alignments

   <source lang="java">

import java.awt.ruponent; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class AlignY {

 public static void main(String args[]) {
   JFrame frame = new JFrame("Y Alignment");
   JPanel contentPane = (JPanel) frame.getContentPane();
   BoxLayout layout = new BoxLayout(contentPane, BoxLayout.X_AXIS);
   contentPane.setLayout(layout);
   JButton button = new JButton("0.0");
   button.setAlignmentY(Component.TOP_ALIGNMENT);
   contentPane.add(button);
   button = new JButton("1.0");
   button.setAlignmentY(Component.BOTTOM_ALIGNMENT);
   contentPane.add(button);
   button = new JButton("0.5");
   button.setAlignmentY(Component.CENTER_ALIGNMENT);
   contentPane.add(button);
   frame.setSize(200, 100);
   frame.show();
 }

}

      </source>
   
  
 
  



Working with Component Alignments

   <source lang="java">

import java.awt.ruponent; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class AlignX {

 private static Container makeIt(String labelChar, float alignment) {
   JPanel container = new JPanel();
   BoxLayout layout = new BoxLayout(container, BoxLayout.Y_AXIS);
   container.setLayout(layout);
   for (int i = 1; i < 6; i++) {
     String label = makeLabel(labelChar, i * 2);
     JButton button = new JButton(label);
     button.setAlignmentX(alignment);
     container.add(button);
   }
   return container;
 }
 private static String makeLabel(String s, int length) {
   StringBuffer buff = new StringBuffer(length);
   for (int i = 0; i < length; i++) {
     buff.append(s);
   }
   return buff.toString();
 }
 public static void main(String args[]) {
   JFrame frame = new JFrame("X Alignment");
   Container contentPane = frame.getContentPane();
   Container panel1 = makeIt("R", Component.RIGHT_ALIGNMENT);
   Container panel2 = makeIt("C", Component.CENTER_ALIGNMENT);
   Container panel3 = makeIt("L", Component.LEFT_ALIGNMENT);
   contentPane.setLayout(new FlowLayout());
   contentPane.add(panel1);
   contentPane.add(panel2);
   contentPane.add(panel3);
   frame.pack();
   frame.show();
 }

}

      </source>