今は9x9グリッドのボタンがあります。それらのボタンの間にいくつかの線を描き、3x3グリッドにしたいと思います。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();
}
}
説明をいただきありがとうございます。 – xZeasy