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