Pessoal eu tenho um JFrame que chama um JDialog, eu gostaria que esse JDialog quando clicado pelo mouse nao pudesse
ser arrastado pela tela, se não houver uma maneira, eu poderia fazer com que o JFrame se move-se junto com o JDialog ?
abraço.
Se eu fosse usar seu programa iria odiar que o JDialog ficasse imóvel na tela 
Parece uma péssima idéia amigo …
mass vc pode tentar isso:
seuDialog.setUndecorated(false);
setUndecorated não vai funcionar para o que eu quero, é pq meu JFrame tem um Menu , e esse menu eu abro o JDialog que neste caso é modal, porém nao queria que o menu aparece-se sem que o JDialog fosse fechado, mas ao arrasta-lo da pra ver o menu, tem como arrastar o JDialog e levar junto o JFrame ? Obrigado á todos que responderam até agora.
De fato, muitos programas fecham o menu quando você chama um diálogo através do menu, inclusive os escritos em Swing.
Você não está fazendo algo errado? Que eu saiba, o que você quer o Java já faz sozinho.
Vou mostrar um exemplo:
package guj;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.Dialog.ModalityType;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class ExemploJFrameComMenuEJDialog extends JFrame {
private JPanel contentPane;
private JMenuBar menuBar;
private JMenu mnFile;
private JMenuItem mntmPrintPreview;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ExemploJFrameComMenuEJDialog frame = new ExemploJFrameComMenuEJDialog();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ExemploJFrameComMenuEJDialog() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
setJMenuBar(getMenuBar_1());
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
}
private JMenuBar getMenuBar_1() {
if (menuBar == null) {
menuBar = new JMenuBar();
menuBar.add(getMnFile());
}
return menuBar;
}
private JMenu getMnFile() {
if (mnFile == null) {
mnFile = new JMenu("File");
mnFile.add(getMntmPrintPreview());
}
return mnFile;
}
private JMenuItem getMntmPrintPreview() {
if (mntmPrintPreview == null) {
mntmPrintPreview = new JMenuItem("Print Preview...");
mntmPrintPreview.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ExemploJDialogSimples ejds = new ExemploJDialogSimples(ExemploJFrameComMenuEJDialog.this,
ModalityType.APPLICATION_MODAL);
ejds.setVisible(true);
}
});
}
return mntmPrintPreview;
}
}
package guj;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class ExemploJDialogSimples extends JDialog {
private final JPanel contentPanel = new JPanel();
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
ExemploJDialogSimples dialog = new ExemploJDialogSimples();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the dialog.
*/
public ExemploJDialogSimples() {
super();
initComponents();
}
/**
* Create the dialog.
*
* @param owner
* @param modalityType
*/
public ExemploJDialogSimples(Window owner, ModalityType modalityType) {
super(owner, modalityType);
initComponents();
}
private void initComponents() {
setTitle("Clique OK");
setBounds(150, 150, 316, 197);
getContentPane().setLayout(new BorderLayout());
contentPanel.setLayout(new FlowLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ExemploJDialogSimples.this.dispose();
}
});
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);
}
{
JButton cancelButton = new JButton("Cancel");
cancelButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ExemploJDialogSimples.this.dispose();
}
});
buttonPane.add(cancelButton);
}
}
}
}
Valeu cara, entendi, obrigado á todos que responderam, abraço.