منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

[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
المساهمات : 39
النقاط : 66
التقيم : 3
الدولة : مصر
الجنس : ذكر

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

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

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

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

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

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

https://egy-tech.forumegypt.net

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

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

مُساهمة من طرف زهراء الثلاثاء أكتوبر 15, 2019 7:51 pm

أحمد مناع كتب:احسنت شكرا جزيلا

و ماذا عن هذا التصميم استاذ أحمد 

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

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

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

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

مُساهمة من طرف أحمد مناع الجمعة أكتوبر 18, 2019 8:13 am

زهراء كتب:
أحمد مناع كتب:احسنت شكرا جزيلا

و ماذا عن هذا التصميم استاذ أحمد 

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

حينما يتم الانتهاء منه سيتم عرض السورس كود بالكامل بالمنتدى ...مازلت اعمل فية

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

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

https://egy-tech.forumegypt.net

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

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

ََ

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


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