這是我想要的結果:http://imgur.com/tGleIly,但使用BorderLayout居中。相反,我得到這個:http://imgur.com/jYgjM1F。所以,基本上設置佈局重置我的背景,並把整個外框上的按鈕:將佈局設置爲JPanel重置按鈕
frame.setContentPane(new Pane());
frame.getContentPane().setBackground(Color.GRAY);
我也試過這樣:
JPanel panel = new JPanel();
panel.add(bStart);
add(panel, BorderLayout.CENTER);
但它不工作。
public class Pane extends JPanel{
public Pane(){
ImageIcon start = new ImageIcon("Start.png");
ImageIcon startroll = new ImageIcon("Start-Hover.png");
ImageIcon startselect = new ImageIcon("Start-Pressed.png");
JButton bStart = new JButton(start);
Insets margin = new Insets(-10,-10,-10,-10);
bStart.setMargin(margin);
bStart.setRolloverEnabled(true);
bStart.setRolloverIcon(startroll);
bStart.setPressedIcon(startselect);
bStart.setBorderPainted(false);
setLayout(new BorderLayout());
add(bStart, BorderLayout.CENTER);
* 「這是我想要的結果:http://imgur.com/tGleIly,但使用的BorderLayout中心」 *使用'GridBagLayout'到中心的組成部分。有關示例,請參閱[此答案](http://stackoverflow.com/a/7181197/418556)。 – 2015-01-31 19:10:16
之前設置佈局,沒有效果。 – zaa 2015-01-31 19:11:34
@zaa,GridBagLayout將工作。如果您遇到問題,請發佈適當的[SSCCE](http://sscce.org/)來說明問題。 – camickr 2015-01-31 20:17:01