[英]How do I get rid of the gaps between the tiles?
/* * 要更改此许可证标题,请在项目属性中选择许可证标题。 * 要更改此模板文件,请选择工具 | 模板 * 并在编辑器中打开模板。 */ 包 org.me.images;
导入 java.awt。 ; 导入 javax.swing。 ;
公共类 JFrameTester {
public JPanel createContentPane() {
JPanel panel = new JPanel();
JPanel mainPanel = new JPanel(new GridLayout(8, 8, 0, 0));
mainPanel.setBorder(null);
JButton[] label = new JButton[64];
for (int i = 0; i < 64; i++) {
label[i] = new JButton();
label[i].setSize(50, 50);
label[i].setBorderPainted(false);
label[i].setBorderPainted(false);
label[i].setMargin(new Insets(0, 0, 0, 0));
panel.add(label[i]);
panel.setBorder(null);
label[i].setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/me/images/O.png")));
label[i].setPreferredSize(new Dimension(50, 50));
label[i].setToolTipText("label" + i);
label[i].setBorder(null);
label[i].setBorderPainted(false);
label[i].setMargin(new Insets(0, 0, 0, 0));
}
panel.add(mainPanel);
panel.setOpaque(true);
return panel;
}
public static void main(String[] args) {
JFrame frame = new JFrame("Board");
JFrameTester Display = new JFrameTester();
//try here for layout space
frame.setContentPane(Display.createContentPane());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
JFrame.setDefaultLookAndFeelDecorated(true);
}
} /** * * @author Alexa */
您需要将JButton
添加到mainPanel
而不是panel
。
删除了一些重复的行和不必要的设置
for (int i = 0; i < 64; i++) {
label[i] = new JButton();
label[i].setBorderPainted(false);
mainPanel.add(label[i]);
label[i].setIcon(new ImageIcon(getClass()
.getResource("/org/me/images/O.png")));
label[i].setPreferredSize(new Dimension(50, 50));
label[i].setToolTipText("label" + i);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.