Swingを使用して最初のJavaGUIを作成しています。10X10のドットでパネルを作成し、これらのドットに線を引こうとしています。
問題は、上記の1つしか作成できないことです。つまり、10X10のドットのマトリックスを作成したり、線を作成したりできます。
これが私のコードです:
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("DrawMatrix");
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new DrawRectPanel());
frame.setSize(240, 260);
frame.setVisible(false);
frame.getContentPane().add(new DrawLine());
frame.setVisible(true);
}
}
public class DrawRectPanel extends JPanel{
final static int DIST = 20;
final static int MAX_ROW = 11;
final static int MAX_COL = 11;
int i = 1;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
{
// Points matrix
int x = 0;
for(int row = 1; row < MAX_ROW; row++)
{
x = row * DIST;
for(int col = 1; col < MAX_COL; col++)
{
int y = col * DIST;
g.setColor(Color.blue);
g.drawLine(x,y,x,y+1);
}
}
}
}
}
public class DrawLine extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(20,20,40,40);
}
}
なぜですか?setVisibleを別の方法で使用する必要がありますか?