Java 如何消除瓷砖之间的缝隙?
/* *要更改此许可证标题,请在“项目属性”中选择“许可证标题”。 *要更改此模板文件,请选择工具|模板 *然后在编辑器中打开模板。 */ 包org.me.images 导入java.awt。; 导入javax.swing 公共类JFrameTester{Java 如何消除瓷砖之间的缝隙?,java,netbeans,Java,Netbeans,/* *要更改此许可证标题,请在“项目属性”中选择“许可证标题”。 *要更改此模板文件,请选择工具|模板 *然后在编辑器中打开模板。 */ 包org.me.images 导入java.awt。; 导入javax.swing 公共类JFrameTester{ public JPanel createContentPane() { JPanel panel = new JPanel(); JPanel mainPanel = new JPanel(new GridLayout(8
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);
}
publicJPanel createContentPane(){
JPanel面板=新的JPanel();
JPanel主面板=新的JPanel(新的网格布局(8,8,0,0));
主面板.订单(空);
JButton[]label=新JButton[64];
对于(int i=0;i<64;i++){
label[i]=新JButton();
标签[i].setSize(50,50);
标签[i]。已涂漆(假);
标签[i]。已涂漆(假);
标签[i].setMargin(新的插图(0,0,0,0));
面板。添加(标签[i]);
面板顺序(空);
标签[i].setIcon(新的javax.swing.ImageIcon(getClass().getResource(“/org/me/images/O.png”));
标签[i].setPreferredSize(新尺寸(50,50));
label[i].setToolTipText(“label”+i);
标签[i]。订单号(空);
标签[i]。已涂漆(假);
标签[i].setMargin(新的插图(0,0,0,0));
}
面板。添加(主面板);
panel.set不透明(true);
返回面板;
}
公共静态void main(字符串[]args){
JFrame=新JFrame(“板”);
JFrameTester显示=新建JFrameTester();
//在这里尝试布局空间
frame.setContentPane(Display.createContentPane());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
框架。设置尺寸(500500);
frame.setLocationRelativeTo(空);
frame.setresizeable(false);
JFrame.setDefaultLookAndFeelDecorated(true);
}
}
/**
*
*@作者Alexa
*/您需要将
JButton
添加到主面板
,而不是面板
删除了一些重复的行和不必要的设置
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);
}
for(int i=0;i<64;i++){
label[i]=新JButton();
标签[i]。已涂漆(假);
主面板。添加(标签[i]);
标签[i].setIcon(新图像图标(getClass())
.getResource(“/org/me/images/O.png”);
标签[i].setPreferredSize(新尺寸(50,50));
label[i].setToolTipText(“label”+i);
}
请告诉我们您需要什么,以及您达到了什么程度。我正在尝试用Java构建一个棋盘游戏,并创建bean来促进这一点。这需要时间,但我每天都在学习教程等来提高自己。下面给出的解决方案是否符合您的要求?那为什么不勾选为正确答案呢?