Я написал приложение, которое рисует все внутри paint() на основе фиксированных позиций пикселей. Затем я отключил изменение размера кадра, чтобы он всегда был виден.
Однако теперь я хотел бы изменить его размер, но я не хочу менять свой код рисования. Я надеялся, что смогу захватить квадрат 300x300 объекта Graphics g и изменить его размер до текущего размера JFrame после всего моего прорисовывающего кода, но я понятия не имею, что делаю.
Вот пример кода. В этом я хочу, чтобы квадрат 100x100 оставался посередине, пропорционально измененному размеру JFrame:
package DrawAndScale;
import java.awt.Color;
import java.awt.Graphics;
public class DASFrame extends javax.swing.JFrame {
public DASFrame() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
this.setSize(300, 300);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new DASFrame().setVisible(true);
}
});
}
@Override
public void paint(Graphics g) {
g.setColor(Color.BLACK);
g.fill3DRect(100, 100, 100, 100, true);
}
}
Спасибо.