我想知道是否有办法检索已添加到JList的所有元素的列表。例如,我希望JList从自定义单元格渲染器返回一个数组或字符串或JLabel列表。
答案 0 :(得分:22)
答案 1 :(得分:3)
当然可以。你var countdownTimer:Timer = new Timer(1000);
countdownTimer.addEventListener(TimerEvent.TIMER, updateTime);
countdownTimer.start();
var startTime:int = getTimer();
function updateTime(e:TimerEvent):void
{
// milliseconds passed
var timePassed:int = getTimer()-startTime;
var seconds:Number = Math.floor(timePassed / 1000);
var minutes:Number = Math.floor(seconds / 60);
var hours:Number = Math.floor(minutes / 60);
seconds %= 60;
minutes %= 60;
hours %= 24;
var sec:String = seconds.toString();
var min:String = minutes.toString();
var hrs:String = hours.toString();
if (sec.length < 2) {
sec = "0" + sec;
}
//A zero will automatic be put to the right side og 1, so "1" will be "10"
if (min.length < 2) {
min = "1" + min;
}
if (hrs.length < 2) {
hrs = "0" + hrs;
}
var time:String = hrs + ":" + min + ":" + sec;
time_txt.text = time;
有一个循环。
示例:
getElementAt()
答案 2 :(得分:1)
试试这个......
=IFERROR(INDEX($A$2:$A$11; MATCH(MIN(IF(COUNTIF(F$1:$F1; $A$2:$A$11)=0; 1; MAX((COUNTIF($A$2:$A$11; "<"&$A$2:$A$11)+1)*2))*(COUNTIF($A$2:$A$11; "<"&$A$2:$A$11)+1)); COUNTIF($A$2:$A$11; "<"&$A$2:$A$11)+1; 0)); "")
答案 3 :(得分:0)
我还没有看到任何人使用最简洁的方式来做到这一点。假设您使用的是Java 8 +:
IntStream.range(0,listModel.size()).mapToObj(listModel::get).collect(Collectors.toList());
与任何循环方法相比,我个人更喜欢它。
答案 4 :(得分:0)
我们还可以使用“消息”对话框从JList(名为)myL中获取元素,因此您可以使用以下方法对JButton对象执行操作。
String item = myL.getSelectedValue();
if( item == null ){
JOptionPane.showMessageDialog(null, "Not selected yet");
}else{
JOptionPane.showMessageDialog(null, item);
}