所以我想創建一個JFrame,它將根據某個固定值調整寬度和高度。JFrame調整大小問題
ie 當您使用鼠標更改JFrame的大小時,如果新的寬度或高度值不是20的倍數(下面的代碼中的固定大小),它會將寬度或高度舍入爲最近的20個,然後調整JFrame的大小。
寬度似乎工作,但高度不...
請幫助
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
@SuppressWarnings("serial")
public class test extends JFrame {
private static JPanel panel = new JPanel(null);
private static int SIZE = 20;
public test() {
panel.setBackground(Color.RED);
this.add(panel);
}
public static void main(String[] args) {
final test frame = new test();
frame.setSize(600, 400);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addComponentListener(new ComponentListener() {
public void componentResized(ComponentEvent e) {
if ((panel.getWidth() % SIZE != 0) || (panel.getHeight() % SIZE != 0)) {
int screenWidth = ((panel.getWidth() + SIZE)/SIZE) * SIZE;
int screenHeight = ((panel.getHeight() + SIZE)/SIZE) * SIZE;
frame.setSize(screenWidth, screenHeight);
}
}
public void componentHidden(ComponentEvent arg0) {}
public void componentMoved(ComponentEvent arg0) {}
public void componentShown(ComponentEvent arg0) {}
});
}
}