正如標題所說,我可以重新定義Java的BorderLayout.CENTER的高度和寬度嗎?我打算使用的Graphics2D繪製到這個領域,但我並不總是事先知道應該如何大,超出了一切Java Swing調整大小BorderLayout.CENTER
抽獎類(我的主類中聲明):
@SuppressWarnings("serial")
private class Draw extends JComponent {
public void paint(Graphics graphics) {
Graphics2D g = (Graphics2D) graphics;
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Shape drawLine = new Line2D.Float(0, 0, 500, 500);
g.setPaint(Color.BLACK);
g.draw(drawLine);
}
}
主要構造,其中繪製叫做:
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 640, 480);
setJMenuBar(getMenuBar_1());
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));
contentPane.add(getPanelControls(), BorderLayout.SOUTH);
contentPane.add(getPanelInfo(), BorderLayout.EAST);
contentPane.add(new Draw(), BorderLayout.CENTER);
}
我目前直接繪製BorderLayout.CENTER。我應該繪製到JPanel並使用它的setPreferredSize()方法嗎?
是的,你可以。顯示你的代碼。 – Masudul
您可能想要在中心位置上繪製組件。然後,您可以簡單地使用組件的尺寸。 – kiheru