看看效果
看看苹果是怎么做的
实现原理,jframe有一个玻璃层,这层是在最上面,一般tooltip的内容就是在这一层显示,这样的话
可以保证tip信息显示在内容控件的上面
要说,把一个dialog显示在玻璃层是好是坏,我拿不准。但是从功能角度考虑,如果此dialog是做提示用处的话,
那和tooltip是一个用处,放在玻璃层也是合理的
上代码:
public JComponent showJDialogAsSheet (JDialog dialog) {
sheet = (JComponent) dialog.getContentPane( );
sheet.setBackground (Color.red);
glass.setLayout (new GridBagLayout( ));
sheet.setBorder (new LineBorder(Color.black, 1));
glass.removeAll( );
GridBagConstraints gbc = new GridBagConstraints( );
gbc.anchor = GridBagConstraints.NORTH;
glass.add (sheet, gbc);
gbc.gridy=1;
gbc.weighty = Integer.MAX_VALUE;
glass.add (Box.createGlue( ), gbc);
glass.setVisible(true);
return sheet;
}