سؤال

أنا أستخدم JToolbar مخصص باستخدام الكود التالي:

public class GeneralToolbar extends JToolBar{

  public GeneralToolbar() {
    super();
    setBackground(Color.white);
    setOpaque(true);
    setPreferredSize(new Dimension(54,54));
    setMinimumSize(new Dimension(54,54));
    setMaximumSize(new Dimension(54,54));
    setSize(new Dimension(54,54));
  }

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Dimension size = this.getSize();
    ImageIcon image = DefaultAction.createImageIcon("/com/aaa/resources/tabback");
    g.drawImage(image.getImage(), 0,0, size.width, size.height, this);
  }
}

الآن تبين الصورة. لكني أحصل على مستطيل غير شفاف حول أزراري. حاولت ضبط الزر غير شفاف على خطأ لكنه لم يضيف أي تأثير. أشكركم على الدعم

هل كانت مفيدة؟

المحلول

ربما تحتاج إلى استخدام:

button.setBorderPainted( false );
button.setContentAreaFilled( false );

بالطبع عندما تتخلص من الحدود ، فأنت لا ترى تأثير النقر على الزر.

إذا كنت بحاجة إلى مزيد من المساعدة نشر SSCCE إظهار المشكلة.

نصائح أخرى

public GeneralToolbar() {
    super();
    setBackground(Color.white);
    setOpaque(true);
    setPreferredSize(new Dimension(54,54));
    setMinimumSize(new Dimension(54,54));
    setMaximumSize(new Dimension(54,54));
    setSize(new Dimension(54,54));
}
public void paintComponent(Graphics g) {
    super.paintComponent(g);
   Dimension size = this.getSize();
   ImageIcon image = DefaultAction.createImageIcon("/com/aaa/resources/tabback");
   g.drawImage(image.getImage(), 0,0, size.width, size.height, this);
 }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top