我写了一个应用程序,自定义绘制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);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.