READY 画像があります (画像の色は灰色で、GIVEN です。つまり、Java で作成していません。それ以外の場合は、単純に色を動的に変更します)。画像の形が変です。つまり、長方形ではありません。透明部分と「画像コンテンツ」部分 (通常の .png スタイル) があります。その「画像コンテンツ」部分だけを暗くする必要があります。私は次のことを試しました:
public class ImageDarkener extends JFrame {
private JButton button;
private JLabel myImage;
public ImageDarkener()
{
createImageDarkener();
}
private void createImageDarkener() {
Container contentPane = getContentPane();
contentPane.setBackground(Color.WHITE);
contentPane.setLayout(null);
contentPane.setSize(900,600);
myImage = new JLabel();
myImage.setIcon(new ImageIcon("myImage.png"));
myImage.setBounds(403,31,200,200);
contentPane.add(myImage);
button = new JButton("Go darker");
button.setBounds(90,400, 100, 100);
contentPane.add(button);
button.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event) {
buttonActionPerformed(event);
}
}
);
setTitle("Image gets darker");
setSize(900,600);
setVisible(true);
setLocationRelativeTo(null);
}
private void buttonActionPerformed(ActionEvent event) {
myImage.darker();
// Here I am stuck...I tried many combinations with darker().....etc.
I need to be able to click the button and myImage should get darker and darker
until it is completely black...
}
public static void main(String args[]) {
ImageDarkener img = new ImageDarkener();
img.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}