我有一个非常大的应用程序,它有多个对话框。我的任务是确保将不完全可见的对话框(因为用户将其拉出可见屏幕区域)移回屏幕中央。当我只处理一个屏幕时,这没问题。它工作得很好......但是,这个应用程序的大多数用户在他们的桌面上有两个屏幕......当我试图找出对话框显示在哪个屏幕上并将其居中放置在该特定屏幕上时,......好吧,它确实居中,但在主屏幕上(可能不是显示对话框的屏幕)在)。为了向您展示我到目前为止的想法,这是代码....../***Getthenumberofthescreenthedialogisshownon...*/privatestaticintgetActiveSc
我正在制作一个swing应用程序,并意识到我有几个类需要访问同一组常量。我无法让自己宣布其中一个是它们的主要持有者并将它们全部放在那里并让其他人引用它;我想,嘿,我会让它们都从某个共同的地方继承,但Java不做多重继承,但我可以在事物上放置无限接口(interface)。所以我想到了将它们全部转储到一个界面中(这是真的,我没有做任何研究就自然而然地想到了)。后来才知道这是异端。“事实上,它有一个名字:常量接口(interface)反模式”-asdiscussedhere(以及替代解决方案(我选择采用))。在我查看JDialog和JFrame的源代码之前,我对此一直很好,它们是这样读的:
有没有一种方法可以在Swing中使用一个对话框来禁止其下的任何guiActivity,但同时不停止在它被设置为可见的线程上执行? 最佳答案 是的,可以做到。dlg.setModal(false);或dlg.setModalityType(Dialog.ModalityType.MODELESS);其中dlg是JDialog的实例。 关于java-不阻塞执行的模态JDialog,我们在StackOverflow上找到一个类似的问题: https://stacko
我知道,这个问题经常出现在SO中,例如here:但我想举一些非常具体的例子……我只是不确定我做的是否正确。我有一个JDialog,我可以在其中键入一些值,选择一些复选框......随便......我还在MyDialog中创建了一些Response对象,它表示MyDialog的“答案”。在调用/创建JDialog的JFrame中:MyDialogd=newMyDialog(this,...);d.showDialog();//AfterMyDialogisclosed(it'smodal):MyDialog.ResponsedialogResponse=d.getDialogRespon
我有主要应用程序,其中包含值的表。然后,我单击“添加”按钮,出现新的CUSTOM(我自己制作的)JDialog类型弹出窗口。我可以在那里输入值,打勾并单击“确认”。所以我需要从对话框中读取该输入,这样我就可以将这个值添加到主应用程序的表中。我如何在按下“确认”按钮时收听,以便我可以在之后读取该值?addISDialog=newAddISDialog();addISDialog.setVisible(true);addISDialog.setLocationRelativeTo(null);//somekindoflistener...//after"Confirm"buttonindi
我有一个JDialog,它从用户那里获取一个名字。JDialog后面是一个applet。我不希望用户在输入名称之前访问该小程序。我尝试了JDialog.setAlwaysOnTop(true),但小程序抛出AccessException错误。所以我所做的是保留一个while循环,该循环将执行JDialog.setVisible(true)直到JtextField(用户名输入)为空("")。但由于某种原因,这工作起来真的很慢,这意味着JDialog加载,但它需要时间来关注JTextField甚至当用户输入他的名字时,它也非常慢...就像2秒内输入一个字符...还有其他方法可以让我强制用户
我对使用MetalL&F的未修饰的JDialog周围的边框有疑问。查看此图片以查看此窗口上的边框:我想弄清楚如何摆脱或更改JDialog最外面的蓝色边框的颜色。我查看了Look&Feel的UI默认设置,但我无法想出任何适用于此的设置。有没有人对如何摆脱该边界有任何想法?谢谢! 最佳答案 您需要更改根Pane的边框:getRootPane().setBorder(BorderFactory.createLineBorder(Color.RED)); 关于java-未修饰的JDialog边框
我有一个扩展JDialog的类FilePathDialog并且该类正在从某个类X中调用。这是类X中的一个方法projectDialog=newFilePathDialog();projectDialog.setVisible(true);projectDialog.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.out.println("Windowclosing");try{doWork();}catch(Throwablet){t.printStackTrace();
有人可以建议我如何在JavaSwing中实现弹出窗口。我希望弹出窗口是模态窗口(当弹出窗口打开时用户无法返回到主窗口)。我尝试使用JDialog来完成它,但它只允许一个小部件用于用户输入,而我需要多个小部件。我在这里可能是错的,但这就是我能够做到的。感谢您的帮助。 最佳答案 使用JDialog。对可以添加的内容没有限制,您可以向JDialog添加任何您想要的内容(与使用JFrame时完全相同) 关于java-JavaSwing中的弹出窗口,我们在StackOverflow上找到一个类似的
我正在为我的笔记本电脑开发一个工具。我想禁用JFrame中的最小化按钮。我已经禁用了最大化和关闭按钮。下面是禁用最大化和关闭按钮的代码:JFrameframe=newJFrame();frame.setResizable(false);//DisabletheResizeButton//DisabletheClosebuttonframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);请告诉我如何禁用最小化按钮。 最佳答案 一般情况下,你不能,你可以做的是使用JDialog