Я хотел реализовать следующий макет:
--------------------------------------------
| |
| |
| |
| |
| |
| ---------- |
| | OK | |
| ---------- |
| |
--------------------------------------------
Я хотел установить размер кнопки, и она должна быть центрирована в южном положении JFrame, но она не должна иметь полную ширинуJFrame, и он не должен быть полностью в нижней части JFrame, он должен иметь «запас».Также было бы возможно установить абсолютную позицию пикселя кнопки, потому что JFrame имеет фиксированную ширину / высоту.На данный момент кнопка имеет полную ширину / высоту JFrame.Обратите внимание, что у JFrame есть фоновое изображение.Мой код:
JFrame j = new JFrame("Foobar");
BufferedImage myImage = null;
try {
myImage = ImageIO.read(new File("background.png"));
} catch (Exception ex) {}
JPanel p = new ImagePanel(myImage);
p.setLayout(new BorderLayout());
JButton button = new JButton("OK");
button.setSize(80, 200);
button.setFont(new Font("Arial", 1, 40));
p.add(button);
f.add(p);
class ImagePanel extends JPanel {
private Image image;
public ImagePanel(Image image) {
this.image = image;
}
@Override
protected void paintComponent(Graphics g) {
g.drawImage(image, 0, 0, null);
}
}