📄 ResimdenBesliRenkAl.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 ResimdenBesliRenkAl { public static JLabel labelImage; public static BufferedImage image; public ResimdenBesliRenkAl() { JFrame frame = new JFrame("Resimden Beşli Renk Al | Java Blackboard [146]"); 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); ButtonGroup group = new ButtonGroup(); int renkGenislik = 66; // 190; int renkYukseklik = 66; int farkX = renkGenislik; int farkY = renkYukseklik + 6; int x = 645; int y = 3; JPanel panel1 = new JPanel(); panel1.setLayout(null); panel1.setBackground(new Color(225, 225, 225)); panel1.setBounds(x, y, 190, renkYukseklik); JPanel panelRenk1 = new JPanel(); panelRenk1.setLayout(null); panelRenk1.setBackground(new Color(0, 0, 0)); panelRenk1.setBounds(0, 0, renkGenislik, renkYukseklik); JRadioButton rbRenk1 = new JRadioButton(""); rbRenk1.setBounds(65, 16, 30, 30); JTextField fieldRGB1 = new JTextField("R, G, B"); fieldRGB1.setBounds(85, 5, 100, 25); JTextField fieldWebKod1 = new JTextField("#000000"); fieldWebKod1.setBounds(85, 35, 100, 25); panel1.add(panelRenk1); panel1.add(rbRenk1); panel1.add(fieldRGB1); panel1.add(fieldWebKod1); y = y + farkY; JPanel panel2 = new JPanel(); panel2.setLayout(null); panel2.setBackground(new Color(225, 225, 225)); panel2.setBounds(x, y, 190, renkYukseklik); JPanel panelRenk2 = new JPanel(); panelRenk2.setLayout(null); panelRenk2.setBackground(new Color(0, 0, 0)); panelRenk2.setBounds(0, 0, renkGenislik, renkYukseklik); JRadioButton rbRenk2 = new JRadioButton(""); rbRenk2.setBounds(65, 16, 30, 30); JTextField fieldRGB2 = new JTextField("R, G, B"); fieldRGB2.setBounds(85, 5, 100, 25); JTextField fieldWebKod2 = new JTextField("#000000"); fieldWebKod2.setBounds(85, 35, 100, 25); panel2.add(panelRenk2); panel2.add(rbRenk2); panel2.add(fieldRGB2); panel2.add(fieldWebKod2); y = y + farkY; JPanel panel3 = new JPanel(); panel3.setLayout(null); panel3.setBackground(new Color(225, 225, 225)); panel3.setBounds(x, y, 190, renkYukseklik); JPanel panelRenk3 = new JPanel(); panelRenk3.setLayout(null); panelRenk3.setBackground(new Color(0, 0, 0)); panelRenk3.setBounds(0, 0, renkGenislik, renkYukseklik); JRadioButton rbRenk3 = new JRadioButton(""); rbRenk3.setBounds(65, 16, 30, 30); JTextField fieldRGB3 = new JTextField("R, G, B"); fieldRGB3.setBounds(85, 5, 100, 25); JTextField fieldWebKod3 = new JTextField("#000000"); fieldWebKod3.setBounds(85, 35, 100, 25); panel3.add(panelRenk3); panel3.add(rbRenk3); panel3.add(fieldRGB3); panel3.add(fieldWebKod3); y = y + farkY; JPanel panel4 = new JPanel(); panel4.setLayout(null); panel4.setBackground(new Color(225, 225, 225)); panel4.setBounds(x, y, 190, renkYukseklik); JPanel panelRenk4 = new JPanel(); panelRenk4.setLayout(null); panelRenk4.setBackground(new Color(0, 0, 0)); panelRenk4.setBounds(0, 0, renkGenislik, renkYukseklik); JRadioButton rbRenk4 = new JRadioButton(""); rbRenk4.setBounds(65, 16, 30, 30); JTextField fieldRGB4 = new JTextField("R, G, B"); fieldRGB4.setBounds(85, 5, 100, 25); JTextField fieldWebKod4 = new JTextField("#000000"); fieldWebKod4.setBounds(85, 35, 100, 25); panel4.add(panelRenk4); panel4.add(rbRenk4); panel4.add(fieldRGB4); panel4.add(fieldWebKod4); y = y + farkY; JPanel panel5 = new JPanel(); panel5.setLayout(null); panel5.setBackground(new Color(225, 225, 225)); panel5.setBounds(x, y, 190, renkYukseklik); JPanel panelRenk5 = new JPanel(); panelRenk5.setLayout(null); panelRenk5.setBackground(new Color(0, 0, 0)); panelRenk5.setBounds(0, 0, renkGenislik, renkYukseklik); JRadioButton rbRenk5 = new JRadioButton(""); rbRenk5.setBounds(65, 16, 30, 30); JTextField fieldRGB5 = new JTextField("R, G, B"); fieldRGB5.setBounds(85, 5, 100, 25); JTextField fieldWebKod5 = new JTextField("#000000"); fieldWebKod5.setBounds(85, 35, 100, 25); panel5.add(panelRenk5); panel5.add(rbRenk5); panel5.add(fieldRGB5); panel5.add(fieldWebKod5); group.add(rbRenk1); group.add(rbRenk2); group.add(rbRenk3); group.add(rbRenk4); group.add(rbRenk5); // 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(); Color c = null ; // Kliklenen nokta resmin sınırları içindemi kontrol ediyoruz. if (x >= 0 && y >= 0 && x < image.getWidth() && y < image.getHeight()) { c = new Color(image.getRGB(x, y)); } else { System.out.println("Resim dışı seçim"); } if (rbRenk1.isSelected()) { fieldRGB1.setText(c.getRed() + ", " + c.getGreen() + ", " + c.getBlue()); fieldWebKod1.setText("#" + Integer.toHexString(c.getRGB()).substring(2)); panelRenk1.setBackground(new Color(c.getRed(), c.getGreen(), c.getBlue())); } else if (rbRenk2.isSelected()) { fieldRGB2.setText(c.getRed() + ", " + c.getGreen() + ", " + c.getBlue()); fieldWebKod2.setText("#" + Integer.toHexString(c.getRGB()).substring(2)); panelRenk2.setBackground(new Color(c.getRed(), c.getGreen(), c.getBlue())); } else if (rbRenk3.isSelected()) { fieldRGB3.setText(c.getRed() + ", " + c.getGreen() + ", " + c.getBlue()); fieldWebKod3.setText("#" + Integer.toHexString(c.getRGB()).substring(2)); panelRenk3.setBackground(new Color(c.getRed(), c.getGreen(), c.getBlue())); } else if (rbRenk4.isSelected()) { fieldRGB4.setText(c.getRed() + ", " + c.getGreen() + ", " + c.getBlue()); fieldWebKod4.setText("#" + Integer.toHexString(c.getRGB()).substring(2)); panelRenk4.setBackground(new Color(c.getRed(), c.getGreen(), c.getBlue())); } else if (rbRenk5.isSelected()) { fieldRGB5.setText(c.getRed() + ", " + c.getGreen() + ", " + c.getBlue()); fieldWebKod5.setText("#" + Integer.toHexString(c.getRGB()).substring(2)); panelRenk5.setBackground(new Color(c.getRed(), c.getGreen(), c.getBlue())); } } // 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(panel1); panel.add(panel2); panel.add(panel3); panel.add(panel4); panel.add(panel5); return panel; } public static void main(String[] args) { new ResimdenBesliRenkAl(); } }