我们可以在swing应用程序中使用多种字体样式,并且可以为不同的swing文本字段分配不同的字体样式。但是有什么方法可以在javaswing应用程序中配置一个JTextField以支持多语言。例如输入地址。12B"streetnameinotherlanguage"JTextFieldfield=newJTextField("example",30);Fontfont=newFont("Courier",Font.BOLD,12);field.setFont(font);我们怎样才能做到这一点?是否有支持双字体样式(英文+法文)的字体。第一次回答后更新还需要将键入的文本发送到数据库并以
我开发了一个桌面Swing应用程序,我正在考虑提供自动更新功能的最佳方式。我知道JavaWebStart提供了这个,但我认为它不适合我的需要,因为我需要读取本地文件,所以我需要签署jar。此外,JWS需要额外的工作才能在服务器中部署,而现在我只需要上传.jar。我一直在考虑这种方法:第一个JAR(永远不需要更新)加载启动画面,检查config.xml中的当前版本并将其与服务器config.xml进行比较。如果服务器版本较新,询问用户是否要更新。在这种情况下,下载新的“main.jar”、新的“config.xml”和新的启动画面/图标,检查MD5SUM,并将旧文件替换为新文件。启动“m
我在我的SwingJToolBar上创建了一个下拉菜单。但它并没有按照我想要的方式创造行为。我的目标是让它像Firefox的“智能书签”按钮一样工作。当用户选择菜单项时它会消失:正确!当用户按下ESC时它会消失:正确!当用户点击菜单外主框架中的某处时,它会消失:正确!但是当用户第二次点击显示下拉菜单的按钮时它并没有消失:不正确...:-(我的问题是如何添加这种行为,当第二次点击显示菜单的按钮时它会消失。这是我当前的代码,来自Mac上的Java6:importjavax.swing.*;importjavax.swing.event.PopupMenuEvent;importjavax.
原帖我想以编程方式确定在当前窗口中从一个Swing组件(拥有焦点)转到另一个Swing组件需要多少次键盘敲击(无论是否使用Tab键和/或箭头键都无关紧要)。每笔画应该增加1的距离;如果无法访问该组件,则结果应为-1。由于找不到实用方法,我想到了以下签名:publicstaticintgetFocusTraversalDistance(Componentfrom,Componentto)天真地,我会从通过getFocusCycleRootAncestor()获取from的Container开始。.之后,我将使用getFocusTraversalPolicy()获取FocusTravers
Thisquestionhasbeenaskedbefore,但答案并没有解决问题,所以我再问一次。有人建议您可以使用g2.draw(line)而不是使用g2.drawLine,其中line是Line2D.Double。但是,正如您从屏幕截图中看到的那样,线条仍然绘制得好像它们以整数像素结束(每组10条线完全平行)。importjavax.swing.*;importjava.awt.*;importjava.awt.geom.Line2D;publicclassFrameTestBaseextendsJFrame{publicstaticvoidmain(Stringargs[]){
我目前正在开发一个涉及SwingGUI的小型Java应用程序。在我的开发PC上一切看起来都很好,但是当我在我的MSSurface上运行它时,一些图标似乎对于组件来说太大(或者组件对于图标来说太小)。我的意思是:谷歌研究让我得出结论,这是由于Surface的高分辨率和Win8的缩放功能让一些项目看起来更大一些。所以我将缩放比例重置为100%,它实际上修复了糟糕的缩放比例。不幸的是,这并不能真正解决我的问题。没有变焦,一切都太小了,所以我宁愿不禁用它。但是有什么聪明的方法可以解决这个问题吗?我可以只“取消缩放”我的程序或Java的图标吗?理想情况下,我什至想要放大整个框架,因为一切都相当小
我有一个使用SubstanceLookAndFeel的Java应用程序,Windows作为目标平台,我想增加我的应用程序的DPI设置,不更改系统设置。我想这样做是因为我不想强制用户重新启动Windows并且因为许多Windows应用程序似乎在非常高的DPI设置(>120)下出现问题PS:我知道SubstanceLaF允许在运行时缩放字体大小,但那样只会缩放控件的高度,而不是宽度。我希望我的GUI完全缩放,因为如果我设置系统的DPI设置,就会发生这种情况。 最佳答案 不知道这是否可行。外观必须支持它,据我所知,Windows外观不支持
我想覆盖Swing中的鼠标滚轮监听器,但前提是它们按下了控制按钮。监听器将附加到JPanel,这样当他们滚动滚轮时,它将滚动JScrollPane,当他们按下控制按钮并滚动滚轮时,它将放大。JScrollPane的默认滚动在我覆盖它之前(显然)起作用和我自己的听众。这是我的代码:mainPanel.addMouseWheelListener(newMouseWheelListener(){@OverridepublicvoidmouseWheelMoved(MouseWheelEvente){if((e.getModifiers()&InputEvent.CTRL_MASK)==Inp
我有一个计时器来计算所花费的时间和其他计算,但是当我单击暂停按钮时我需要计时器暂停,然后恢复。我该如何暂停它? 最佳答案 Timer没有暂停和恢复API。您需要为其编写代码。这是在鼠标悬停时暂停和恢复Timer的示例。http://www.java2s.com/Code/Java/Swing-JFC/Anappletthatcountsdownfromaspecifiedtime.htm希望这对您有所帮助。 关于java-SwingTimer,如何暂停和恢复?,我们在StackOverf
我正在使用Java日志记录将我的应用程序的日志消息写入日志文件和其他目的地。将日志级别设置为FINE后,我还会从AWT/Swing收到(不需要的)消息,例如:{0},whengrabbed{1},contains{2}和其他人。查看JDK源代码(参见here),可以看到相应记录器的名称是sun.awt.X11.grab.XWindowPeer。我从Java日志记录框架中了解到,此日志记录处理程序应从其父类继承其日志级别,如sun.awt。我尝试了以下方法:Logger.getLogger("sun.awt").setLevel(Level.OFF);但AWT/Swing调试消息仍然出现