CodeGym /جاوا بلاگ /Random-SD /Java.Awt.Color ڪلاس
John Squirrels
سطح
San Francisco

Java.Awt.Color ڪلاس

گروپ ۾ شايع ٿيل
جيڪڏهن توهان جاوا خلاصو ٽول ڪٽ ۾ مهارت حاصل ڪري رهيا آهيو، توهان کي جاوا AWT رنگ ڪلاس جي ايپليڪيشنن کي سکڻو پوندو. جيئن ته اتي تمام گھڻا ٺاھيندڙ ۽ طريقا شامل آھن، اھو شايد پهريان کان ڊار محسوس ٿئي. پر پريشان نه ٿيو، اسان توهان کي ڍڪي ڇڏيو آهي:) Java AWT رنگ تي هن مڪمل رنڊاؤن سان، توهان سکندا ته ڪيئن نئين رنگ جو قسم ٺاهيو ۽ ان کي ڪنهن به وقت ۾ منظم ڪيو. اسان پڻ پيش ڪنداسين ڪجھ مشق جا امتحان جيڪي توھان جي مدد ڪندا توھان جي مهارت کي وڌائڻ ۾.

جاوا ۾ AWT رنگ ڪلاس ڇا آهي؟

AWT رنگ جو بنيادي مقصد ڊولپرز کي RGB (ڳاڙهو، سائو، نيرو)، RGBA (لال، سائو، نيرو، الفا)، يا HSB (Hue، saturation، BRI اجزاء) پيڪيجز استعمال ڪندي جاوا ڪوڊ استعمال ڪندي نوان رنگ ٺاهڻ جي اجازت ڏيڻ آهي. ڪلاس ۾ ٻه قدر شامل آهن - ڇانو جو ڪوڊ ۽ اوپيسيٽي / شفافيت جو قدر. Java.Awt.Color ڪلاس - 1ھتي آھي توھان ڪيئن اعلان ڪيو ڪلاس java.awt.Color:
public class Color
   extends Object
      implements Paint, Serializable
Class.java.awt.Color استعمال ڪندي رنگن جي مختلف قسمن جو اعلان ڪرڻ لاءِ، ڊولپر استعمال ڪن ٿا ڪنسٽرڪٽرز - اسان ھاڻي انھن تي ھڪ نظر وجهنداسين.

AWT.Color Constructors جاوا ۾

رنگ جي پيٽرولر تي منحصر ڪري ٿو جيڪو توهان ٺاهڻ چاهيو ٿا، توهان کي هڪ مخصوص قسم جي رنگ تعمير ڪندڙ استعمال ڪرڻ جي ضرورت پوندي. انھن مان ھڪڙو ھٿيار آھي - اچو ته انھن کي ھڪڙي ھڪڙي جانچيو.
  • Color(float r, float g, float b)اهو طبقو آهي جيڪو توهان استعمال ڪندا آهيو رنگ جي وضاحت ڪرڻ لاءِ آر بي بي رنگ اسڪيم ۾ جيڪو مبهم آهي. توھان 0.0 ۽ 0.1 جي وچ ۾ ڪٿي به رنگ جي حد بيان ڪري سگھو ٿا.
  • Color(float r, float b, float g, float a)اهو طبقو آهي جيڪو وضاحت ڪري ٿو هڪ RGBA رنگ (موجود قدرن جي حد 0.0 ۽ 0.1 آهي).
  • Color(ColorSpace c, float[], co, float a)ColorSpace ۾ هڪ رنگ کي بيان ڪري ٿو جيڪو توهان اڳ ۾ بيان ڪيو آهي. هڪ ڊولپر وضاحت ڪيل الفا جي فلوٽ صف ۾ رنگ جي اجزاء جي حد کي بيان ڪري ٿو.
  • Color(int, rgb)ھڪڙو طبقو آھي جيڪو آر بي بي رنگ ٺاھيندو آھي (مبهم). پڪ ڪريو ته تعمير ڪندڙ جي اجزاء جي قيمت تي ڌيان ڏيو - ڳاڙهي لاء 16-23، سائي لاء 8-15، نيري لاء 0-7.
  • Color(int r, int g, int b)- ھڪڙو طريقو استعمال ڪيو ويو ھڪڙو غير واضح آر بي بي رنگ کي بيان ڪرڻ لاء. رنگ جي قيمت 0 ۽ 255 جي وچ ۾ هجڻ گهرجي.
  • Color(int r, int g, int b, int a)- RGBA اسڪيم ۾ هڪ رنگ ٺاهي ٿو (0-255).
  • Color(int rgba, boolean b)sRGB رنگن کي ٺاھڻ لاءِ استعمال ڪيو ويندو آھي ھڪ مقرر ڪيل گڏيل قدر اندر. قدرن جي حد الفا لاءِ 24-31، ڳاڙهي لاءِ 16-23، سائي لاءِ 8-15، ۽ نيري لاءِ 0-7 تائين آھي.
ان کان سواء، class.awt.color شعبن سان هلندي آهي، وراثت ۾ Java.awt.Transparency:
  • TRANSLUCENTنمائندگي ڪري ٿو ته ڇا رنگ ۾ الفا ويلز شامل آهن ۽ ٻه قدر آهن - 0 ۽ 1.
  • OPAQUE1 جي الفا قيمت اعتراض کي تفويض ڪري ٿو ان جي مڪمل مبهميت جي ضمانت.
  • BITMASKمطلق مبهميت يا شفافيت جي قيمت جي نمائندگي ڪري ٿو ۽ (0؛ 1) جي حد اندر آهي جتي 0 مڪمل شفافيت آهي ۽ 1 انتهائي مبهم آهي.

جاوا AWT رنگ ڪلاس سان استعمال ڪرڻ جا مٿيان 15 طريقا

رنگ کي ترتيب ڏيڻ لاء، ان جي اونداهي يا روشني کي ترتيب ڏيو، جاوا ڊولپرز مختلف طريقن تي ڀاڙين ٿا. انهن مان ڪيترائي آهن تنهنڪري توهان کي انهن سڀني کي دل سان سکڻ جي ضرورت ناهي. بهرحال، جڏهن اهو سڀ کان وڏي پيماني تي استعمال ٿيل جاوا AWT رنگ جي طريقن سان اچي ٿو، اسان لسٽ کي پندرهن تائين محدود ڪيو. جاوا API دستاويزن جو حوالو ڏيڻ کان سواءِ انهن کي ياد رکڻ ڊولپرز لاءِ مددگار ثابت ٿيندو.

اونداهو()

طريقو نئون رنگ ٺاهڻ لاءِ استعمال ڪيو ويندو آهي جيڪو رنگ جو هڪ اونداهو نسخو آهي جيڪو توهان اڳ ۾ ئي بيان ڪيو آهي. مثال :
Color.green.darker()
جيڪڏهن darker()هڪ ڀيرو لاڳو ڪرڻ ڪافي نه آهي ته هڪ ڇانو ٺاهڻ لاءِ توهان کي ضرورت آهي، انهي طريقي کي ٻيهر لاڳو ڪرڻ لاءِ آزاد محسوس ڪريو جيترو توهان چاهيو ٿا، جيئن هيٺ ڏيکاريل آهي:
Color.green.darker().darker().darker().darker().darker()

روشن ()

جيئن ته نالو مشورو ڏئي ٿو، Color brighter()ڇانو کي روشن ڪرڻ لاء استعمال ڪيو ويو آهي جيڪو توهان وٽ اڳ ۾ ئي آهي. ساڳئي طرح darker()، ان کي استعمال ڪري سگهجي ٿو ڪيترائي ڀيرا في هڪ رنگ. مثال :
Color myColor = Color.RED;

    JLabel label = new JLabel("First Name");
    label.setForeground(myColor.brighter());

int getAlpha()

جيڪڏھن توھان پنھنجي رنگ جي الفا جزو کي واپس ڪرڻ چاھيو ٿا، ھي طريقو استعمال ڪريو. ذهن ۾ رکو ته الفا قدر 0-255 جي حد جي اندر اندر آهن. هتي طريقو جي ايپليڪيشن ۽ واپسي جو مثال آهي. مثال :
alpha = Color.black.getAlpha();
return new Color(components[0], components[1], components[2], alpha);

