我在學習如何在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