Masaüstü Renklerine Erişim, Kullanım amacı ve Sabitleri

CorsaiR

Emektar
27 Ara 2005
1,228
18
Çekirdekten
Masaüstü Renklerine Erişim, Kullanım amacı ve Sabitleri
Pencereler (windowlar) biçiminde çalışan işletim sistemlerinde renklere erişmek için
javada java.awt.SystemColor sınıfı kullanılır. Buradaki değişkenler final static olarak
tanımlanmıştır. Bu değişkenler aşağıdaki kodda bulabilirsiniz. Bu sabit değişkenleri kullanmak
son derece kolaydır. Bir örnek vermek gerekirse ;
Button b=new Button("Benim Butonum");
olarak bir buton tanımlayalım. Bu butonun yazı rengini değiştirmek için şu satırlar eklenir.
b.setForeground(Color.red);
Ama bu işi standart pencere renklerini kullanarakta yapabilirsiniz. Şöyleki ;
b.setForeground(SystemColor.info);
Burada eklediğiz butonun rengi yardım metin rengi olacaktır. Örneğin windows kullanıyorsanız
açık sarı olacaktır. Bir tane daha örnek vermek gerekirse ;
b.setForeground(SystemColor.desktop);
Buradada eklediğiz butonun rengi masaüstünüzün zemin rengini alacaktır.

Birazda yapmış olduğum programın kullanımından bahsetmek istiyorum. Programı çalıştırdığınız
zaman applette bir Liste göreceksiniz. Bu listeden bir eleman seçin. Sonra butona basın.
Butonun zemin rengi ve labelin yazı renkleri değişecektir.
Kullanılan tüm sabitler aşağıda açıklanmıştır. Ayrıca programı çalıştırdığınızda applette
bir Textarea vardır. Bu TextAreadada gerekli açıklamaları edinebilirsiniz.
Programın kodu aşagıdadır.

Programın Çalışır Hali




Programın Kaynak Kodu