جامد رنگ getColor (string nm)

جاوا ڊولپر هن طريقي کي استعمال ڪري سگھن ٿا رنگ ڳولڻ لاء سسٽم جي ملڪيت استعمال ڪندي. اهڙا ٻيا طريقا آهن جيڪي ساڳئي مقصدن کي هٿي وٺن ٿا:
  • static Color getColor(String nm, int v)
  • static Color getColor(String nm, Color v)

جامد رنگ ڊيڪوڊ (اسٽرنگ اين ايم)

اهو طريقو استعمال ڪيو ويندو آهي هڪ رنگ کي اسٽرنگ طور ڏيکاري ٿو. تبادلي جي مڪمل ٿيڻ کان پوء، هڪ ڊولپر هڪ بيان ڪيل مبهم رنگ حاصل ڪندو. مثال :
public static Color decodeColor(String hexColor) {

 return Color.decode(hexColor);

PaintContext createContext (رنگ ماڊل سي ايم، مستطيل r، مستطيل2D r2d، AffineTransform xform، Rendering Hints اشارو)

اهو طريقو پيچيده ڏسڻ ۾ اچي ٿو پر اهو ڏسڻ کان وڌيڪ آسان آهي. Paint Context CreateContext()بار بار مضبوط رنگ جي نموني کي بيان ڪرڻ لاء استعمال ڪيو ويندو آهي. مثال :
public PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds,

                  AffineTransform xform, RenderingHints hints)

 {
   try
   {
     return new AxialShadingContext(shading, cm, xform, matrix, deviceBounds);
   }
   catch (IOException e)

   {

     LOG.error("An error occurred while painting", e);

     return new Color(0, 0, 0, 0).createContext(cm, deviceBounds, userBounds, xform, hints);

   }
 }
}

float[] getComponents(ColorSpace cspace, float[] compArray)

هي هڪ جاوا طريقو آهي جيڪو توهان رنگ تي لاڳو ڪري سگهو ٿا ان جي فلوٽ صف ۽ الفا اجزاء کي واپس ڪرڻ لاء. طريقو ColorSpacecspace پاران بيان ڪيل ڏنل تي لاڳو ٿئي ٿو. مثال :
public float[] getComponents(ColorSpace cspace, float[] compArray) {

return myColor.getComponents(cspace, compArray);

}

رنگ اسپيس حاصل ڪريو ColorSpace()

