2012-05-12 2 views
3

Я кодирую небольшую программу, и это в основном мой первый раз, используя JComponent, чтобы нарисовать материал. Я установил фон компонента на черный.Принудительный JButton не рисовать фон

Но как только я нарисую JButton, он будет перезаписан серым по умолчанию. Я искал это в течение часа и не могу найти ответы.

+0

Вы имеете в виду серости фона кнопки, либо из фона всей панели? Возможно, вам нужно будет явно установить фон панели, если это тот, о котором вы говорите. 'GetContentPane(). SetBackground (Color.BLACK)'. – Vulcan

ответ

1

То, что вы видите, это рама, к которой вы добавили JComponent, поэтому, если вам нужна рамка с черным фоном, вам нужно установить цвет фона JFrame.

Что-то вроде этого:

JFrame frame = new JFrame(); 
frame.add(new GUI()); 
frame.pack(); 
frame.getContentPane().setBackground(Color.black); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setVisible(true); 
+0

Это код для моего фрейма: 'JFrame f = new JFrame(); \t \t GUI gui = новый GUI(); \t \t f.add (gui); \t \t f.pack(); \t \t f.setBackground (Color.BLACK); \t \t f.setSize (600, 400); \t \t f.setResizable (false); \t \t f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); \t \t f.setVisible (true); ' – yawkat

+0

Это сработало:' frame.getContentPane(). SetBackground (Color.black); 'Спасибо. – yawkat

+0

Только проблема в том, что я не могу использовать эффект aero, потому что я не могу установить прозрачный цвет фона. Это должно быть хорошо. – yawkat

1

попробуйте установить кнопку для непрозрачного использования в setOpaque (булево непрозрачный); Метод

Я не уверен, если я прав, но я мог бы быть

Edit:

Попробуйте использовать эти методы:

button.setBorderPainted(false); 
button.setContentAreaFilled(false); 
button.setFocusPainted(false); 
button.setOpaque(false); 
+0

Я уже пробовал, и он тоже не работал. – yawkat

+0

Я обновил свой ответ, пожалуйста, проверьте новые методы. – DCSoft

+0

[источник] (http://pastebin.com/Q9KDGru1) - это класс, в котором находится большинство. В основном методе я создаю фрейм и добавляю экземпляр этого Это. – yawkat

Смежные вопросы