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更可定製。 –