我正在使用DefaultComboBoxModel在JComboBox中显示客户列表。该列表目前只显示他们的名字。我还想在DefaultComboBoxModel中引用每个客户,以便在选择名称时,它还包含对真实客户对象的引用。要实现这一点,我怀疑我必须扩展DefaultComboBoxModel并可能覆盖addElement()方法?或者我可以只添加一个新方法来存储我对客户的引用吗?如果是这样,我是否必须查看DefaultComboBoxModel的源代码以了解它如何存储元素?抱歉,如果这个问题令人困惑,但我无法弄清楚如何以正确的方式做到这一点。感谢阅读。
有没有办法在swing应用程序中隐藏关闭按钮?我知道我可以设置JFrame.DO_NOTHING_ON_CLOSE但有没有办法完全消除它?如果我写setUndecorated(true)我得到IllegalComponentStateException-框架可显示 最佳答案 在框架已经显示时使用frame.setUndecorated(true)会导致错误,因为这在API中是不允许的.相反,在设置frame.setVisible(true)之前使用frame.setUndecorated(true)。这应该可以解决您的错误:Ille
我正在开发一个使用Swing的应用程序。我已经成功地创建了一个供用户使用的主GUI。但是,我想允许用户更改他/她的设置。我应该如何创build置窗口?使用名为“设置”的新JFrame是否是处理此问题的最佳方式,还是有比第二个JFrame更好的方法?(注意:设置JFrame,退出时,不会关闭主GUI,会使用DISPOSE方法)我想以一种消耗最少内存的方式来处理这个问题,同时保持应用程序的专业外观。 最佳答案 您考虑过CardLayout吗?http://docs.oracle.com/javase/tutorial/uiswing/l
在JavaSwing中,我可以如下注册一个特定gui事件的监听器guiElement.addMouseListener(myListener);但是如果我想自动注册到我的GUI应用程序中的所有鼠标事件怎么办?我应该为每个元素注册myListener吗?换句话说,我正在寻找的是类似myListener.registerToEventType(MouseEvent.class)有什么想法吗?谢谢 最佳答案 butwhatifIwanttoautomaticallyregistertoallthemouseeventsinmyGUIapp
那么,假设我有一些游戏,例如Pong。显然,一般来说,您不想将游戏逻辑混合到图形类中,因此Ball或Paddle类与实际绘制它们的JPanel是分开的。Ball具有球的移动逻辑、当前位置、命中检测等。但是,在我的Ball类中使用Swing和awt中的图形类对我来说是不好的做法吗?例如,如果我要使用java.awt.Rectangle来确定碰撞框。尽管我没有在这个类上画它,但我正在使用它。或者如果我要使用Java.awt.Point来存储坐标。顺便说一句,我问的原因是因为我在这个网站上被多次告知不要将图形与其他部分混在一起。在非图形类中使用Rectangle:(这是不好的做法吗?)pub
对于我使用过的大多数GUI,当包含文本的控件获得焦点时,控件的全部内容都会被选中。这意味着如果您刚开始输入,就会完全替换之前的内容。示例:您有一个初始化为零的旋转控件。您切换到它并键入“1”控件中的值现在是1。使用Swing,这不会发生。控件中的文本未被选中,克拉出现在现有文本的一端或另一端。继续上面的例子:对于SwingJSpinner,当您使用Tab键切换到旋转控件时,克拉位于左侧。您键入“1”,控件中的值现在为10。这让我(和我的用户)难以为继,我想改变它。更重要的是,我想全局更改它,以便新行为适用于JTextField、JPasswordField、JFormattedText
这让我发疯。当我在设计模式下为我的窗口设置一个合适的大小时,它只是忽略这个大小并在我编译和运行时使用其他东西。即使我设置了minimumSize和preferredSize它也只是忽略了这个......为什么?如何设置自己的尺寸? 最佳答案 即使您已使用minimumSize和preferredSize设置大小,您也可能忘记调用Window.pack()其中Swing将根据设置的大小调整组件(及其所有子组件)的大小。在设置所有首选尺寸后,您可以在窗口(或构建窗口的任何内容)中调用它。或者您可以使用Component.setSize(
例如,假设我在应用程序主窗口的顶部有一系列工具栏样式的按钮。我想将助记符附加到其中一个,这只是一个按键,比如F3。当您将助记符设置为KeyEvent.VK_F3时,用户必须按Alt+F3。如果你有一个菜单项,你可以设置一个快捷键,而不是助记符,并选择是否使用元键。但是,按钮不允许您设置加速器。有没有办法关闭按钮助记符的元键? 最佳答案 Actions可以将一大块代码绑定(bind)到菜单项、击键、按钮和您感兴趣的任何其他内容。一般来说,不要认为您的代码与特定的按键/事件相关联——也不要使用匿名内部类。而是使用真正的类,您的代码可以在
不久前Iaskedaquestion试图识别某个unicode字符以用于GUI。我得到了我正在寻找的角色,但它在我正在构建的SwingGUI中不起作用。所以,SOCommunity,我向你提出了这些问题:Swing/Java对Unicode支持有哪些限制?是否有某些unicode子集是完全支持的,我在未来设计时应该避免什么?编辑:按照AlanMoore的建议应用“ArialUnicodeMS”字体后,一切似乎都清楚了。似乎很奇怪,我必须设置第3方字体才能显示所有unicode字符。 最佳答案 通常,如果字形无法在UI中正确显示,那是
我正在尝试将“首选项”菜单添加到我的JavaSwing应用程序中,但事实证明这有点令人作呕。我已经阅读了很多关于这个的帖子和文章,这听起来很简单但是......我在找到的示例中看到了对com.apple.eawt.Application的引用,但是当我尝试将其导入EclipseIndigo时,出现错误:访问限制:由于所需库/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar的限制,无法访问类型应用程序有什么想法吗?我正在使用iMacOSX10.6 最佳答案