gpt4 book ai didi

java - 在java中将整数添加到JList

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:22 25 4
gpt4 key购买 nike

我正在制作一个包含两个组件的 jframe。一个列表和一个按钮。该列表从 0 开始,每次我按下按钮,它就会增加 1。因此,如果我按下按钮,jlist 中的值就会从 0 更改为 1。

我的问题是,如何将整数添加到 jlist 中? (我尝试了 setText 方法以防万一 - 仅适用于字符串)

谢谢编辑:我的代码的一部分(ActionListener)

            increase.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
counter++;
System.out.println(counter);
listModel.addElement(counter);
// listModel.clear();
}
});

最佳答案

我假设您想要向 JList 添加一个 int 项,这意味着每次按下按钮时都会在列表显示中弹出一个新的 int 。您可以创建JList<Integer>并将整数(或盒装整数)添加到 JList 的模型中,通常使用 listModel.addElement(myInteger) .

如果您需要清除以前的元素,请在添加元素之前执行此操作,而不是之后执行此操作。例如,

import java.awt.event.ActionEvent;

import javax.swing.*;

public class Foo2 extends JPanel {
private DefaultListModel<Integer> dataModel = new DefaultListModel<>();
private JList<Integer> intJList = new JList<>(dataModel);

public Foo2() {
add(new JScrollPane(intJList));
intJList.setFocusable(false);
add(new JButton(new AbstractAction("Add Int") {
private int count = 0;

@Override
public void actionPerformed(ActionEvent e) {
dataModel.clear(); // if you need to clear previous entries
dataModel.addElement(count);
count++;
}
}));
}

private static void createAndShowGui() {
JFrame frame = new JFrame("Foo2");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new Foo2());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}

关于java - 在java中将整数添加到JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com