草庐IT

java - 自动调整 Swing 元素的大小以适应容器的大小

不确定我需要的是否可行。我有一个包含一些内部元素的容器(JPanel)。我想知道是否可以强制内部元素适应容器的大小。我需要它们完全可见,即调整大小以适应面板的大小,而不是剪切内部元素的某些部分。滚动不是一个选项。这可以通过使用布局或其他方式实现吗?编辑:重要说明:问题是我无法访问内部元素,也无法访问它们的属性,所以我会说需要一个能够调整子元素大小以适应其大小的Layoutmanager。我测试了BorderLayout和GridBagLayout,但结果总是一样,内部元素被切掉了。 最佳答案 正是出于这个原因LayoutManage

java - Swing的KeyListener和多个按键同时按下

同时按下两个键盘键时,是否有任何传统的方式来跟踪事件?我有几个想法,例如记住键和事件生成时间,以便我们可以在连续的事件处理程序调用中检查这两个事件之间的时间差并决定它是否是双按钮事件。但它看起来像一个拼凑。 最佳答案 使用一个集合来记住当前按下了哪些键,并在每次按下一个键时检查是否按下了多个键。classMultiKeyPressListenerimplementsKeyListener{//SetofcurrentlypressedkeysprivatefinalSetpressedKeys=newHashSet();@Overr

java - Swing:将切换按钮与按钮组以及相应的菜单项链接在一起

对于学校项目,我需要制作一个简单的绘图应用程序,可以绘制线条、椭圆和矩形。作业指定我需要工具栏按钮和每种形状的菜单项。我想更进一步,在工具栏中制作按钮JToggleButtons和菜单项JRadioButtonMenuItems。此外,我想要它,以便当您选择一个工具栏按钮时,它会取消选择其他按钮,选择适当的菜单项,然后取消选择其他菜单项。选择其中一个菜单项也是如此。我知道我可以将任何AbstractButton与ButtonGroup分组,但我不确定这是否是正确的方法,因为尽管它处理一个“组”按钮的数量很好,我不确定它是否可以处理两个并行组。在没有ButtonGroup的情况下执行此操

java - 如何在swing中将面板保存为图像?

您好,我想将包含标签和按钮等组件的面板转换为图像文件。我已经完成了以下代码。图像已保存。但面板的内容不可见或未保存。谁能告诉我如何保存面板及其组件。代码:packagePanelToImage;importjava.awt.Color;importjava.awt.image.BufferedImage;importjava.io.File;importjavax.imageio.ImageIO;importjavax.swing.*;publicclasssampleextendsJPanel{publicJPanelfirstpanel;publicJPanelsecondpane

java - hibernate + Swing

最佳做法是什么?整个应用的单个session每个窗口一个session每个线程一个session,并随机分离所有内容还有别的吗?我用谷歌搜索了一下,没有达成共识。每个人都说了些什么,然后又收回了。我发现拖着一个session绕着愚蠢...那么,这是怎么回事? 最佳答案 也许每个事件处理一个session是正确的方法。在Web应用程序中,我们通常为每个请求创建一个session(使用所有这些OpenSessionInView等)。如果我们仔细想想,Web应用程序中的每个请求都是应用程序中的不同交互,而在Swing应用程序中,每个触发的

java - 如何在swing中实现动态GUI

首先,对于发布的内容可能有点过于具体,我深表歉意,但我对Swing不是很有经验,似乎找不到适合我需要的好例子。所以我试图找出在Swing中实现用于选择过滤条件的动态GUI的最佳方法:底层模型是一个类,其中包含可以取反的条件列表(即应用NOT前缀),以及一个指示这些条件是否应与AND或OR组合的属性。GUI将允许用户添加、更改或删除条件,并选择组合运算符(和/或)。第一个标准自然不会有组合选择器,第三个和后续标准将简单地使用与第二个相同的组合运算符。右侧的X按钮将用于删除条件。当按下添加按钮时,一行新的组件将被添加到底部。随着更改的进行,这些更改将反射(reflect)在基础模型中。当然

java - 创建 Java 消息对话框(swing/awt/other)的最快方法?

我正在创建一个Java应用程序,它将执行一些处理然后需要显示一条消息以提供给用户反馈。但是,它似乎非常慢-需要超过两秒才能返回。我将源代码剥离到明显的罪魁祸首,这是使用的代码:packageSwingPlay;importjavax.swing.JFrame;publicclassDialog{publicstaticvoidmain(String[]args){JFrameframe=newJFrame("DialogDemo");}}我正在从命令行执行此操作:java-classpath.SwingPlay.Dialog如您所见-我只创建了一个JFrame,甚至没有显示它。如果相关

java - 如何获取 Swing JTabbedPane 标签的默认字体?

Swing组件中的文本是否有默认字体?特别是,JTabbedPane上的选项卡标签怎么样?我正在制作一个使用Swing制作的GUI模型,并希望它能将它与我抓取的Swing应用程序的屏幕图像融合在一起。 最佳答案 这取决于外观。如果它是您编写的应用程序,请从UIManager.getDefaults().getFont("TabbedPane.font")获取值 关于java-如何获取SwingJTabbedPane标签的默认字体?,我们在StackOverflow上找到一个类似的问题:

java - 如何从 Java Swing 应用程序在默认浏览器中打开 HTML 文件?

我的JavaSwing应用程序生成一个HTML文件,我想在生成并保存时使用默认浏览器打开它。我该怎么做? 最佳答案 如果您使用的是Java6,请使用Desktop.open().它允许您使用与其在系统上的文件类型关联的默认应用程序打开任何文件。 关于java-如何从JavaSwing应用程序在默认浏览器中打开HTML文件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/23231

java - 有没有一种好方法可以在 Swing 应用程序中保留打印机设置?

我们正在使用新的Java打印API,它使用PrinterJob.printDialog(attributes)向用户显示对话框。为了下次保存用户的设置,我想这样做:PrintRequestAttributeSetattributes=loadAttributesFromPreferences();if(printJob.printDialog(attributes)){//print,andthen...saveAttributesToPreferences(attributes);}但是,我通过这样做发现有时(我还没有弄清楚如何)属性会在内部获取一些错误数据,然后当您打印时,您会得到