我有 2 JPanels
,每个都有自己的类扩展Jpanel
每个都在一个jDialog
. 我在其中一个类中放置了一个点击事件,然后在点击发生的位置获取颜色。现在我怎么能告诉第二个JPanel
重新粉刷自己?
我的 jDialog 中的构造函数:
public ColorPickerDialog(java.awt.Frame parent, boolean modal){
super(parent, modal);
initComponents();
cpp = new ColorPicker();
cpp.setBounds(5, 5, 300, 300);
cpp.setVisible(true);
cpp.setOpaque(true);
cpp.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
add(cpp);
// Click event is in this class:
ColorSlider colorSlide = new ColorSlider();
colorSlide.setBounds(315, 5, 20, 300);
colorSlide.setVisible(true);
colorSlide.setOpaque(true);
colorSlide.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
add(colorSlide);
}
我的点击事件:
public void mouseClick(MouseEvent evt){
Point pt = evt.getPoint();
BufferedImage img = (BufferedImage)this.createImage(getWidth(), getHeight());
int[] colors = new int[3];
img.getRaster().getPixel(evt.getX(), evt.getY(), colors);
ColorPickerDialog.sldColor = new Color(colors[0], colors[1], colors[2]);
}