gridbagcellpanel.java

来自「< ProJavaProgrammingSecondEdition>」· Java 代码 · 共 35 行

JAVA
35
字号
import java.awt.*;
import javax.swing.*;

public class GridBagCellPanel extends JPanel {

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    LayoutManager manager = getLayout();
    if ((manager != null) && (manager instanceof GridBagLayout)) {
      GridBagLayout layout = (GridBagLayout)manager;
      g.setColor(getForeground());
      Point p = layout.getLayoutOrigin();
      int[][] sizes = layout.getLayoutDimensions();
      int[] colWidths = sizes[0];
      int[] rowHeights = sizes[1];
      int width, height;
      int xpos = p.x;
      int ypos;
      for (int x = 0; x < colWidths.length; x++) {
        ypos = p.y;
        width = colWidths[x];
        for (int y = 0; y < rowHeights.length; y++) {
          height = rowHeights[y];
          g.drawRect(xpos, ypos, width - 1, height - 1);
          g.drawRect(xpos + 1, ypos + 1, width - 3,
              height - 3);
          ypos += height;
        }
        xpos += width;
      }
    }
  }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?