java - 将 JDialog 定位为出现在 Swing 中的 JTextField 下方?

标签 java swing


我想将 JDialog 框放在 JFrame 的 JTextField 下方,当对话框打开时,我的 JFrame 不能移动——也就是说,它不能拖动。有什么建议吗?

最佳答案

public class DialogTest {
    public static void main(String[] args) {

        final JFrame frame = new JFrame("Frame");
        JTextField field = new JTextField("Click me to open dialog!");
        field.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent e) {
                JTextField f = (JTextField) e.getSource();
                Point l = f.getLocationOnScreen();

                JDialog d = new JDialog(frame, "Dialog", true);
                d.setLocation(l.x, l.y + f.getHeight());
                d.setSize(200, 200);
                d.setVisible(true);
            }
        });
        frame.add(field);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200, 100);
        frame.setVisible(true);
    }
}

关于java - 将 JDialog 定位为出现在 Swing 中的 JTextField 下方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4025373/

相关文章:

java - 如何限制创建的线程数并等待主线程直到任何一个线程找到答案?

java - 在java中将类类型保存为Type数据类型

Java SwingUtilities.invokeLater

java - 在单个小程序中显示多个图像

java - 即使使用 SwingWorker,jLabel 的 setText 也无法工作

java - ArrayList<Byte> 与 Java 中的字符串

java - 生成的 DisplayTag 排序和分页链接(url)太长

java - Servlet地址不正确

java - 如何通过按 Enter 清除 JTextArea 并保持在同一行

java - 为不同选项卡下的按钮设置相同的快捷键