JOptionPane image
Đối với bất kỳ ai gặp vấn đề trong hình ảnh, tôi đã tìm thấy/điều chỉnh một giải pháp. Trên hệ thống của tôi, tôi nhận được kết quả đó, cho dù tôi đã sử dụng giải pháp UIManager như những người khác đã đăng hay đã tạo ra một JDialog và đã sử dụng jd.getContentPane(). SetBackground (Color.white). Vì vậy, đây là công việc xung quanh tôi đã đưa ra, nơi bạn có vòng lặp đệ quy qua từng thành phần trong JOptionPane, và thiết lập màu nền của mỗi JPanel:
private void getComponents(Container c){
Component[] m = c.getComponents();
for(int i = 0; i < m.length; i++){
if(m[i].getClass().getName() == "javax.swing.JPanel")
m[i].setBackground(Color.white);
if(c.getClass().isInstance(m[i]));
getComponents((Container)m[i]);
}
}
Trong mã của bạn, nơi bạn muốn có được thông báo pop-up , một cái gì đó dọc theo các dòng:
pane = new JOptionPane("Your message here",
JOptionPane.PLAIN_MESSAGE ,JOptionPane.DEFAULT_OPTION);
getComponents(pane);
pane.setBackground(Color.white);
jd = pane.createDialog(this, "Message");
jd.setVisible(true);
Nơi trước đây JOptionPane pane
và JDialog jd
trước đây đã được tạo. Hy vọng điều này sẽ giúp bất cứ ai có vấn đề đó.
Nguồn
2016-06-13 21:56:19
+1 cho cách đơn giản – mKorbel
Lưu ý rằng điều này sẽ thay đổi nền cho tất cả các trường hợp. – mre
Có thể thêm nút tùy chỉnh của tôi vào đó không? – itro