java-combobox-rgb-renk-ornegi

Java ComboBox ile RGB Renk Örneği

Merhaba arkadaşlar, bu yazımızda Java görsel programlamada ComboBox ile RGB (Red Green Blue) mantığı ve yardımıyla bir renk uygulaması yapacağız. Comboboxtan 0-255 arası bir sayı seçeceğiz her bir R G B değeri için. Bu seçtiğimiz sayılara göre arka plan rengi değişecek.

RGB Nedir?

RGB renk modeli bir eklemeli renk modelidir ki burada kırmızı, yeşil ve mavi ışık geniş renk yelpazesi üretmek için çeşitli şekillerde birbirine eklenir. Modelin adı, üç ek ana rengin baş harflerinden gelir. Bu RGB dediğimiz olayda her bir renk 255 e kadar numaralanır ve her birinin tonu farklıdır. Bu tonlara göre renkler birleşir ve ortaya yeni bir renk çıkar.

ComboBox Nedir?

Her sitede çoğunlukla karşılaştığımız açılır menülerdir.

Kodlarımıza geçelim;

package teknografya;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.Font;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;

public class cboxrenk extends JFrame {

	private JPanel contentPane;
	
	DefaultComboBoxModel model_red = new DefaultComboBoxModel<>();
	DefaultComboBoxModel model_green = new DefaultComboBoxModel<>();
	DefaultComboBoxModel model_blue = new DefaultComboBoxModel<>();
	
	static int r,g,b;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					cboxrenk frame = new cboxrenk();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public cboxrenk() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		setTitle("Teknografya.com - RGB ComboBox");
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JComboBox c_red = new JComboBox();
		int i;
		for(i=0; i<=255; i++) model_red.addElement(i);
		c_red.setModel(model_red);
		c_red.setBounds(32, 24, 77, 22);
		contentPane.add(c_red);
		
		JComboBox c_green = new JComboBox();
		for(i=0; i<=255; i++) model_green.addElement(i);
		c_green.setModel(model_green);
		c_green.setBounds(168, 24, 77, 22);
		contentPane.add(c_green);
		
		JComboBox c_blue = new JComboBox();
		for(i=0; i<=255; i++) model_blue.addElement(i);
		c_blue.setModel(model_blue);
		c_blue.setBounds(306, 24, 77, 22);
		contentPane.add(c_blue);
		
		JLabel lblKrmz = new JLabel("Kırmızı");
		lblKrmz.setBounds(42, 0, 56, 16);
		contentPane.add(lblKrmz);
		
		JLabel lblYesil = new JLabel("Yeşil");
		lblYesil.setBounds(189, 0, 56, 16);
		contentPane.add(lblYesil);
		
		JLabel lblMavi = new JLabel("Mavi");
		lblMavi.setBounds(327, 0, 56, 16);
		contentPane.add(lblMavi);
		
		JLabel lblNewLabel = new JLabel("RENK");
		lblNewLabel.setOpaque(true);
		lblNewLabel.setFont(new Font("Yu Gothic", Font.BOLD, 49));
		lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
		lblNewLabel.setBounds(32, 75, 351, 148);
		contentPane.add(lblNewLabel);
		
		r=0;
		g=0;
		b=0;
		
		c_red.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent arg0) {
				r = c_red.getSelectedIndex();
				lblNewLabel.setBackground(new Color(r,g,b));
			}
		});
		c_green.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent arg0) {
				g = c_green.getSelectedIndex();
				lblNewLabel.setBackground(new Color(r,g,b));
			}
		});
		c_blue.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent arg0) {
				b = c_blue.getSelectedIndex();
				lblNewLabel.setBackground(new Color(r,g,b));
			}
		});
	}
}

Programımız şu şekilde çalışacaktır;

Java RGB ComboBox

Sorunuz olursa konu altından belirtiniz.


JAVA İLE YAZDIĞIMIZ DİĞER ÖRNEKLER İÇİN LÜTFEN TIKLAYINIZ.

Hakkında: admin

Yönetim Bilişim Sistemleri öğrencisi. Öğrendiği bilgileri elinden geldiğince paylaşmaya çalışıyor.

İLGİNİZİ ÇEKEBİLİR

java-metni-tersten-yazdirma-method

Java – Girilen Metni Tersten Yazdırma (Method İle)

Merhaba arkadaşlar, bu yazımızda java ile kullanıcıdan alınan bir metni tersten yazma nasıl yapılıyor onu …

Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments