草庐IT

java - JList - 单击已选择的项目时取消选择

如果单击JList上的选定索引,我希望它取消选择。换句话说,单击索引实际上会切换它们的选择。看起来不支持,所以我尝试了list.addMouseListener(newMouseAdapter(){publicvoidmousePressed(MouseEventevt){java.awt.Pointpoint=evt.getPoint();intindex=list.locationToIndex(point);if(list.isSelectedIndex(index))list.removeSelectionInterval(index,index);}});这里的问题是在JLi

java - 框架、 Pane 或面板在 swing 中有什么用?

我读到JFrame由多个Pane组成..什么是Pane以及为什么Jframe由Pane组成?以及为什么有JPanel而JFrame看起来与JPanel完全一样但是有一个菜单栏和一个关闭按钮那么JPanel的需要是什么?任何人都可以向我清楚地解释这3个组件的定义和用法吗? 最佳答案 有顶级容器,例如JFrame。这些可以作为构建GUI的主窗口。然后是中级容器。这些必须放在其他容器中,它们不能单独存在。它们要么帮助您组织组件,要么添加功能。JPanel是一个非常简单的容器,可帮助您组织其他组件。而JSplitPane添加了具有两个可变大

java - 使用递增和递减按钮在 java Swing 中创建一个数字文本框

如何在javaswing中创建一个数字文本框,它有两个按钮(向上和向下),分别递增和递减文本框中的值。此外,此文本框必须可以使用ONLYNUMERICVALUES进行编辑。像这样我尝试在文本框附近放置两个按钮,然后在单击按钮时手动执行操作。是否有任何其他方法可以让我以更好的方式做到这一点并获得与第一张图片相似的结果。谢谢:) 最佳答案 使用JSpinnerHowtouseSpinnersinjava根据您的评论:SpinnerModelmodel=newSpinnerNumberModel(9.9,1,15,0.1);JSpinne

java - 获取字体、大小、粗体等

我在查找有关访问Windows字体或预定义字体和大小的内容时遇到问题。因此,对于我的java程序,我有一个包含字体、大小和颜色的JComboBox。问题是我需要预先输入字体、大小和颜色。我怎样才能获得预定义的字体、颜色和大小?到目前为止,这就是我对这种字体的看法,但方式不正确。if(font.equals("Arial")){if(size.equals("8")){setSize=8;}elseif(size.equals("10")){setSize=10;}elseif(size.equals("12")){setSize=12;}if(color.equals("Black")

java - 如何在输入验证期间显示临时气球工具提示?

我有点习惯GUI惯用语,当我在文本输入字段中键入错误时,该字段会弹出一个气球,其中包含有关我输入错误/预期输入的信息。在我再次输入之前,它一直可见。但是现在我找不到任何可以指向的例子。给定一个JTextfield,您是否知道任何库/代码会在我的key监听器触发时显示这样的气球?@见http://www.javapractices.com/topic/TopicAction.do?Id=151 最佳答案 BalloonTip是一个执行此操作的库:balloonTip=newBalloonTip(f,"Tooltipmsg");这就是所

java - 如何在 Swing 中创建延迟

我做了一个21点游戏,我希望AI玩家在拿牌之间暂停一下。我尝试简单地使用Thread.sleep(x),但这会使它卡住,直到AI玩家完成他所有的牌。我知道Swing不是线程安全的,所以我查看了Timers,但我不明白如何为此使用它。这是我当前的代码:while(JB.total0)){case0:JB.hit();break;case1:breakdone;case2:JB.hit();JB.bet*=2;breakdone;}}顺便说一句,hit();方法更新GUI。 最佳答案 soIlookedatTimers,butIcoul

java - 取消文件打开对话框后出现 InterruptedException - 1.6.0_26

以下代码的输出是:java.vendorSunMicrosystemsInc.java.version1.6.0_26java.runtime.version1.6.0_26-b03sun.arch.data.model32os.nameWindowsXPos.version5.1os.archx86Inputselectioncancelledbyuser.Exceptionwhileremovingreference:java.lang.InterruptedExceptionjava.lang.InterruptedExceptionatjava.lang.Object.wait

java - 使 JTextArea 的一部分不可编辑(而不是整个 JTextArea!)

我目前正在使用Swing开发控制台窗口。它基于JTextArea并且像普通命令行一样工作。您在一行中键入一条命令,然后按回车键。在下一行中,显示了输出,在该输出下,您可以编写下一条命令。现在我想要的是,您只能使用您的命令编辑当前行。上面的所有行(旧命令和结果)都应该是不可编辑的。我该怎么做? 最佳答案 您不需要创建自己的组件。这可以使用自定义DocumentFilter来完成(正如我已经完成的那样).您可以从textPane.getDocument()获取文档并通过document.setFilter()对其设置过滤器。在过滤器中,

java - 如何防止 JList 在单元格边界外进行选择?

“有什么方法可以防止JList在用户单击列表下方的最后一个元素时选择最后一个元素吗?”这是有人问的问题here我有同样的问题。那个人找到了一个马马虎虎的解决方案(通过覆盖processMouseEvent()),但我想知道是否有更好/更优雅的方法来做到这一点。[编辑]好的,更详细一点。如果您有一个JList并且有一些空间未被任何单元格/元素占用,您单击该空间然后JList中的最后一个元素被选中。对于一个真实的例子,试试这个JListSwingTutorialexample,单击空白区域可以看到Rollo已被选中。 最佳答案 参见ht

Java Swing - 具有 3 种状态的 JCheckbox(完全选中、部分选中和取消选中)

这个问题在这里已经有了答案:TristateCheckboxesinJava(9个回答)关闭6年前。我想要一个具有3种状态的JCheckbox,如下所示:部分选择未选中全选Q1。我可以将JCheckbox用于上述目的还是必须使用一些自定义swing组件?