[Swing] إنشاء زر دائري make Round JButtons

اذهب الى الأسفل

[Swing] إنشاء زر دائري make Round JButtons Empty [Swing] إنشاء زر دائري make Round JButtons

مُساهمة من طرف 1zaza في الأربعاء فبراير 20, 2019 10:29 am

الكود التالى يقوم بانشاء زر دائري 

الكود:


import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import java.awt.event.*;
 
public class RoundButton extends JButton {
 
  public RoundButton(String label) {
    super(label);
 
    setBackground(Color.lightGray);
    setFocusable(false);
 
    /*
    هذه التصريحات تكبير الزر بحيث
      يصبح دائرة بدلا من بيضاوي
    */
    Dimension size = getPreferredSize();
    size.width = size.height = Math.max(size.width, size.height);
    setPreferredSize(size);
 
    /*
    تؤدي هذالاسلوب إلى عدم رسم الخلفية.
      هذا يسمح لنا برسم خلفية مستديرة.
    */
    setContentAreaFilled(false);
  }
 
  protected void paintComponent(Graphics g) {
    if (getModel().isArmed()) {
      g.setColor(Color.gray);
    } else {
      g.setColor(getBackground());
    }
    g.fillOval(0, 0, getSize().width - 1, getSize().height - 1);
 
    super.paintComponent(g);
  }
 
  protected void paintBorder(Graphics g) {
    g.setColor(Color.darkGray);
    g.drawOval(0, 0, getSize().width - 1, getSize().height - 1);
  }
 
  // Hit detection.
  Shape shape;
 
  public boolean contains(int x, int y) {
    // إذا تغير حجم الزر  فقم بعمل كائن شكل جديد.
    if (shape == null || !shape.getBounds().equals(getBounds())) {
      shape = new Ellipse2D.Float(0, 0, getWidth(), getHeight());
    }
    return shape.contains(x, y);
  }
 
  public static void main(String[] args) {
 
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("Rounded Button Example");
    frame.setLayout(new FlowLayout());
 
    JButton b1 = new RoundButton("B1");
    JButton b2 = new RoundButton("B2");
 
    frame.add(b1);
    frame.add(b2);
 
    frame.setSize(300, 150);
    frame.setVisible(true);
  }
}


[Swing] إنشاء زر دائري make Round JButtons Output
1zaza
1zaza
..
..

تاريخ التسجيل : 18/11/2018
المساهمات : 29
النقاط : 45
التقيم : 0
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

[Swing] إنشاء زر دائري make Round JButtons Empty رد: [Swing] إنشاء زر دائري make Round JButtons

مُساهمة من طرف أحمد مناع في الجمعة مارس 15, 2019 7:31 am

احسنت شكرا جزيلا

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 966
النقاط : 201744
التقيم : 116
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى