📄 ResimdenRenkAl.java .java dosyası
⬇️ İndir
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
public class ResimdenRenkAl {
public static JLabel labelImage;
public static BufferedImage image;
public ResimdenRenkAl() {
JFrame frame = new JFrame("Resimden Renk Kodu Al | Java Blackboard [145]");
frame.setLayout(null);
frame.add(resimPaneli());
frame.setSize(940, 482);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
}
public static JPanel resimPaneli() {
JPanel panel = new JPanel();
panel.setBackground(new Color(200, 200, 200));
panel.setLayout(null);
panel.setBounds(50, 50, 840, 360);
JLabel labelRGB = new JLabel("RGB Renk Kodu");
labelRGB.setBounds(660, 20, 125, 30);
JTextField fieldRGB = new JTextField("Seçim bekleniyor...");
fieldRGB.setBounds(660, 50, 125, 30);
JLabel labelWebRenk = new JLabel("Web Renk Kodu");
labelWebRenk.setBounds(660, 120, 125, 30);
JTextField fieldWebRenk = new JTextField("Seçim bekleniyor...");
fieldWebRenk.setBounds(660, 150, 125, 30);
// Resmimizi tanimliyoruz.
Random rastgele = new Random();
int min = 0; // Minimum değer
int max = 6; // Maksimum değer
int rastgeleSayi = rastgele.nextInt((max - min) + 1) + min;
try {
image = ImageIO.read(new File("src/images/resim-"+rastgeleSayi+".jpg"));
} catch (IOException e1) {
e1.printStackTrace();
}
labelImage = new JLabel(new ImageIcon(image));
labelImage.setBounds(0, 0, 640, 360);
labelImage.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
String stringRGB = "";
String stringWebRenk = "";
int x = e.getX();
int y = e.getY();
// Kliklenen nokta resmin sınırları içindemi kontrol ediyoruz.
if (x >= 0 && y >= 0 && x < image.getWidth() && y < image.getHeight()) {
Color c = new Color(image.getRGB(x, y));
stringRGB = " " + c.getRed() + ", " + c.getGreen() + ", " + c.getBlue();
fieldRGB.setText(stringRGB);
stringWebRenk = "#" + Integer.toHexString(c.getRGB()).substring(2);
fieldWebRenk.setText(stringWebRenk);
} else {
System.out.println("Resim dışı seçim");
}
}
// MouseListener arabirimini kullandığınızda,
// arabirimin tüm metodlarını implement etmeniz gerekir.
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
});
panel.add(labelImage);
panel.add(labelRGB);
panel.add(fieldRGB);
panel.add(labelWebRenk);
panel.add(fieldWebRenk);
return panel;
}
public static void main(String[] args) {
new ResimdenRenkAl();
}
}