/*
Program Adı: masaustu.java
Hazırlayan : Murat METİN , [email protected]
JDK sürümü : 1.2
Programın bulunduğu url : www.programlama.com
Açıklama : Asağıdaki kod masaüstünde bulunan renklere bağlı olarak bu renklerin
neler olduğunu ve kendi bileşenleriniz üzerinde nasıl kullanabileceğinizi gösteren
bir java programıdır. Kendi bileşenlerinizin renklerini masaüstündeki renklerle aynı
yapabilirsiniz. Örneğin; masaüstünüzün (desktop) unuzun rengi ile bir butonun zemin
rengi aynı olsun diyorsanız aşagıdaki kodu incelemenizi tavsiye ederim.
Hepinize bol javali günler.
*/

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class masaustu extends Applet implements ActionListener {
Button b= new Button("Rengi Uygulama - Bana Bas");//buton sınıfının örneği yapıldı..
Label l= new Label(" Aşagıdaki Listeden Bir Eleman Seçiniz. Sonra Butona Basınız ");
TextArea aciklama= new TextArea(10,60);
List elemanlar = new List(13,false);//elemnların ilk 13 tanesi görülür.birden fazla seçim yapılamaz..

Panel orta_panel=new Panel();

Font kalin=new Font("TimesRoman",Font.BOLD,22);
Font aciklama_icin=new Font("TimesRoman",Font.BOLD,15);
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();

public **** init() {
setLayout(gbl);//yerleşim flowlayout tipinde olacak..
l.setFont(kalin);
aciklama.setFont(aciklama_icin);
aciklama.setEditable(false);
orta_panel.setLayout(new FlowLayout(FlowLayout.CENTER));
orta_panel.add(elemanlar);
orta_panel.add(aciklama);

gbc.anchor=GridBagConstraints.NORTH;
gbc.gridwidth=GridBagConstraints.REMAINDER;
add(l,gbc);
add(orta_panel,gbc);
add(b,gbc);//buton ekleniyor..


//listeye elemanlar ekleniyor
elemanlar.addItem("activeCaption");//index 0
//pencerenin başlık çubugunun rengini verir.

elemanlar.addItem("activeCaptionBorder");//index 1
//pencerenin başlık kenar rengini verir...

elemanlar.addItem("activeCaptionText");//index 2
//pencerenin başlık metin rengini verir...

elemanlar.addItem("control");//index 3
//kontrol bileşeninin rengini verir...

elemanlar.addItem("controlDkShadow");//index 4
//kontrol gölge rengini verir...

elemanlar.addItem("desktop");//index 5
//masaüstünüzün zemin rengini sunar...

elemanlar.addItem("controlHighliht");//index 6
//kontrol vurgulama rengini sunar...

elemanlar.addItem("controlLtHighliht");//index 7
//kontrol açık vurgulama rengini verir...

elemanlar.addItem("controlShadow");//index 8
//kontrol gölge rengini verir...

elemanlar.addItem("controlText");//index 9
//metin rengini sunar...

elemanlar.addItem("inactiveCaption");//index 10
//pasif olan (etkin olmayan) pencere başlığının zemin rengini sunar...

elemanlar.addItem("inactiveCaptionBorder");//index 11
// pasif olan (etkin olmayan) pencere başlığının kenar rengini sunar...

elemanlar.addItem("inactiveCaptionText");//index 12
// pasif olan (etkin olmayan) pencere başlığının metin rengini sunar...

elemanlar.addItem("info");//index 13
//yardım metin rengini sunar...

elemanlar.addItem("menu");//index 14
//menü zemin rengini verir...

elemanlar.addItem("menuText");//index 15
//menü text rengini verir...

elemanlar.addItem("scrollbar");//index 16
//scrollbar (kaydırma) çubugunun zemin renginin verir...

elemanlar.addItem("textHighlight");//index 17
//zemin metin vurgulama rengini verir...

elemanlar.addItem("textHighlightText");//index 18
// metin vurgulama rengi...

elemanlar.addItem("textInactiveText");//index 19
// pasif olan (etkin olmayan) kontroller için metin rengini sunar...

elemanlar.addItem("textText");//index 20
//metin bileşinindeki metin rengini sunar...

elemanlar.addItem("window");//index 21
//pencere zemin rengini verecektir...

elemanlar.addItem("windowBorder");//index 22
//pencere kenar rengini sunar...

elemanlar.addItem("windowText");//index 23
//pencere içindeki metinin rengini verir...

b.addActionListener(this);//buton olaya eklendi..
}

public **** actionPerformed(ActionEvent e) {
showStatus("Seçtiginiz Elemanın Indexi..: " + elemanlar.getSelectedIndex());
//showStatus le appletin durum çubuguna istediğiniz her şeyi yazabilirsiniz.
//Burada listeden seçilen elemanın kaçıncı index te olduğu durum çubuğunda gösterilmiştir.
int sira_no = elemanlar.getSelectedIndex();
l.setText(elemanlar.getSelectedItem());
aciklama.setText("");
aciklama.appendText(" Seçtiğiniz İndex İçin Açıklama
");
aciklama.appendText("**********************************************************

");
switch(sira_no) {
case 0:{b.setBackground(SystemColor.activeCaption);
l.setForeground(SystemColor.activeCaption);
aciklama.appendText("Pencerenin başlık çubugunun rengini verir.


");break;}
case 1:{b.setBackground(SystemColor.activeCaptionBorder);
l.setForeground(SystemColor.activeCaptionBorder);
aciklama.appendText("Pencerenin başlık kenar rengini verir.


");break;}
case 2:{b.setBackground(SystemColor.activeCaptionText);
l.setForeground(SystemColor.activeCaptionText);
aciklama.appendText("Pencerenin başlık metin rengini verir.


");break;}
case 3:{b.setBackground(SystemColor.control);
l.setForeground(SystemColor.control);
aciklama.appendText("Kontrol bileşeninin rengini verir.


");break;}
case 4:{b.setBackground(SystemColor.controlDkShadow);
l.setForeground(SystemColor.controlDkShadow);
aciklama.appendText("Kontrol gölge rengini verir.


");break;}
case 5:{b.setBackground(SystemColor.desktop);
l.setForeground(SystemColor.desktop);
aciklama.appendText("Masaüstünüzün zemin rengini sunar.


");break;}
case 6:{b.setBackground(SystemColor.controlHighlight);
l.setForeground(SystemColor.controlHighlight);
aciklama.appendText("Kontrol vurgulama rengini sunar.


");break;}
case 7:{b.setBackground(SystemColor.controlLtHighlight);
l.setForeground(SystemColor.controlLtHighlight);
aciklama.appendText("Kontrol açık vurgulama rengini verir.


");break;}
case 8:{b.setBackground(SystemColor.controlShadow);
l.setForeground(SystemColor.controlShadow);
aciklama.appendText("Kontrol gölge rengini verir.


");break;}
case 9:{b.setBackground(SystemColor.controlText);
l.setForeground(SystemColor.controlText);
aciklama.appendText("Metin rengini sunar.


");break;}
case 10:{b.setBackground(SystemColor.inactiveCaption);
l.setForeground(SystemColor.inactiveCaption);
aciklama.appendText("Pasif olan (etkin olmayan) pencere başlığının zemin rengini sunar.


");break;}
case 11:{b.setBackground(SystemColor.inactiveCaptionBorder);
l.setForeground(SystemColor.inactiveCaptionBorder);
aciklama.appendText("Pasif olan (etkin olmayan) pencere başlığının kenar rengini sunar.


");break;}
case 12:{b.setBackground(SystemColor.inactiveCaptionText);
l.setForeground(SystemColor.inactiveCaptionText);
aciklama.appendText("Pasif olan (etkin olmayan) pencere başlığının metin rengini sunar.


");break;}
case 13:{b.setBackground(SystemColor.info);
l.setForeground(SystemColor.info);
aciklama.appendText("Yardım metin rengini sunar.


");break;}
case 14:{b.setBackground(SystemColor.menu);
l.setForeground(SystemColor.menu);
aciklama.appendText("Menü zemin rengini verir.


");break;}
case 15:{b.setBackground(SystemColor.menuText);
l.setForeground(SystemColor.menuText);
aciklama.appendText("Menü text rengini verir.


");break;}
case 16:{b.setBackground(SystemColor.scrollbar);
l.setForeground(SystemColor.scrollbar);
aciklama.appendText("Scrollbar (kaydırma) çubugunun zemin renginin verir.


");break;}
case 17:{b.setBackground(SystemColor.textHighlight);
l.setForeground(SystemColor.textHighlight);
aciklama.appendText("Zemin metin vurgulama rengini verir.


");break;}
case 18:{b.setBackground(SystemColor.textHighlightText);
l.setForeground(SystemColor.textHighlightText);
aciklama.appendText("Metin vurgulama rengi.


");break;}
case 19:{b.setBackground(SystemColor.textInactiveText);
l.setForeground(SystemColor.textInactiveText);
aciklama.appendText("Pasif olan (etkin olmayan) kontroller için metin rengini sunar.


");break;}
case 20:{b.setBackground(SystemColor.textText);
l.setForeground(SystemColor.textText);
aciklama.appendText("Metin bileşinindeki metin rengini sunar.


");break;}
case 21:{b.setBackground(SystemColor.window);
l.setForeground(SystemColor.window);
aciklama.appendText("Pncere zemin rengini verecektir.


");break;}
case 22:{b.setBackground(SystemColor.windowBorder);
b.setForeground(SystemColor.windowBorder);
aciklama.appendText("Pencere kenar rengini sunar.


");break;}
case 23:{b.setBackground(SystemColor.windowBorder);
l.setForeground(SystemColor.windowBorder);
aciklama.appendText("Pencere içindeki metinin rengini verir.


");break;}
default: //default değer...
}
}//actionPerformed in sonudur...

}//appletim sınıfının sonudur...
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.