У меня есть объект просмотра, который является jPanel и содержит другие jPanels, которые в свою очередь содержат jLabels.Я хочу нарисовать наложение градиента на объекте, чтобы придать ему красивый гладкий вид, а не скучный простой вид.
Моя попытка до сих пор такова:
public class InfoDisplay extends javax.swing.JPanel {
@Override
public void paintComponent(Graphics g) {
UIDefaults uid = UIManager.getDefaults();
Graphics2D g2d = (Graphics2D)g;
int w = getWidth();
int h = getHeight();
Color lightBlue = new Color(41, 117, 200);
Color darkBlue = new Color(2, 47, 106);
if (!isOpaque()) {
super.paintComponent( g );
return;
}
GradientPaint gp = new GradientPaint(0, 0, lightBlue, 0, h, darkBlue );
g2d.setPaint(gp);
g2d.fillRect( 0, 0, w, h );
setOpaque( false );
super.paintComponent( g );
setOpaque( true );
}
}
Это не такКажется, что это вообще не меняет фон объектов.Я довольно плохо знаком с тем, что не связано с настройками по умолчанию в Gui.
Я использовал конструктор Gui в Netbeans для создания объекта, поэтому initComponents () также находится в классе, но я опубликовалтолько источник, который имеет отношение к вопросу.
Возможно, кто-то может указать мне правильное направление?