固定ピクセル位置に基づいてpaint()内のすべてをカスタム描画するアプリを作成しました。次に、フレームのサイズ変更を無効にして、常に表示されるようにしました。
ただし、サイズを変更できるようにしたいのですが、描画コードを変更したくありません。Graphics gオブジェクトの300x300の正方形を取得し、すべての描画コードの後でJFrameの現在のサイズにサイズ変更できることを望んでいましたが、何をしているのかわかりません。
ここにサンプルコードがあります。これでは、サイズ変更されたJFrameに比例して、100x100の正方形を中央に残しておきます。
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);
}
}
ありがとう。