<?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%2Fjavax.swing%2FComboBoxEditor</id>
		<title>Java by API/javax.swing/ComboBoxEditor - История изменений</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%2Fjavax.swing%2FComboBoxEditor"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/ComboBoxEditor&amp;action=history"/>
		<updated>2026-04-21T13:39:32Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/ComboBoxEditor&amp;diff=697&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/javax.swing/ComboBoxEditor&amp;diff=697&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/javax.swing/ComboBoxEditor&amp;diff=698&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/javax.swing/ComboBoxEditor&amp;diff=698&amp;oldid=prev"/>
				<updated>2010-05-31T14:19:28Z</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;== implements ComboBoxEditor ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.ruponent;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import javax.swing.ruboBoxEditor;&lt;br /&gt;
import javax.swing.Icon;&lt;br /&gt;
import javax.swing.ImageIcon;&lt;br /&gt;
import javax.swing.JComboBox;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JTextField;&lt;br /&gt;
import javax.swing.border.BevelBorder;&lt;br /&gt;
public class MainClass extends JPanel {&lt;br /&gt;
  private IconItem items[] = { new IconItem(&amp;quot;A&amp;quot;, &amp;quot;A.gif&amp;quot;),&lt;br /&gt;
      new IconItem(&amp;quot;B&amp;quot;, &amp;quot;B.gif&amp;quot;),&lt;br /&gt;
      new IconItem(&amp;quot;C&amp;quot;, &amp;quot;C.gif&amp;quot;) };&lt;br /&gt;
  Map itemMap = new HashMap();&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    // Build a mapping from book titles to their entries&lt;br /&gt;
    for (int i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
      itemMap.put(items[i].getTitle(), items[i]);&lt;br /&gt;
    }&lt;br /&gt;
    setLayout(new BorderLayout());&lt;br /&gt;
    JComboBox bookCombo = new JComboBox(items);&lt;br /&gt;
    bookCombo.setEditable(true);&lt;br /&gt;
    bookCombo.setEditor(new MyComboBoxEditor(itemMap, items[0]));&lt;br /&gt;
    bookCombo.setMaximumRowCount(4);&lt;br /&gt;
    bookCombo.addActionListener(new ActionListener() {&lt;br /&gt;
      public void actionPerformed(ActionEvent e) {&lt;br /&gt;
        System.out.println(&amp;quot;You chose &amp;quot; + ((JComboBox) e.getSource()).getSelectedItem() + &amp;quot;!&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    bookCombo.setActionCommand(&amp;quot;Hello&amp;quot;);&lt;br /&gt;
    add(bookCombo, BorderLayout.CENTER);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String s[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Combo Box Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.setContentPane(new MainClass());&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class IconItem {&lt;br /&gt;
  private final String title;&lt;br /&gt;
  private final String imagePath;&lt;br /&gt;
  private ImageIcon image;&lt;br /&gt;
  public IconItem(String title, String imagePath) {&lt;br /&gt;
    this.title = title;&lt;br /&gt;
    this.imagePath = imagePath;&lt;br /&gt;
  }&lt;br /&gt;
  public String getTitle() {&lt;br /&gt;
    return title;&lt;br /&gt;
  }&lt;br /&gt;
  public ImageIcon getImage() {&lt;br /&gt;
    if (image == null) {&lt;br /&gt;
      image = new ImageIcon(imagePath);&lt;br /&gt;
    }&lt;br /&gt;
    return image;&lt;br /&gt;
  }&lt;br /&gt;
  // Override standard toString method to give a useful result&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return title;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyComboBoxEditor implements ComboBoxEditor {&lt;br /&gt;
  Map map;&lt;br /&gt;
  ImagePanel panel;&lt;br /&gt;
  ImageIcon questionIcon;&lt;br /&gt;
  public MyComboBoxEditor(Map m, IconItem defaultChoice) {&lt;br /&gt;
    map = m;&lt;br /&gt;
    panel = new ImagePanel(defaultChoice);&lt;br /&gt;
    questionIcon = new ImageIcon(&amp;quot;question.gif&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public void setItem(Object anObject) {&lt;br /&gt;
    if (anObject != null) {&lt;br /&gt;
      panel.setText(anObject.toString());&lt;br /&gt;
      IconItem entry = (IconItem) map.get(anObject.toString());&lt;br /&gt;
      if (entry != null)&lt;br /&gt;
        panel.setIcon(entry.getImage());&lt;br /&gt;
      else&lt;br /&gt;
        panel.setIcon(questionIcon);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public Component getEditorComponent() {&lt;br /&gt;
    return panel;&lt;br /&gt;
  }&lt;br /&gt;
  public Object getItem() {&lt;br /&gt;
    return panel.getText();&lt;br /&gt;
  }&lt;br /&gt;
  public void selectAll() {&lt;br /&gt;
    panel.selectAll();&lt;br /&gt;
  }&lt;br /&gt;
  public void addActionListener(ActionListener l) {&lt;br /&gt;
    panel.addActionListener(l);&lt;br /&gt;
  }&lt;br /&gt;
  public void removeActionListener(ActionListener l) {&lt;br /&gt;
    panel.removeActionListener(l);&lt;br /&gt;
  }&lt;br /&gt;
  class ImagePanel extends JPanel {&lt;br /&gt;
    JLabel imageIconLabel;&lt;br /&gt;
    JTextField textField;&lt;br /&gt;
    public ImagePanel(IconItem initialEntry) {&lt;br /&gt;
      setLayout(new BorderLayout());&lt;br /&gt;
      imageIconLabel = new JLabel(initialEntry.getImage());&lt;br /&gt;
      imageIconLabel.setBorder(new BevelBorder(BevelBorder.RAISED));&lt;br /&gt;
      textField = new JTextField(initialEntry.getTitle());&lt;br /&gt;
      textField.setColumns(45);&lt;br /&gt;
      textField.setBorder(new BevelBorder(BevelBorder.LOWERED));&lt;br /&gt;
      add(imageIconLabel, BorderLayout.WEST);&lt;br /&gt;
      add(textField, BorderLayout.EAST);&lt;br /&gt;
    }&lt;br /&gt;
    public void setText(String s) {&lt;br /&gt;
      textField.setText(s);&lt;br /&gt;
    }&lt;br /&gt;
    public String getText() {&lt;br /&gt;
      return (textField.getText());&lt;br /&gt;
    }&lt;br /&gt;
    public void setIcon(Icon i) {&lt;br /&gt;
      imageIconLabel.setIcon(i);&lt;br /&gt;
      repaint();&lt;br /&gt;
    }&lt;br /&gt;
    public void selectAll() {&lt;br /&gt;
      textField.selectAll();&lt;br /&gt;
    }&lt;br /&gt;
    public void addActionListener(ActionListener l) {&lt;br /&gt;
      textField.addActionListener(l);&lt;br /&gt;
    }&lt;br /&gt;
    public void removeActionListener(ActionListener l) {&lt;br /&gt;
      textField.removeActionListener(l);&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>