[英]How to change JDialog icon from its JPanel content?
我有一个JDialog
和JPanel
...
MyPanel panel = new MyPanel();
JDialog dialog = new JDialog();
dialog.add(panel);
dialog.show();
...
public class MyPanel extends javax.swing.JPanel {
....
}
打开MyPanel类后,如何更改对话框的图标?
我的代码:
...
initComponents();
1. ((JFrame)((JDialog)this.getParent()).getOwner()).setIconImage(img);
2. Window win = SwingUtilities.getWindowAncestor(this);
win.setIcon(img);
两者都返回NullPointerException
它返回null,因为您是从面板的构造函数中调用这些方法的。 并且在构造面板时,尚未将其添加到对话框中。
可以从外部设置图标:
MyPanel panel = new MyPanel();
JDialog dialog = new JDialog();
dialog.add(panel);
dialog.setIconImage(...);
dialog.show();
或将AncestorListener添加到要使其可见的面板上,然后通过listener方法设置图标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.