<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA

    JAVA開發

    2012年7月30日 #

    JAVA SWING自定義行列標題的滾動面板示例

    JScrollPane有以下兩個方法 setColumnHeaderView(Component view) setRowHeaderView(Component view) 你可以利用它們, 一個用來顯示表行頭,一個用來顯示列頭

    同例行標題也有.

    package scrollpanel;

    import java.awt.Dimension;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import java.util.ArrayList;
    import java.util.List;

    import javax.swing.BorderFactory;
    import javax.swing.JDialog;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JViewport;

    public class CustomScrollDlg extends JDialog {

     private static final long serialVersionUID = 1L;
     private final static int WIDTH = 100;
     private final static int HIGHT = 30;

     private JScrollPane jsp = new JScrollPane();
     private JPanel jpnlColumn = new JPanel();
     private JPanel jpnlRow = new JPanel();
     private JPanel jpnlContent = new JPanel();
     private Dimension dim = new Dimension(WIDTH, HIGHT);
     private int total = 20;

     public CustomScrollDlg() {
      setTitle("JAVA SWING自定義行列標題的滾動面板示例");
      setSize(600, 500);
      setLocation(200, 100);
      init();
     }

     private void init() {
      jpnlContent.setLayout(new GridBagLayout());
      jpnlColumn.setLayout(new GridBagLayout());
      jpnlRow.setLayout(new GridBagLayout());

      List<JLabel> colList = getLabelList(total);
      List<JLabel> rowList = getLabelList(total);
      JLabel lbl = null;
      for (int i = 0; i < total; i++) {
       lbl = colList.get(i);
       jpnlColumn.add(lbl, new GridBagConstraints(i, 0, 1, 1, 0, 0,
         GridBagConstraints.EAST, GridBagConstraints.NONE,
         new Insets(0, 0, 0, 0), 0, 0));

       lbl = rowList.get(i);
       jpnlRow.add(lbl, new GridBagConstraints(0, i, 1, 1, 0, 0,
         GridBagConstraints.NORTH, GridBagConstraints.NONE,
         new Insets(0, 0, 0, 0), 0, 0));
      }

      jpnlContent.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
      jpnlContent
        .setPreferredSize(new Dimension(WIDTH * total, HIGHT * total));
      jsp.getViewport().add(jpnlContent);

      JViewport colVP = new JViewport();
      colVP.setView(jpnlColumn);
      jsp.setColumnHeader(colVP);

      JViewport rowVP = new JViewport();
      rowVP.setView(jpnlRow);
      jsp.setRowHeader(rowVP);

      JLabel title = getLabel("Title");
      jsp.setCorner(JScrollPane.UPPER_LEFT_CORNER, title);
      jsp.setCorner(JScrollPane.LOWER_LEFT_CORNER, getLabel("****"));
      jsp.setCorner(JScrollPane.UPPER_RIGHT_CORNER, getLabel("**"));

      getContentPane().add(jsp);

     }

     private JLabel getLabel(String text) {
      JLabel lbl = new JLabel(text);
      lbl.setPreferredSize(dim);
      lbl.setMaximumSize(dim);
      lbl.setMinimumSize(dim);
      lbl.setBorder(BorderFactory.createEtchedBorder());
      return lbl;
     }

     private List<JLabel> getLabelList(int count) {
      List<JLabel> list = new ArrayList<JLabel>();
      for (int i = 0; i < count; i++) {
       list.add(getLabel(" JLabel" + i));
      }

      return list;
     }

     public static void main(String[] args) {
      new CustomScrollDlg().setVisible(true);
     }

    }

    posted @ 2012-07-30 20:50 caoyong 閱讀(462) | 評論 (0)編輯 收藏

    僅列出標題  
    主站蜘蛛池模板: 亚洲AV无码成H人在线观看| 97无码免费人妻超级碰碰夜夜 | 亚洲国产精品无码成人片久久| 国产亚洲精久久久久久无码AV| 久久精品国产亚洲AV麻豆~| 亚洲成AV人片久久| 涩涩色中文综合亚洲| 国产亚洲精品美女久久久久 | 久久久亚洲精品蜜桃臀| 成人在线免费视频| 少妇无码一区二区三区免费| 暖暖免费高清日本中文| 亚洲中文字幕无码爆乳av中文| 亚洲国产综合在线| 曰曰鲁夜夜免费播放视频| 伊在人亚洲香蕉精品区麻豆| 亚洲高清视频在线观看| 亚洲精品无码aⅴ中文字幕蜜桃| 韩国免费a级作爱片无码| 午夜国产精品免费观看| 亚洲香蕉在线观看| 久久精品成人免费观看| 国产亚洲福利一区二区免费看| 久久精品国产亚洲77777| 免费毛片毛片网址| 日本视频免费在线| 午夜在线免费视频 | 永久免费av无码不卡在线观看| 亚洲综合AV在线在线播放| 亚洲一线产区二线产区区| 久久久久国产精品免费网站| 亚洲精品在线免费观看视频| 最近免费mv在线观看动漫| 亚洲国产精品毛片av不卡在线| a级成人毛片免费图片| 久久精品国产亚洲精品| 在免费jizzjizz在线播 | 久久精品国产亚洲AV无码偷窥| 免费无码又黄又爽又刺激| 污视频网站免费观看| 亚洲自偷自拍另类图片二区|