JComboBox的下拉框向上

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  最近学习SWING,改变JComboBox的的显示方式,这里是将JComboBox的下拉框向上显示,以下为详细代码:
  package kissJava.JComboBox;
  import java.awt.Dimension;
  import javax.swing.JButton;
  import javax.swing.JComboBox;
  import javax.swing.JComponent;
  import javax.swing.JFrame;
  import javax.swing.plaf.ComboBoxUI;
  import javax.swing.plaf.ComponentUI;
  import javax.swing.plaf.basic.BasicArrowButton;
  import javax.swing.plaf.basic.BasicComboBoxUI;
  import javax.swing.plaf.basic.BasicComboPopup;
  import javax.swing.plaf.basic.ComboPopup;
  public class PopupComboSample extends JFrame...{
  String labels[] = ...{ "Chardonnay", "Sauvignon", "Riesling", "Cabernet",
  "Zinfandel", "Merlot", "Pinot Noir", "Sauvignon Blanc",
  "Syrah", "Gewurztraminer" };
  JComboBox jcb = null;
  public PopupComboSample()...{
  this.setTitle("下拉框向上");
  this.setLayout(null);
  jcb = new JComboBox(labels);
  //setUI.......
  jcb.setUI((ComboBoxUI) MyComboBoxUI.createUI(jcb));
  jcb.setBounds(50, 150, 200, 20);
  this.add(jcb, null);
  setSize(300, 300);
  setVisible(true);
  }
  public static void main(String args[]) ...{
  new PopupComboSample();
  }
  static class MyComboBoxUI extends BasicComboBoxUI ...{
  int newsBarTitleWidth = 0;
  public static ComponentUI createUI(JComponent c) ...{
  return new MyComboBoxUI();
  }
  //改变箭头的方向
  protected JButton createArrowButton() ...{
  JButton button = new BasicArrowButton(BasicArrowButton.NORTH);
  return button;
  }
  //改变comboBox的弹出方向
  protected ComboPopup createPopup() ...{
  BasicComboPopup popup = new BasicComboPopup(comboBox)...{
  public void show() ...{
  //大小按需要更改考试大-全国最大教育类网站(www.Examda。com)
  Dimension popupSize = new Dimension(200 - newsBarTitleWidth - 5, 17 * 5);
  scroller.setMaximumSize(popupSize);
  scroller.setPreferredSize(popupSize);
  scroller.setMinimumSize(popupSize);
  show(comboBox, newsBarTitleWidth, -17 * 5);//getPopupHeightForRowCount(10));
  }
  };
  popup.getAccessibleContext().setAccessibleParent(comboBox);
  return popup;
  }
  }
  }

  编辑特别推荐:

  2009年9月全国计算机等级考试真题及答案

  2009年9月全国计算机等级考试成绩查询

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答