0
我正在尝试在网格布局的右侧添加数字。问题在于该数字正在被视为网格的一部分。我希望它分开显示在同一帧的网格右侧。我试图制作一个不同的容器,但它不起作用。由于在网格布局的右侧添加数字
Canvas.java
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class Canvas extends JFrame{
public Canvas(){
super("Canvas to draw");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(700,700);
Container pane = getContentPane();
pane.setLayout(new GridLayout(10,10));
for (int i = 0; i < 100; i++) {
JButton button = new JButton(Integer.toString(i + 1));
pane.add(button);
}
FigurePane f = new FigurePane();
pane.add(f);
}
}
FigurePane.java
import java.awt.*;
import java.util.Random;
import javax.swing.*;
public class FigurePane extends JPanel{
public void paintComponent(Graphics comp){
Graphics2D comp2D =(Graphics2D)comp;
GradientPaint p1=new GradientPaint(2F,2F,Color.red,335F,335F,Color.blue);
comp2D.setPaint(p1);
comp2D.fillRect(2, 2, 335, 350);
}
}
Main.java
public class Main {
public static void main(String[] args) {
Canvas c = new Canvas();
c.setVisible(true);
}
}
我可以建议你使用GridBagLayout。它比GridLayout更可定制。 –