我有一个模态jframe
作为另一个jframe顶部的工作线程,代码如下:
final JDialog loading = new JDialog(this);
JPanel p1 = new JPanel(new BorderLayout());
JLabel label = new JLabel("Please wait...", JLabel.CENTER);
p1.add(label, BorderLayout.CENTER);
loading.setUndecorated(true);
loading.getContentPane().add(p1);
loading.pack();
loading.setSize(300,100);
loading.setLocationRelativeTo(this);
loading.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
loading.setModal(true);
SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
/* code */
};
worker.addPropertyChangeListener(new PropertyChangeListener() {
/* code */
});
worker.execute();
loading.setVisible(true);
问题是java会放置&#34;请等待......&#34;窗口在父母的中心。我想把它放在底部或其他地方。我没有找到一个位置方法。如果存在这样的事情,请告诉我。
答案 0 :(得分:1)
获取this
边界(打包后),计算所需的x,y并使用loading.setLocation(new Point(x,y));