جاوا ڊولپرز هن طريقي کي استعمال ڪري سگھن ٿا رنگ جي جڳھ کي واپس ڪرڻ لاءِ چونڊيل رنگ لاءِ. ڏنل داخلا لاءِ رنگ جي جڳھ حاصل ڪرڻ جو ٻيو طريقو Arrays.to.String لاڳو ڪرڻ سان آھي. هي هڪ وڌيڪ پيچيده حڪمت عملي آهي، جيئن هيٺ ڏنل مثال ۾ ڏٺو ويو آهي: مثال :
public class Main {
  public static void main(String[] args) {

    Color myColor = Color.RED;

    System.out.println(Arrays.toString(myColor.getComponents(ColorSpace.getInstance(ColorSpace.CS_CIEXYZ),null)));

حاصل ڪريو ايڇ ايس بي رنگ (فلوٽ ايڇ، فلوٽ ايس، فلوٽ ب)

جاوا ڊولپرز هن طريقي کي لاڳو ڪن ٿا هڪ نئون رنگ اعتراض ٺاهڻ لاءِ HSB ماڊل جي قدرن جي بنياد تي. مثال :
private Color colorAt(int y)

 {
   return Color.getHSBColor(1 - (float) y / (height - 1), 1, 1);
 }
}

getGreen()	returns the green component in the range 0-255 in the default sRGB space.

حاصل گرين()

هي جاوا طريقو توهان جي ٺاهيل رنگ لاء سائي جزو جي قيمت واپس ڪري ٿو. سڀئي قيمتون حد جي اندر فٽ ٿين ٿيون جيڪي RGB رنگ اسڪيم ۾ سائي سان ملن ٿيون. مثال :
Color clickBoxColor = new Color(color.getRed(), color.getGreen(), color.getBlue(), 20);

GetRed()

ساڳيءَ طرح سان getGreen()، getRedڏنل رنگ جي ڳاڙهي حصي لاءِ قدر ڏي ٿو. توھان اڳ ۾ ئي ڏٺو آھي ته مٿي ڏنل مثال ۾ طريقو ڪيئن لاڳو ڪيو ويو.

نيرو ()

اهو طريقو آر بي بي رنگ اسڪيم جي قدرن جي حد اندر نيري جي قيمت واپس ڪري ٿو. اهڙي طرح، استعمال ڪرڻ جي مثال لاء getBlue()، جي وضاحت ڏسو getGreen().

GetAlpha()

getAlpha() طريقو جاوا ۾ استعمال ٿيندو آهي جڏهن هڪ ڊولپر ڪنهن ڏنل رنگ جي الفا قدر ڳولڻ چاهيندو آهي. ساڳئي طرح RBG، سڀني رنگن جا الفا 0-255 جي حد اندر آهن. مثال : هتي ڪيئن getAlpha()استعمال ڪيو ويو لوپ جي هڪ حصي طور.
int alpha = color.getAlpha();
	if (alpha != 255)
	{
		setStrokeAlpha(alpha);
		strokeAlphaSet = true;

شفافيت حاصل ڪريو ()

اهو طريقو شفافيت جي قيمت واپس ڏئي ٿو جيڪو توهان يا ڪنهن ٻئي ڊولپر ان کي ٺاهيندي رنگ لاءِ بيان ڪيو آهي. مثال :
public int getTransparency() {

return myColor.getTransparency();

بوليان برابر (Object اعتراض)

اهو طريقو انتهائي مفيد آهي جيڪڏهن توهان هڪ ٻئي سان ٻن رنگن جو مقابلو ڪري رهيا آهيو. اهو جاوا ڊولپرز کي ٻڌائي ٿو ته ڇا ٻن رنگن جي شين جي برابر قدر آهن. مثال :
import java.awt.Color;
public class Main {
  public static void main(String[] a) {
    Color myBlack = new Color(0, 0, 0); // Color black
    Color myWhite = new Color(255, 255, 255); // Color white
    System.out.println(myBlack.equals(myWhite));
  }
}

برابر (Object)

ساڳئي طرح boolean equals(Object obj)، هي هڪ تقابلي طريقو آهي. اسان ان کي استعمال ڪرڻ لاء استعمال ڪندا آهيون ته ڇا رنگ شيون هڪ ٻئي جي برابر آهن. مثال :
Object a = new Object(); Object b = new Object(); return(a.equals(b));

جاوا ۾ استعمال ٿيل مکيه رنگن لاءِ گائيڊ

هاڻي ته توهان کي جاوا ۾ رنگن کي ترتيب ڏيڻ لاء استعمال ڪيل طريقن جي ڄاڻ آهي، اچو ته هڪ نظر وٺو فيلڊ جي قسمن تي جيڪي توهان ڪم ڪري رهيا آهيو. اهي اصل جامد رنگ آهن جاوا ڊولپرز وضاحت ڪري سگھن ٿا. توهان يا ته هڪ رنگ جي وضاحت ڪري سگهو ٿا ان جو نالو داخل ڪندي (پڪ ڪريو ته توهان ان کي داخل ڪيو بلڪل صحيح طريقي سان اهو سرڪاري دستاويزن ۾ لکيو ويو آهي) يا ان جي آر بي جي قيمت جي وضاحت ڪندي. اچو ته هڪ نظر رکون ٿا پيليٽ ڊولپرز استعمال ڪن ٿا:
ميدان جو نالو وصف
جامد رنگ ڪارو (ڪارو) ڪارو رنگ بيان ڪري ٿو
جامد رنگ اڇو (اڇو) سفيد رنگ جي وضاحت ڪري ٿو
جامد رنگ نيرو (نيرو) نيري جي وضاحت ڪرڻ لاء استعمال ڪيو ويو
جامد رنگ سرمائي (گريو) گرين رنگ جي وضاحت ڪري ٿو
جامد رنگ ڪارو ناسي (DARK_GRAY) ڳاڙهي رنگ جي اونداهي ڇانو جي وضاحت ڪري ٿي
جامد رنگ هلڪو گري (LIGHT_GRAY) گرين رنگ جي هڪ روشن ڇانو جي وضاحت ڪري ٿي
جامد رنگ سائو (سائو) سائي رنگ جي وضاحت ڪرڻ لاء استعمال ڪيو ويو
جامد رنگ ميجنٽا (ميجنٽا) Magenta ڇانو جي وضاحت ڪري ٿو
جامد رنگ گلابي (گلابي) جاوا ۾ گلابي جي وضاحت ڪري ٿي
جامد رنگ نارنگي (نارنگي) جاوا ۾ نارنگي رنگ ٺاهي ٿو
جامد رنگ پيلو (پيلو) زرد جي تعريف ڪرڻ لاء استعمال ڪيو ويو
جامد رنگ ڳاڙهو (RED) جاوا ۾ ڳاڙهي رنگ جي وضاحت ڪري ٿي

جاوا ۾ AWT.Color استعمال ڪرڻ لاء مشق مسئلا

ڇا توهان محسوس ڪيو آهي ته توهان وٽ جاوا ۾ AWT رنگ جو مضبوط بنياد آهي؟ اچو ته ڪجھ عملي مسئلا حل ڪندي انھن صلاحيتن کي آزمايون - ھتي، توھان کي ٺاھيندڙ ۽ عام طريقا لاڳو ڪرڻا پوندا، گڏوگڏ ٻيا غير رنگ سان لاڳاپيل جاوا اوزار. مشق مسئلو # 1 . ھڪڙو ڪسٽم جزو ٺاھيو جيڪو ھڪڙو پروگرام استعمال ڪندڙ کي آر بي بي جي سطح کي رنگ ۾ ٽائيڪ ڪرڻ جي اجازت ڏئي ٿو (ساڳئي طرح RGBColorChooser). شامل ڪرڻ جي پڪ ڪريو getColor() توهان جي اجزاء ۾. جزو کي پينل سب ڪلاس ٺاهيو، ايپلٽ نه. جواب : هي هڪ ڪافي پيچيده مسئلو آهي - اچو ته ان کي ٽوڙيو ان کي منظم قدمن ۾:
  1. RGBChooserهڪ جزو ۾ تبديل ڪريو .
  2. جزو ۾ نئون معمول شامل ڪريو - getColor().
  3. setColor()رنگ مقرر ڪرڻ لاء شامل ڪريو .
هتي اهو نمونو ڪوڊ آهي جيڪو توهان کي ڏينهن جي آخر ۾ حاصل ڪرڻ گهرجي:
import java.awt.*;
    import java.awt.event.*;

    public class RGBChooserComponent extends Panel implements AdjustmentListener {

       private Scrollbar redScroll, greenScroll, blueScroll;   // Scroll bars.

       private Label redLabel, greenLabel, blueLabel;  // For displaying RGB values.


       private Canvas colorCanvas;  // Color patch for displaying the color.

       public RGBChooserComponent() {  // Constructor.

           /*Now let’s add scrollbars with values from 0 to 255. */

           redScroll = new Scrollbar(Scrollbar.HORIZONTAL, 0, 10, 0, 265);
           greenScroll = new Scrollbar(Scrollbar.HORIZONTAL, 0, 10, 0, 265);
           blueScroll = new Scrollbar(Scrollbar.HORIZONTAL, 0, 10, 0, 265);

           /* Create Labels showing current RGB and HSB values. */

           redLabel = new Label(" R = 0");
           greenLabel = new Label(" G = 0");
           blueLabel = new Label(" B = 0");

           /* We are setting backgrounds for Scrollbars and Labels, so they get the default
              gray background of the applet. */

           redScroll.setBackground(Color.lightGray);
           greenScroll.setBackground(Color.lightGray);
           blueScroll.setBackground(Color.lightGray);

           redLabel.setBackground(Color.white);
           greenLabel.setBackground(Color.white);
           blueLabel.setBackground(Color.white);

           /* Establish a panel that would listen for changes to the Scrollbars' values */

           redScroll.addAdjustmentListener(this);
           greenScroll.addAdjustmentListener(this);
           blueScroll.addAdjustmentListener(this);

           /* Add a canva, the background color of which will always match the currently selected color. */

           colorCanvas = new Canvas();
           colorCanvas.setBackground(Color.black);

           /* Create the applet layout, which consists of a row of
              three equal-sized regions holding the Scrollbars,
              the Labels, and the color patch.  The background color
              of the applet is gray, which will show around the edges
              and between components. */

           setLayout(new GridLayout(1,3,3,3));
           setBackground(Color.gray);
           Panel scrolls = new Panel();
           Panel labels = new Panel();

           add(scrolls);
           add(labels);
           add(colorCanvas);

           /* Add the Scrollbars and the Labels to their respective panels. */

           scrolls.setLayout(new GridLayout(3,1,2,2));
           scrolls.add(redScroll);
           scrolls.add(greenScroll);
           scrolls.add(blueScroll);

           labels.setLayout(new GridLayout(3,1,2,2));
           labels.add(redLabel);
           labels.add(greenLabel);
           labels.add(blueLabel);

       } // end init();


       public Color getColor() {
              // Get the color currently displayed by the component.
           int r = redScroll.getValue();
           int g = greenScroll.getValue();
           int b = blueScroll.getValue();
           return new Color(r, g, b);
       }


       public void setColor(Color c) {
             // Set the component to display the given color.
             // (Ignore this if c is null.)
          if (c != null) {
             int r = c.getRed();      // Get the color levels from the color.
             int g = c.getGreen();
             int b = c.getBlue();
             redLabel.setText(" R = " + r);   // Set the labels.
             greenLabel.setText(" G = " + g);
             blueLabel.setText(" B = " + b);
             redScroll.setValue(r);        // Set the scrollbars.
             greenScroll.setValue(g);
             blueScroll.setValue(b);
             colorCanvas.setBackground(new Color(r,g,b));  // Set the canvas.
             colorCanvas.repaint();
          }
       }


       public Dimension getMinimumSize() {
              // Specify the minimum reasonable size of this component.
          return new Dimension(150,40);
       }


       public Dimension getPreferredSize() {
              // Specify the preferred size of this component.
          return new Dimension(280,80);
       }


       public void adjustmentValueChanged(AdjustmentEvent evt) {
               // This is called when the user has changed the values on
               // one of the scrollbars.  All the scrollbars are checked,
               // the labels are set to display the correct values,
               // and the color patch is reset to correspond to the new color.
           int r = redScroll.getValue();
           int g = greenScroll.getValue();
           int b = blueScroll.getValue();
           redLabel.setText(" R = " + r);
           greenLabel.setText(" G = " + g);
           blueLabel.setText(" B = " + b);
           colorCanvas.setBackground(new Color(r,g,b));
           colorCanvas.repaint();  // Redraw the canvas in its new color.
       } // end adjustmentValueChanged


       public Insets getInsets() {
              // The system calls this method to find out how much space to
              // leave between the edges of the applet and the components that
              // it contains.  I want a 2-pixel border at each edge.
          return new Insets(2,2,2,2);
       }

    }  // end class RGBColorChooser

نتيجو

مبارڪون هجن، توهان هن وسيع گائيڊ ذريعي حاصل ڪيو آهي AWT.Color جاوا ۾. هاڻي، انٽرفيس کي سنڀالڻ تمام آسان ٿي ويندو. عملي مسئلن ۽ CodeGym سوالن کي حل ڪندي پنهنجي علم کي لاڳو ڪرڻ نه وساريو. مشق مڪمل ڪري ٿي، تنهن ڪري نموني مسئلن کي پنهنجو بهترين شاٽ ڏيو!
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION