2016-01-16 2 views
-2

Как установить цвет кнопки в качелях.Я пытаюсь установить цвет кнопки, но цвет не устанавливается

Вот код. В чем проблема с кодом. Может кто-нибудь помочь?

import java.awt.*; 
import javax.swing.*; 
class Myb extends JButton 
{ 



    public void paint(Graphics g) 
    { 
     g.setColor(Color.RED); 

    } 
    public static void main(String s[]) 
    { 
     JFrame f=new JFrame("frame"); 
     JButton b=new JButton(); 
     b.setBounds(100,100,50,50); 
     f.add(b); 
     f.setSize(800,800); 
     f.setLayout(null); 
     f.setVisible(true); 
    } 
} 
+3

Так много здесь не так, но вы перекрывая краски и не должны делать это. Вместо этого просто назовите 'setBackground'. И вы создаете новый класс, Myb, но никогда не используете его, никогда не создаете экземпляр 'Myb' нигде. Это говорит о том, что вы неясны в отношении некоторых основных понятий Java. Прочтите учебники. –

+1

Ваша кнопка не должна появляться вообще, так как вы переопределяете метод рисования и не делаете никаких рисунков. Прочтите несколько руководств по основам Swing. – h22

ответ

0

Переопределение paint - неправильный способ установки цвета компонента. Вы можете просто вызвать метод setBackground, чтобы установить цвет JButton.

Как так:

import java.awt.*; 
import javax.swing.*; 
class Myb 
{ 
    public static void main(String[] args) 
    { 
     SwingUtilities.invokeLater(new Runnable(){public void run(){ 
      JFrame f=new JFrame("frame"); 
      JButton b=new JButton(); 
      b.setBounds(100,100,50,50); 
      b.setBackground(Color.RED); 
      f.add(b); 
      f.setSize(800,800); 
      f.setLayout(null); 
      f.setVisible(true); 
     }}); 
    } 
} 
Смежные вопросы