如题,没分了,望大家见谅!

解决方案 »

  1.   

    沒明白lz的意思~~   你是說jcombobox的內容?
      

  2.   

    是这样的,我自定义了个JComboBox里面又添加了些参数,这些参数是在netbeans的属性窗口设置的,我要在JComboBox所在的界面显示的时候就根据设置的参数从数据库里查出来,添加到JComboBox里,可是在自定义了的JComboBox构造方法里访问不到我所设置的参数,可能是在构造的时候参数还没有传进来,所以就想着在JComboBox刚显示出来,或者刚添加到面板里的时候再根据这些参数从数据库里查些东西添加到JComboBox里,我试了ContainerListener里的componentAdded和ComponentListener里的componentShown,不知道是我添加监听器的时候错了还是怎么的,就是不执行这两个方法
    this.addContainerListener(new ContainerAdapter(){
               
                @Override
                public void componentAdded(ContainerEvent e) {
                    System.out.println("ComponentAdded");
                    init();
                }
            });
            this.getEditor().getEditorComponent().addComponentListener(new ComponentAdapter(){
               
                @Override
                public void componentShown(ComponentEvent e) {
                    System.out.println("ComponentShown");
                    init();
                }
            });
    就是不执行打印语句,不知道为什么,请大虾指教!
      

  3.   

    还是不明白你的参数是什么意思……也许是我理解力差吧
    你的意思是combobox里的内容是数据库根据netbeans里的参数查找的结果是吗?
      

  4.   

    是啊,比如说我自定义的JComboBox里面有个成员变量BS,在面板上放了两个我自定义的JComboBox,一个叫JCB1另一个叫JCB2,我在netbeans属性窗口里设置值JCB1的BS值为"兰州",JCB2的BS的值为"北京",有个数据库表里放的是各个城市的旅游景点,在界面显示出来的时候,它JCB1里已经添加好了兰州所有的旅游景点,JCB2里已经添加好了北京所有的旅游景点,不知道我这样说,你明白了没有?
      

  5.   

    我想问的是JAVA里有没有像componentShown,componentAdded之类的在组件构造后,并且在它显示出来这之间的事件
      

  6.   

    写一个cellRender,在Render里实现你想如何填写数据。
    例如:
    public CardComboBox()
    {
    super();
    this.setRenderer(new CardComboBoxCellRender());
    }
    private class CardComboBoxCellRender extends DefaultListCellRenderer 
    {
    public Component getListCellRendererComponent(JList list, Object value, int index,
    boolean isSelected, boolean cellHasFocus) 
    {
    super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
    {//处理代码
    }
    return this;
    }
    }
      

  7.   

    你应该是由netbeans把参数传到数据库,数据库把结果集传给combobox,然后new combobox(结果集)