4

JPanel の高さをウィンドウの高さの 80% に設定しようとしています。私がそれを行うたびに、小さな長方形を作成するか、ウィンドウ全体を埋めます。現在、これは私のコードです。

Toolkit tk = Toolkit.getDefaultToolkit();  
int xSize = ((int) tk.getScreenSize().getWidth());  
int ySize = ((int) tk.getScreenSize().getHeight());  
window.setSize(xSize,ySize);
JPanel p = new JPanel();
p.setBackground(Color.PINK);
p.setLayout(new BorderLayout());
int gameHeight = (int)(Math.round(ySize * 100.0/window.getHeight()));
int gameWidth = (int)(Math.round(xSize * 100.0/window.getWidth()));
p.setPreferredSize(new Dimension(gameHeight, gameWidth));
p.add(new JLabel(" "));
window.add(p, BorderLayout.SOUTH);
4

1 に答える 1

6

あなたの計算は少しずれています。

値の 80% を取得するには、それを で乗算する必要がある0.80ため、パネルの高さをySize * 0.80、パネルの幅を にする必要がありますxSize * 0.80

int gameHeight = (int) (Math.round(ySize * 0.80));
int gameWidth = (int) (Math.round(xSize * 0.80));
p.setPreferredSize(new Dimension(gameWidth, gameHeight));
于 2013-01-30T20:21:28.893 に答える