在对Swing进行一些操作后更新UI的正确方法是什么?例如,点击一个按钮后,调用一个方法可能几乎是即时的或需要几秒钟。事实上,所有应用程序逻辑都是通过Web服务远程完成的,因此稍等片刻以等待应用程序响应是正常的。我的按钮事件处理程序可能如下所示:myButton.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.event.ActionEventevt){//callWebService();//dostuff//updateUI();//我当前的实现调用upd
我正在寻找一个漂亮且体面的时间选择器组件。在Swing上有很多选择日期的选择,但没有选择时间。我在JQuery上看到了很好的日期/时间组件选择(例如:http://trentrichardson.com/examples/timepicker/)。Swing上有类似的东西吗?提前致谢。 最佳答案 使用JSpinner与SpinnerNumberModel 关于java-Swing时间选择器,我们在StackOverflow上找到一个类似的问题: https:/
你们真是太棒了,在我上一个问题中为我指明了正确的方向,我在这里对我的原始问题进行了某种扩展:HowtosetaJTablecolumnasStringandsortasDouble?因为我现在通过使用我的自定义单元格渲染器将我的价格列格式化为$###,##0.00,所以我现在也为该单元格设置了一个JTextField编辑器。单元格的编辑工作正常,除了更新值时,我的自定义渲染器中设置的数字格式似乎不再格式化单元格(我在提交编辑后丢失了$)。即使在初始显示数据之后,此渲染器也不应该渲染单元格吗?我曾尝试使用以下内容,但没有成功:((AbstractTableModel)table.getM
我目前正在开发一个kiosk风格的Java程序来显示天气、时间、预报等。这是程序应该的样子的截图(时间更新前的截图)各个部分被创建为JPanel,并覆盖了paintComponent()方法。他们绘制渐变标题和半透明背景。但是,当我更改其中一个面板的内容时,以前的内容会保留下来,而不是被删除。示例如下:可以看到,当时间从11:51变为11:52时,数字重叠了,背景变浅了(因为重绘了半透明背景)图形错误我应该怎么做才能防止这种重叠?最终,我宁愿在单个面板更新其内容时不必重绘整个屏幕。我宁愿只重画那个特定的部分。重新绘制背景很容易,然后再绘制其中的所有组件。更新有几个答案涉及清除要绘制的区
JDK7添加了一个新的透明度slider到JColorChooser:问题是我不想让我的用户选择透明颜色。不幸的是,似乎没有一种简单的方法来禁用slider。消除透明度的一种方法是仅根据所选颜色创建一种新颜色,但删除alpha值。然而,这会给用户一种错误的印象,因为slider现在实际上什么都不做,我不希望周围有一个无用的UI元素。所以我的问题是,摆脱透明度slider的最佳方法是什么?P.S.:IMO,他们只是添加slider并将其设为默认行为,这很奇怪。这可能会导致JDK6程序中出现很多错误,这些错误不期望颜色选择器返回具有alpha值的颜色。 最佳答案
我正在用Javaswing编写一个Java桌面实用程序,其中有一个最小的GUI部分,大部分工作是在服务器端完成的,即后端。所以,我不想花很多时间在GUI部分,学习不同的控件和小部件。问题是Swing有两个控件用于(对我而言)相同的任务,即下拉菜单,它们是JComboBox和JSpinner我不知道其中的区别,而且我不希望任何限制在我选择一个任务后阻碍我完成我的任务。我必须使用下拉菜单来显示List从数据库返回,它可以有多达数千个值。为了防止用户滚动,我将使用起始字母表作为输入,否则会有一些类别限制,所以我可能会使用从List中显示的特定值。.我希望我的程序尽可能高效,并且在前端花费最少
这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:WhatcomponentsshouldIuseforbuildingaJavaWYSIWYGHTMLeditor我是Java编程的新手。我必须在Swing/AWT中做文本编辑器,对此我有一个疑问。我怎样才能编辑一个选定的词,例如改变它的颜色?我应该使用哪个组件和哪些功能?
我自己,我总是使用ActionListener作为swing事件处理程序(例如按钮单击),它是我在大多数swing应用程序中看到的最常见的监听器。但是,stackoverflow中的一些Swing专业人员经常建议使用Action而不是ActionListener.这样做有什么好处? 最佳答案 如果您需要跨组件共享功能,则首选Action。来自docsifyouhavetwoormorecomponentsthatperformthesamefunction,considerusinganActionobjecttoimplement
我无法将JTextField添加到JFrame。我的JFrame包含一个JLabel和一个JTextField。首先,我添加了JLabel,它正在运行。这是代码。privatestaticvoidcreateandshowGUI(){JFrameframe=newJFrame("HelloSwing");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setBackground(Color.red);frame.setSize(200,200);JLabellabel=newJLab
我尝试为JTable创建行过滤器以限制表中显示的行数。RowFilter代码很简单。它将模型行号转换为View行号(如果表格已排序),然后检查View行号是否小于表格中要显示的行数:RowFilterfilter=newRowFilter(){@Overridepublicbooleaninclude(RowFilter.Entryentry){intmodelRow=entry.getIdentifier();intviewRow=table.convertRowIndexToView(modelRow);returnviewRow问题是模型行号并不总是转换为合理的View行号,因此