gpt4 book ai didi

java - JOptionPane.showMessageDialog 的可选替代方案

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:11:16 25 4
gpt4 key购买 nike

背景信息:

我有一个在海军服役的伙伴,他想知道我是否可以为他开发一个小应用程序,该应用程序可以在他执行 guard 任务时进行计算,因为显然依靠日历很难计算。我使用 JOptionPane.showMessageDialog 将日期输出给他。这就是我的做法。

GregorianCalendar knownDate = new GregorianCalendar(year,month,day);

GregorianCalendar[] futureDates = new GregorianCalendar[10];
for(int i = 0; i < 10; i++) {
futureDates[i] = new GregorianCalendar(year,month,day);
futureDates[i].add(Calendar.DAY_OF_MONTH,10*(i+1)); // duty every 10 days
}
String newline = System.getProperty("line.separator");
StringBuilder sb = new StringBuilder("Jakes duty dates:").append(newline);
for(GregorianCalendar d : futureDates) {
sb.append(months[d.get(Calendar.MONTH)]).append(" ");
sb.append(d.get(Calendar.DAY_OF_MONTH)).append(newline);
}
JOptionPane.showMessageDialog(null,sb.toString());

“唯一的问题”是您无法选择显示的文本。他想为 IM 和电子邮件选择它,因为只有一半懒惰有什么意义,对吧? (唯一的问题是在引号中,因为我有一种感觉,他会把这个范围扩大到死……哈哈)

我的问题:

是否有制作可选 showMessageDialog 的“单行解决方案”?

最佳答案

我能够以 trashgod 的回答为基础。虽然他建议使用 JList,但我使用的是 JTextArea(它提供了我需要的选择类型。)

这是我正在做的:

JTextArea text = new JTextArea(sb.toString());
JOptionPane.showMessageDialog(null,text);

它的工作就像一个魅力!

============================================= =

经过一些实验,我这样做了:

DefaultListModel model = new DefaultListModel();
for(GregorianCalendar g : futureDates) {
String m = months[g.get(Calendar.MONTH)];
String d = String.valueOf(g.get(Calendar.DAY_OF_MONTH));
model.addElement(m + " " + d);
}
JList jlist = new JList(model);

JOptionPane.showMessageDialog(null,jlist);

JOptionPane.showMessageDialog(null,jlist.getSelectedValue());

第二个框显示我在第一个框上选择的内容。我对此印象深刻。现在承认,这不是我想要的功能(顶部部分是),但这并没有使它变得不那么棒! :-)

关于java - JOptionPane.showMessageDialog 的可选替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5371824/

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