我有一个正在处理的银行gui应用程序,我的jdialog的setvisible方法似乎有问题。用户提取有效金额后,我会弹出一个简单的对话框,上面写着“正在进行的交易”。在我的dobackground方法中,我不断轮询以检查是否已收到交易。我尝试使用swingworker,但我不明白为什么它不起作用。如果我删除setvisible调用它工作正常,那么为什么setvisible导致系统挂起?这是我的jbuttonmouselistener中的代码:SwingWorkerworker=newSwingWorker(){JDialogwaitForTrans=newJDialog((JFram
我想用javaswing实现如下加载动画:圆圈必须顺时针旋转。最好的制作方法是什么?非常感谢。 最佳答案 只需使用一个ImageIcon和一个动画gif。见setImageObserver在ImageIcon中。可以使用各种在线生成器制作加载图标,例如AjaxLoad. 关于JavaSwing加载动画,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8783535/
我尝试了setPrefferedSize和setSize方法,但对话框仍然以最小尺寸打开。privatevoidmethod(){commandDialog.setPreferredSize(newDimension(100,100));------//ComponentsaddedtodialogPanelcommandDialog.add(dialogPanel);//Triedthisaswell:commandDialog.setSize(40,40);commandDialog.validate();commandDialog.setVisible(true);}
我正在使用javax.swing制作一个应用程序,该应用程序从XML模式(使用JAXFront库)生成表单并将用户填写的数据存储到XML文档中。我在需要时放置了try-catch-finallyblock,但是当主线程结束时(AWT线程仍在运行)捕获异常时我遇到了一点问题。我有两个类完成主要工作,其他类对问题不重要:主类:它具有以下结构。初始化应用程序并运行主框架publicclassMain{publicstaticvoidmain(String[]args){readArgs();//AnINIfilewiththeappconfigModelmodel=initializeEle
首先,我来自具有MVC的PHP背景,当我开始使用PHP时,我浏览了很多次,以尽我所能并在PHP中完善我的MVC-Like设计。很多人喜欢用答案来回答,这对我帮助很大。但是在开始使用Swing进行GUI开发之后,关于Swing中MVC的答案就完全不同了。例如,一个模型也是一个View?根据Oracle'sSuggestionsTextElementModel在这里没有任何逻辑业务,它所做的只是标记(设置颜色等)和设置数据,如设置文本等。当我用PHP开发时,没有AbstractModel这样的东西,因为我总是被告知模型不是类,或者更确切地说,它是处理逻辑业务的整个层。在PHP中,我使用了服
正如标题所说,我只是想在带有LineBorder集的TextArea上设置边距(提供一些填充)。在不设置边框的情况下,.setMargins可以正常工作。这是具体的代码块。aboutArea=newJTextArea("programinfoetc.....");Borderborder=BorderFactory.createLineBorder(Color.BLACK);aboutArea.setSize(400,200);aboutArea.setBorder(border);aboutArea.setEditable(false);aboutArea.setFont(newFo
我正在尝试使用Swing类创建一个网格UI(5*5)。我尝试了一个嵌套循环并将jPanel动态添加到jFrame。而且我还尝试在用户单击并拖放到每个jPanel上时更改它的背景颜色。但是在我的代码中,每个单元格之间存在巨大的间隙,我无法使拖动事件起作用。publicclassclsCanvasPanelextendsJPanel{privatestaticfinalintintRows=5;privatestaticfinalintintCols=5;privateListjpllist=newArrayList();publicclsCanvasPanel(){/***Addeven
我有一个JPanel,其中包含一个JToolbar(包括几个没有文本的按钮)和一个JTable,我需要启用/禁用(使内部小部件不可点击)。我试过这个:JPanelpanel=....;for(Componentc:panel.getComponents())c.setEnabled(enabled);但它不起作用。是否有更好、更通用的解决方案来启用/禁用JPanel中的所有内部组件?从这里的示例开始,我已经使用JLayer部分解决了我的问题http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html:layer=newJ
我有一个组合框。在组合框中选择一个项目后,新的JDialog打开。当我使用JDK1.6_06时,我能够点击JDialog中的按钮适本地。当我使用JDK1.6_24时,然后我需要点击首先是JDialog。然后只需点击按钮有效。首先我认为这个焦点有问题。但组件与JDK配合良好1.6_06。但这只是JDK1.6_24的问题。我试着用谷歌搜索它。但没有找到任何答案。有人知道吗? 最佳答案 我不知道java版本-但将dialog.setVisible(true)放在SwingUtilities#invokeLater中为我解决了这个问题。YM
我有一个多线程JavaSwing应用程序。多个线程将通过textArea.append("something")写入JTextArea来调用该方法。我应该这样包装吗:SwingUtilities.invokeLater(newRunnable(){@Overridepublicvoidrun(){textArea.append("something");}});或者它只是一个内容更新,Swing会自己做正确的线程? 最佳答案 一般来说,您对Swing所做的任何更新,尤其是任何更改控件状态或布局的操作,都应该在Swing线程中完成。在