Я использую JFrame и панель и пытаюсь нарисовать простой квадрат. Моя картина не появляется. Я сделал, чтобы установить цвет в черный, чтобы он был видимым. Код:
package W2;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import javax.swing.*;
public class W2 {
JFrame frame = new JFrame("W2");
public W2(){
Container pane = new Container();
frame.setContentPane(pane);
frame.setSize(750,500);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
}
public void paint(Graphics g){
g.setColor(Color.BLACK);
g.fillRect(50, 50, 50, 50);
}
public static void main(String args[]){
new W2();
}
}
Метод paint
не будет вызываться, потому что он не является частью объекта, который может быть окрашен.
См. " Выполнение пользовательской живописи" для получения подробной информации о том, как рисование выполняется в Swing
Например...
frame.setContentPane(new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLACK);
g.fillRect(50, 50, 50, 50);
}
});
paintComponent
вы ничего не делаете.