Tag: jdialog

Java – 如何创build一个自定义对话框?

我有一个单击JFrame上的button,我想要一个对话框popup与多个文本区域用户input。 我一直在四处寻找,试图找出如何做到这一点,但我一直在困惑。 谁能帮忙?

我怎样才能从一个JDialog框中返回一个值到父JFrame?

我已经创build了一个模式JDialog框与自定义绘图和JButton。 当我点击JButton时,JDialog框应该closures,并且应该返回一个值。 我在父JFrame中创build了一个名为setModalPiece的函数,它接收一个值并将其设置为本地JFramevariables。 问题是这个函数在JDialog框中是不可见的(即使JDialog框有一个对父JFrame的引用)。 两个问题:1)是否有一个更好的方法来从一个JDialog框中返回一个值到它的父JFrame? 2)为什么不能传递给JDialog的JFrame引用被用来访问我的JFrame函数setModalPiece?

我如何使我的SwingWorker示例正常工作?

我已经创build了自己的SwingWorker示例来熟悉它的工作原理。 我想要做的是以下几点:当button被点击时,我想要一个进度条出现,直到任务完成我只想删除进度条,并添加一个string到对话框。 点击button时,进度条出现,但永远不会消失。 (从不删除进度条10秒后,永远不会放置标签) 这是一个SSCCE: package swingtesting; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JProgressBar; import javax.swing.SwingWorker; public class SwingTesting { /** * Creates a frame that will hold a simple button to make use of SwingWorker */ public static void main(String[] args) { // TODO code application logic […]

运行时删除顶级容器

不幸的是,看起来这个最近closures的问题还没有得到很好的理解。 这是典型的输出: run: Trying to Remove JDialog Remove Cycle Done 🙂 Checking if still exists any of TopLayoutContainers JFrame JDialog Will Try Remove Dialog again, CycleNo. 1 ———————————————————– Trying to Remove JDialog Remove Cycle Done 🙂 Checking if still exists any of TopLayoutContainers JFrame JDialog Will Try Remove Dialog again, CycleNo. 2 ———————————————————– Trying to […]

动态添加组件到一个JDialog

当用户单击JDialog上的按钮时,我无法将JComponents添加到JDialog。 基本上我希望它看起来像这样: 然后,当用户点击“添加新字段”我想它看起来像这样: 我似乎无法让对话框添加新的JLabel或JTextField。 任何人都可以指向正确的方向吗? 编辑 :这是“添加新字段”按钮(只是现在试图标签)的行动。 @Action public void addNewField() { Container contentPane = getContentPane(); JLabel label = new JLabel ("welkom"); contentPane.add(label, BorderLayout.CENTER); } 方案 : 我使用mre的解决方案,并得到它的工作。 这是我最后的功能: @Action public void addNewField() { System.out.println("New Field…"); Container contentPane = getContentPane(); JLabel label = new JLabel ("welcome"); label.setBounds(10,10,100,10); //some random value that I know is in […]