<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjava.awt%2FContainer</id>
		<title>Java by API/java.awt/Container - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjava.awt%2FContainer"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt/Container&amp;action=history"/>
		<updated>2026-04-24T21:35:51Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/java.awt/Container&amp;diff=1103&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt/Container&amp;diff=1103&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:43, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/java.awt/Container&amp;diff=1104&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/java.awt/Container&amp;diff=1104&amp;oldid=prev"/>
				<updated>2010-05-31T14:23:42Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Container: addPropertyChangeListener(PropertyChangeListener listener) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
import java.beans.PropertyChangeEvent;&lt;br /&gt;
import java.beans.PropertyChangeListener;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import javax.swing.JFileChooser;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JFileChooser chooser = new JFileChooser();&lt;br /&gt;
    chooser.addPropertyChangeListener(new PropertyChangeListener() {&lt;br /&gt;
      public void propertyChange(PropertyChangeEvent evt) {&lt;br /&gt;
        if (JFileChooser.SELECTED_FILE_CHANGED_PROPERTY.equals(evt.getPropertyName())) {&lt;br /&gt;
          JFileChooser chooser = (JFileChooser) evt.getSource();&lt;br /&gt;
          File oldFile = (File) evt.getOldValue();&lt;br /&gt;
          File newFile = (File) evt.getNewValue();&lt;br /&gt;
          &lt;br /&gt;
          File curFile = chooser.getSelectedFile();&lt;br /&gt;
        }       &lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Container: getComponentCount() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.awt.ruponent;&lt;br /&gt;
import java.awt.ruponentOrientation;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.FlowLayout;&lt;br /&gt;
import java.awt.event.WindowAdapter;&lt;br /&gt;
import java.awt.event.WindowEvent;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
public class MainClass extends JFrame {&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    super(&amp;quot;MainClass&amp;quot;);&lt;br /&gt;
    Container contentPane = getContentPane();&lt;br /&gt;
    contentPane.setLayout(new FlowLayout());&lt;br /&gt;
    contentPane.add(new JButton(&amp;quot;OK&amp;quot;));&lt;br /&gt;
    contentPane.add(new JButton(&amp;quot;Cancel&amp;quot;));&lt;br /&gt;
    applyOrientation(this, ComponentOrientation.RIGHT_TO_LEFT);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] argv) {&lt;br /&gt;
    JFrame frame = new MainClass();&lt;br /&gt;
    frame.addWindowListener(new WindowAdapter() {&lt;br /&gt;
      public void windowClosing(WindowEvent e) {&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  private void applyOrientation(Component c, ComponentOrientation o) {&lt;br /&gt;
    c.setComponentOrientation(o);&lt;br /&gt;
    if (c instanceof JMenu) {&lt;br /&gt;
      JMenu menu = (JMenu) c;&lt;br /&gt;
      int ncomponents = menu.getMenuComponentCount();&lt;br /&gt;
      for (int i = 0; i &amp;lt; ncomponents; ++i) {&lt;br /&gt;
        applyOrientation(menu.getMenuComponent(i), o);&lt;br /&gt;
      }&lt;br /&gt;
    } else if (c instanceof Container) {&lt;br /&gt;
      Container container = (Container) c;&lt;br /&gt;
      int ncomponents = container.getComponentCount();&lt;br /&gt;
      for (int i = 0; i &amp;lt; ncomponents; ++i) {&lt;br /&gt;
        applyOrientation(container.getComponent(i), o);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Container: getFocusTraversalPolicy() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
import java.awt.ruponent;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.FlowLayout;&lt;br /&gt;
import java.awt.FocusTraversalPolicy;&lt;br /&gt;
import java.awt.KeyboardFocusManager;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    JButton component1 = new JButton(&amp;quot;1&amp;quot;);&lt;br /&gt;
    JButton component2 = new JButton(&amp;quot;2&amp;quot;);&lt;br /&gt;
    JButton component3 = new JButton(&amp;quot;3&amp;quot;);&lt;br /&gt;
    frame.setLayout(new FlowLayout());&lt;br /&gt;
    frame.add(component1);&lt;br /&gt;
    frame.add(component2);&lt;br /&gt;
    frame.add(component3);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
    System.out.println(findNextFocus().getName());&lt;br /&gt;
  }&lt;br /&gt;
  public static Component findNextFocus() {&lt;br /&gt;
    Component c = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();&lt;br /&gt;
    Container root = c.getFocusCycleRootAncestor();&lt;br /&gt;
    FocusTraversalPolicy policy = root.getFocusTraversalPolicy();&lt;br /&gt;
    Component nextFocus = policy.getComponentAfter(root, c);&lt;br /&gt;
    if (nextFocus == null) {&lt;br /&gt;
      nextFocus = policy.getDefaultComponent(root);&lt;br /&gt;
    }&lt;br /&gt;
    return nextFocus;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Container: setFocusTraversalPolicy(FocusTraversalPolicy policy) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.awt.ruponent;&lt;br /&gt;
import java.awt.Container;&lt;br /&gt;
import java.awt.FocusTraversalPolicy;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.ruparator;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.SortingFocusTraversalPolicy;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Reverse Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.setLayout(new GridLayout(3, 3));&lt;br /&gt;
    for (int i = 0; i &amp;lt; 9; i++) {&lt;br /&gt;
      JButton button = new JButton(Integer.toString(i));&lt;br /&gt;
      frame.add(button);&lt;br /&gt;
    }&lt;br /&gt;
    final Container contentPane = frame.getContentPane();&lt;br /&gt;
    Comparator&amp;lt;Component&amp;gt; comp = new Comparator&amp;lt;Component&amp;gt;() {&lt;br /&gt;
      public int compare(Component c1, Component c2) {&lt;br /&gt;
        Component comps[] = contentPane.getComponents();&lt;br /&gt;
        List list = Arrays.asList(comps);&lt;br /&gt;
        int first = list.indexOf(c1);&lt;br /&gt;
        int second = list.indexOf(c2);&lt;br /&gt;
        return second - first;&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    FocusTraversalPolicy policy = new SortingFocusTraversalPolicy(comp);&lt;br /&gt;
    frame.setFocusTraversalPolicy(policy);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>