如何在JOptionpane中更改图标的位置?

时间:2014-12-05 09:37:50

标签: java swing jpanel joptionpane

我想知道是否可以从左侧向右侧更改JOptionPane中图标的位置?

public void popupMessage(){
    JCheckBox checkbox = new JCheckBox("Do not show this message again.");
        String message = "Attempt to set icon to right side is successfully approached.";
        Object[] params = {message, checkbox};
        int n = JOptionPane.showConfirmDialog(null, params, "Icon to right side",JOptionPane.YES_NO_CANCEL_OPTION);
        BasicOptionPaneUI.getIcon().paintIcon(  );
}

1 个答案:

答案 0 :(得分:0)

可以使用JPanel。您只需创建一个JPanel,将您自己的图标或现有图标添加到JLabel。然后将您的文本添加到另一个JLabel并将这些JLabel添加到JPanel。使用BorderLayout,您可以控制文本JLabel和图标JLabel的位置。

示例(Ran并测试它,工作正常):

public static void main(String[] args) 
{   
    Icon icon = UIManager.getIcon("OptionPane.errorIcon");
    JLabel iconLabel = new JLabel(icon);
    JLabel textLabel = new JLabel("Some text");

    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout());
    panel.add(iconLabel,BorderLayout.EAST);
    panel.add(textLabel,BorderLayout.CENTER);

    JOptionPane.showMessageDialog(
            null,
            panel,
            "Hello", JOptionPane.PLAIN_MESSAGE);

}