项目2、项目4、项目1。
然后我们需要显示选择选项的顺序。
目前,我已经创建了一段代码,部分满足了这一要求,但输出非常奇怪,很难解释······
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*<applet code = "ListDemo" width = "500" height = "500"></applet>*/
public class ListDemo extends Applet implements ItemListener{
List l1;
String msg;
int selected = 0;
int ordered[] = new int[6];
public void init(){
l1 = new List(3, true);
l1.add("Java"); l1.add("Advance Java");
l1.add("OS"); l1.add("Python");
l1.add("JavaScript"); l1.add("Data Structures");
add(l1);
l1.addItemListener(this);
for(int i = 0; i < ordered.length; ordered[i++] = -1);
}
public void itemStateChanged(ItemEvent ie){
repaint();
}
private void removeElement(int index){
for(int i = index; i < selected; i++){
ordered[i] = ordered[i++];
}
}
public void paint(Graphics g){
msg = "The Selected Subjects are: ";
int indexes[] = l1.getSelectedIndexes();
for(int i = 0; i < indexes.length; i++){
int j = 0;
for(; j < ordered.length; j++){
if(ordered[j] == indexes[i]){ break; }
}
if(j == ordered.length){
ordered[selected++] = indexes[i];
}
}
for(int i = 0; i < selected; i++){
int j = 0;
for(; j < indexes.length; j++){
if(ordered[i] == indexes[j]){ break; }
}
if(j == indexes.length){
selected--;
removeElement(i);
}
}
for(int i = 0; i < selected; System.out.println(l1.getItem(ordered[i++])));
System.out.println("\n\n");
for(int i = 0; i < selected; msg += l1.getItem(ordered[i++]) + " ");
g.drawString(msg, 10, 200);
}
}
我是一个程序员新手,如果我没有遵守某些约定,或者变量的命名不是很好,或者我犯了任何应该被注意到的愚蠢错误,请对我放松一点。任何形式的输入都是赞赏的!
小程序已经死了--我们不会支持它们,是时候让你的学校走出黑暗时代了。
你会很幸运找到任何人谁有很多经验与AWT,甚至Swing。是时候转移到JavaFX了。
无论如何,这将完成您试图完成的任务,但您必须弄清楚它是如何工作的,并将其重新应用到您的解决方案中
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
private JList<String> lstItems;
private List<String> selectedItems = new ArrayList<>(25);
public TestPane() {
setLayout(new BorderLayout());
DefaultListModel<String> model = new DefaultListModel<>();
model.addElement("Java");
model.addElement("Advance Java");
model.addElement("OS");
model.addElement("Python");
model.addElement("JavaScript");
model.addElement("Data Structures");
lstItems = new JList<>(model);
add(new JScrollPane(lstItems));
lstItems.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int index = lstItems.locationToIndex(e.getPoint());
if (index >= 0) {
String value = lstItems.getModel().getElementAt(index);
List<String> selectedValues = lstItems.getSelectedValuesList();
List<String> temp = new ArrayList<>(selectedItems);
temp.removeAll(selectedValues);
selectedItems.removeAll(temp);
if (selectedValues.contains(value)) {
selectedItems.add(value);
}
}
}
});
JButton btn = new JButton("Order");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(TestPane.this, selectedItems);
}
});
add(btn, BorderLayout.SOUTH);
}
}
}
问题内容: 我有类似的东西 如果我只是这样做,它将以ID升序返回行。有没有一种方法可以按照IN语句中给出的顺序取回行? 问题答案: 您应该使用“ ORDER BY FIELD”。因此,例如:
问题内容: 我认为使用某种顺序才有意义。我想做的是在视图中包括该子句,以便该视图上的所有s都可以忽略它。但是,我担心该订单不一定会延续到,因为它没有指定订单。 是否存在一种情况,即视图指定的顺序不会反映在该视图上的select结果中(该视图中的order by子句除外)? 问题答案: 您不能指望没有显式子句的任何查询中的行顺序。如果查询有序视图,但没有包括子句,则如果它们的顺序正确,请感到惊喜,并
我知道有很多关于这个的话题,但是我找不到解决我的问题的方法。我知道如果我在hibernate中使用“不同”和“order by”,order by中的列必须在选择子句中。其他文章只是说该列必须在选择中,但是我还没有找到一个示例来实现这一点。 这是我的班级: 我的(不工作)查询: 例如,如果我按标题排序,它是有效的。我试图在select子句中设置学名: 但是然后hibernate抱怨查询的返回类型不
在python上使用xslt 1.0,我试图在指定顺序时选择几个项目: 如果我使用一个带有一个大的或在一起列表的for-each,我可以得到我想要的项目,但是只能按照上面xml源文档的原始顺序。 这就产生了: 但我想让它输出: 我认为使用xsl:apply模板可能是一种方法,但即使是这个简单的示例,我也无法让它工作。XSLT1.0中按特定顺序选择元素的最佳方法是什么?
本文向大家介绍使用MySQL仅按ASC顺序显示记录列表,包括了使用MySQL仅按ASC顺序显示记录列表的使用技巧和注意事项,需要的朋友参考一下 要以特定顺序显示记录列表,您需要设置条件并使用ORDER BY。为此,请使用ORDER BY CASE语句。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是查询以ASC顺序显示特定