JFrameを取得し、50pxのパディングで境界線のあるJLabelを表示したいと思います。JFrameのサイズを750、750に設定し、JLabelのサイズを650、650に設定し、場所を50、50に設定すると、奇妙に表示されます...これが私のコードです。
public class GUI {
/**
* Declarate all
*/
public int height = 750;
public int width = 750;
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int x = (screen.width / 2) - (width / 2); // Center horizontally.
int y = (screen.height / 2) - (height / 2); // Center vertically.
/**
* Create the GUI
*/
JFrame frame = new JFrame();
Border border = LineBorder.createBlackLineBorder();
JLabel label = new JLabel();
public GUI(){
label.setBorder(border);
label.setSize(700, 700);
label.setLocation(0, 0);
frame.getContentPane().setLayout(null);
frame.add(label);
}
public void createGUI() {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(x,y,width,height);
frame.setVisible(true);
}
}
ですから、上部のタイトルバーもサイズに含まれていると思います。グラフィックスでは、を使用できますgetInsets()
。さて、Swing / JFrameにそのようなものはありますか?