如 我按下个Button,我希望在个对话筐在下放显示

解决方案 »

  1.   

    import java.awt.BorderLayout;
    import java.awt.Point;
    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.SwingUtilities;public class T {
    public static void main(String[] args) {
    JButton btn = new JButton("Test");
    btn.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    JButton button = (JButton) e.getSource();
    JDialog dialog = new JDialog(
    (JFrame) SwingUtilities.getAncestorOfClass(JFrame.class, button),
    "Test", true);
    dialog.setSize(200, 200);
    Point p = button.getLocationOnScreen();
    dialog.setLocation(p.x, p.y + button.getHeight());
    dialog.show();
    }
    });

    JFrame f = new JFrame();
    f.getContentPane().add(btn, BorderLayout.CENTER);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
    }
    }