我想知道是否可以从左侧向右侧更改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( );
}
答案 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);
}