JComboBox向上弹出
cookqq ›博客列表 ›swing

JComboBox向上弹出

2012-02-15 23:40:06.0|分类: swing|浏览量: 1726

摘要: 主要就是重载JComboBox里的firePopupMenuWillBecomeVisible方法,使其改变它的弹出行为 .package com.JComB; import ja
主要就是重载JComboBox里的firePopupMenuWillBecomeVisible方法,使其改变它的弹出行为 .
package com.JComB;

import javax.swing.*;

import javax.swing.plaf.basic.*;

public class JComboBoxEx extends JComboBox 
{
       public JComboBoxEx() 
       {
        super();
    }

       public void firePopupMenuWillBecomeVisible() 
       {
              int maxHight = 0;
              
        BasicComboPopup comboPopup = (BasicComboPopup)getUI().getAccessibleChild(this, 0);
        //此为 ComboPopup 接口的基本实现。 此类表示组合框的弹出部分的 UI
        maxHight = comboPopup.getHeight();
        System.out.println("11"+maxHight);
        if (maxHight == 0) 
        	//封装了一个构件的高度和宽度,这个类与一个构件的许多属性具有相关性,因此在Component类中定义多个与之有关的方法,
        	//LayoutManager接口也与一个Dimension对象有关联。Dimension类的高度和宽度值是一个整数,表明有多少个像素点
        {	//getPreferredSize获得相应组件的大小
               maxHight = comboPopup.getPreferredSize().height;
        }
        comboPopup.setLocation(getLocationOnScreen().x, getLocationOnScreen().y - maxHight);

        super.firePopupMenuWillBecomeVisible();
    }
}
package com.JComB;
/*
 <applet code="MainFrame" width="300" height="100"></applet>
*/
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MainFrame extends JApplet 

{
  JComboBoxEx box;
  public MainFrame(){     

  }

  public void init() 

  {

     box = new JComboBoxEx();      
     Container c=getContentPane();   
     c.setLayout(null);   
     Rectangle rc = c.getBounds();
     box.setBounds(new Rectangle(30,30,100, 30));
     box.addItem("1");
     box.addItem("2");
     box.addItem("3");
     box.addItem("4");
     add(box);   
  }

}

一键分享文章

分类列表

  • • struts源码分析
  • • flink
  • • struts
  • • redis
  • • kafka
  • • ubuntu
  • • zookeeper
  • • hadoop
  • • activiti
  • • linux
  • • 成长
  • • NIO
  • • 关键词提取
  • • mysql
  • • android studio
  • • zabbix
  • • 云计算
  • • mahout
  • • jmeter
  • • hive
  • • ActiveMQ
  • • lucene
  • • MongoDB
  • • netty
  • • flume
  • • 我遇到的问题
  • • GRUB
  • • nginx
  • • 大家好的文章
  • • android
  • • tomcat
  • • Python
  • • luke
  • • android源码编译
  • • 安全
  • • MPAndroidChart
  • • swing
  • • POI
  • • powerdesigner
  • • jquery
  • • html
  • • java
  • • eclipse
  • • shell
  • • jvm
  • • highcharts
  • • 设计模式
  • • 列式数据库
  • • spring cloud
  • • docker+node.js+zookeeper构建微服务
版权所有 cookqq 感谢访问 支持开源 京ICP备15030920号
CopyRight 2015-2018 cookqq.com All Right Reserved.