我现在有一个9x9的按钮网格,我想在这些按钮之间画一些线来分隔它们并形成一个3x3的网格。
我已经在另一个窗口的JPanel中尝试了我的方法,它可以正常工作,但是我无法将其与我的按钮一起在JFrame中工作,因为它不会画出任何东西。每个按钮之间都已经有一些间距,因此如果有线条,我们可以看到它。
非常感谢您的帮助。
以下是代码:
我已经在另一个窗口的JPanel中尝试了我的方法,它可以正常工作,但是我无法将其与我的按钮一起在JFrame中工作,因为它不会画出任何东西。每个按钮之间都已经有一些间距,因此如果有线条,我们可以看到它。
非常感谢您的帮助。
以下是代码:
import javax.swing.*;
import java.awt.*;
public class ButtonGrid extends JPanel{
JFrame frame=new JFrame();
int t = 9;
public ButtonGrid(){ //constructor
frame.setLayout(new GridLayout(t, t, 3, 3));
addButtons(frame, t);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
@Override public void paint(Graphics g) {
g.setColor(getBackground());
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.BLACK);
for (int i = 0; i <= 9; i++) {
if (i % 3 == 0) {
int coord = i * 58;
coord++;
g.drawLine(coord, 0, coord, 58*9);
g.drawLine(0, coord, 58*9, coord);
}
}
}
private void addButtons(JFrame frame, int t){
JButton grid;
for(int y=0; y<t; y++){
for(int x=0; x<t; x++){
grid=new JButton(x+","+y); //creates new button
grid.setPreferredSize(new Dimension(55,55));
frame.add(grid); //adds button to grid
}
}
}
public static void main(String[] args) {
new ButtonGrid();
}
}