📄 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(); } }