在组合框中选择升序时如何对元素列表进行排序

Posted

技术标签:

【中文标题】在组合框中选择升序时如何对元素列表进行排序【英文标题】:how to sort the list of elements when ascendingorder is selected in the combobox 【发布时间】:2015-02-21 07:29:03 【问题描述】:

我创建了一个组合,其中包含包含字符串的列表。我有一个组合框,其中包含选项升序和降序。所以现在如果我在组合框中选择升序,则列表应按字母顺序排序。那么如何做到这一点。

例如,如果我的合成包含列表“一些”、“零”、“一个” 并在我的组合框中选择升序,它应该被排序并显示为一,一些,零。

创建组合框的代码如下

String[] ITEMS1 = "A-Z",  "Z-A"  ;
comboSort = new Combo(comboComposite, SWT.NONE);
        comboSort.setBounds(84, 2, 91, 23);
        comboSort.setItems(ITEMS1);


        tabFolder = new TabFolder(topComposite, SWT.NONE);
        GridData tabFolderGD = new GridData(SWT.FILL, GridData.FILL, true, true);
        tabFolderGD.verticalIndent = 4;
        tabFolderGD.horizontalSpan = 2;
        tabFolder.setLayoutData(tabFolderGD);

        TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
        tabItem.setText("My created");
        createListViewMycreated(tabFolder,tabItem);

tabitem和监听的代码如下

private void createListViewMycreated(Composite composite, TabItem ItemMycreated)
        List myCreatedList = new List(composite,SWT.BORDER);
        myCreatedList.setItems(new String[]"CompSetup_SEMCW8459_TiffanyA005    ","Product_Sirius_Perch_OEM0_AID1_00440245156645    ","SW_SEC Test_DEMO_Sirius   ");
        ItemMycreated.setControl(myCreatedList);
        setDragSource(myCreatedList);

        comboSort.addSelectionListener(new SelectionListener() 

            @Override
            public void widgetDefaultSelected(SelectionEvent e) 
                // TODO Auto-generated method stub
                 System.out.println("hi you selected me in combo box"+comboSort.getText());
            

            @Override
            public void widgetSelected(SelectionEvent e) 
                // TODO Auto-generated method stub
                System.out.println("hi you selected me in combo box"+comboSort.getText());
                String ascending =comboSort.getText();
                if (ascending== "A-Z")
                

                
            


            );

    

那么现在我们如何根据组合框选择对列表进行排序

【问题讨论】:

【参考方案1】:

我认为你的 myCreatedList 有字符串列表。如果你想按升序排序

Collections.sort(myCreatedList);

如果它是下降的那么

Collections.reverse(myCreatedList);

有关收藏的更多信息

check this

【讨论】:

@SrikanthBadida 哦,好吧,我以为你只需要排序的东西。请检查这个,这可能会帮助你编写代码Check this【参考方案2】:

这可能会奏效:

      // Re-sort
      String[] items = combo.getItems();
      Arrays.sort(items);
      combo.setItems(items);

【讨论】:

以上是关于在组合框中选择升序时如何对元素列表进行排序的主要内容,如果未能解决你的问题,请参考以下文章

是否可以通过组合框值列表进行排序?

在 Access 的组合框中自动选择一个值

列表框中显示的组合框的内容

每个循环的组合框

在数据表或连续表单视图中的表单上,我们如何将第二个组合框中的可能值基于第一个组合框中选择的值?

如何从我的SQL SERVER获取我的数据库列表,并使用javafx将其添加到组合框中