我在学习如何在Java中编写康威的生活游戏,并且我陷入了创建GUI的困境。我想在JFrame中创建一个JPanel,在南部有一个较大的边界,然后在南部边界有两个按钮,一个用于“播放”,一个用于“重新启动”。但设计元素不会让我调整大小或移动任何东西。我可以通过进入代码并在南部创建一个更大的边界来调整JPanel的大小,但我无法弄清楚如何调整JButton的大小。有任何想法吗?jPanel和jButton定制
(我使用Eclipse开普勒......我听说NetBeans是在这种东西好,我应该只是沟Eclipse和NetBeans的与尝试?)
这里是我到目前为止的代码:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.JButton;
public class GameOfLife extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GameOfLife frame = new GameOfLife();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public GameOfLife() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 518, 508);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(10, 10, 50, 10));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel();
panel.setBackground(Color.GRAY);
contentPane.add(panel, BorderLayout.CENTER);
JButton btnNewButton = new JButton("New button");
contentPane.add(btnNewButton, BorderLayout.SOUTH);
}
}
基本上,而不是做BorderLayout.SOUTH
,我想手动将它放在框架内我想要的位置。我也希望能够通过JPanel来做到这一点 - 整个北/西/南/东/中心的东西似乎非常狭窄。围绕它的方式是什么?
您将布局设置为BorderLayout,以便在此处限制自己。因为我不再在挥杆工作,所以无法帮助你。但如果你可以使用java 1.8,那么我会建议使用javafx。 –
按钮有一个边距属性,它会影响其内部大小,可以与它对齐 – MadProgrammer
然后将按钮放到JPanel上,然后将面板添加到南面位置 – MadProgrammer