У меня есть gui пакет с основным классом (MainWindow и java класс DrawingPanel).
В котором у меня есть mainScrollPane (JScrollPane), внутри моей mainScrollPane у меня есть DrawingPanel (который я буду использовать для рисования вещей.)
Итак, я хотел проверить, могу ли я установить цвет фона mainScrollPane.
Мне удалось заставить его работать только в конструкторе окна с: mainScrollPane.setBackground (Color.red );
Но я не понимаю, почему это не работает (цвет вообще не меняется), когда я пытаюсь воспользоваться конструктором DrawingPanel?
Спасибо за вашу помощь!
import java.awt.geom.Dimension2D;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.BevelBorder;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.io.Serializable;
import java.awt.geom.AffineTransform;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
/**
*
* @author dany_
*/
public class DrawingPanel extends JPanel implements Serializable {
private MainWindow mainWindow;
public Dimension initialDimension;
private boolean gridActivated = false;
//va falloir lui donner une valeur initiale
private double zoomLevel;
public DrawingPanel() {
}
public DrawingPanel(MainWindow mainWindow){
this.mainWindow = mainWindow;
int width = mainWindow.getMainScrollPaneDimension().width;
int height = mainWindow.getMainScrollPaneDimension().height;
setPreferredSize(new Dimension(width, height));
setVisible(true);
this.initialDimension = new Dimension(2400, 1800);
setBackground(Color.red);
//mainWindow.getMainScrollPane().getViewport().setBackground(Color.red);
}
public Dimension getInitialDimension(){
return initialDimension;
}
public MainWindow getMainWindow()
{
return mainWindow;
}
public void setMainWindow(MainWindow mainWindow)
{
this.mainWindow = mainWindow;
}
//grille
@Override
protected void paintComponent(Graphics g){
if (mainWindow != null)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
}
}