我有我的方法排序類dvd的數組(dArray)中的所有電影。現在我只需要排序可用的電影(setAvailable == true)。客戶通過從菜單中輸入電影來動態填充陣列。我的代碼當前搜索數組,並將所有電影從A到B排序,但是現在我想要它搜索並僅排序電影,從而d.setAvailable(true)...感謝您的幫助。非常感謝我需要排序可供租用的電影列表
這裏是陣列中的所有電影的排序列表:
if(e.getSource() == sortMovBtn)
{
if(dArray[0]==null)
{
JOptionPane.showMessageDialog(null,"No movies, please enter\na movie from the main menu","Error",JOptionPane.ERROR_MESSAGE);
}
else
{
BtnPanel.setVisible(false);
imgPnl.setVisible(false);
btnBackDvd.setVisible(true);
txtAreaSortDvd.setVisible(true);
sortDvdPnl.setVisible(true);
Dvd tmp;
for (int i = 0; i < manyDvd; i++)
{
for (int j = 0; j < (manyDvd - 1 - i); j++)
{
if (dArray[j].getTitle().compareTo(dArray[j+1].getTitle()) > 0)
{
tmp = dArray[j];
dArray[j] = dArray[j+1];
dArray[j+1] = tmp;
}
}
}
a = "";
for (int k = 0; k <manyDvd /*dArray.length*/; k++)
a += (dArray[k]);
txtAreaSortDvd.setText(a);
txtAreaSortDvd.setVisible(true);
txtAreaSortDvd.setEditable(false);
//Set font of text area
txtAreaSortDvd.setFont(new Font("Arial", Font.BOLD, 12));
//Initialize JScrollPane
JScrollPane pane1 = new JScrollPane(txtAreaSortDvd);
//Enable user to use wheel on mouse to scroll
pane1.setWheelScrollingEnabled(true);
//Set the scrollbar to always show
pane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
//Add ScrollPane to Panel
sortDvdPnl.add(pane1);
//Add panel to frame
add(sortDvdPnl);
}
}
請刪除所有不是直接與代碼**相關的代碼。見[SSCCE](http://sscce.org) – Bohemian
將所有可用的電影添加到一個新的列表,排序並顯示一個? –
你如何向用戶顯示信息?請注意,['JTable'](http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html)具有[set](http://docs.oracle.com)的內置功能.com/javase/7/docs/api/javax/swing/JTable.html#setRowSorter%28javax.swing.RowSorter%29)a ['DefaultRowSorter'](http://docs.oracle.com/javase/7/ docs/api/javax/swing/DefaultRowSorter.html)也可以篩選條目。 –