当前位置:编程学习 > JAVA >>

JComboBox向上显示的问题

如题, 下面代码是网上找的, 网上说可以让下拉列表向上显示, 还有截图, 我的运行结果怎么不行?

import java.awt.BorderLayout;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.plaf.basic.BasicComboPopup;

public class PopupComboBox extends JComboBox {

public PopupComboBox(Object[] values) {
super(values);
}

public static void main(String[] args) {

Object[] values = { "Zhang San", "Li Si", "Wang Wu", "Sun Liu" };

JFrame frame = new JFrame("Pop *UP* JComboBox");
JComboBox comboBox = new PopupComboBox(values);
frame.add(comboBox, BorderLayout.PAGE_START);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(true);
}

public void firePopupMenuWillBecomeVisible() {
BasicComboPopup popup = (BasicComboPopup) getUI().getAccessibleChild(
this, 0);
int height = popup.getHeight();
if (height == 0) {
height = popup.getPreferredSize().height;
}
popup.setLocation(getLocationOnScreen().x, getLocationOnScreen().y
- height);
super.firePopupMenuWillBecomeVisible();
}
}


运行结果如下图, (JDK1.7)
--------------------编程问答-------------------- 你把jcom放最下面...可以向上显示.. --------------------编程问答--------------------
引用 1 楼 Mr_sunboy 的回复:
你把jcom放最下面...可以向上显示..

你是说
frame.add(comboBox, BorderLayout.PAGE_END);

这个也不行的, 我想让他在哪都向上显示。。。。 --------------------编程问答-------------------- 这东西是控件啊,怎么改啊???会不会有属性支持向上啊,否则应该没得改了~~~~ --------------------编程问答--------------------
引用 3 楼 fish8245 的回复:
这东西是控件啊,怎么改啊???会不会有属性支持向上啊,否则应该没得改了~~~~

。。。。。。。。。。
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,