package com.demoL1;import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;public class buttonpanel extends JFrame {
/**
 * 
 */
private static final long serialVersionUID = 1L; public buttonpanel(){
this.setTitle("test.........."); // 创建指定标题的JFrame窗口对象
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭按钮的动作为退出窗口
this.setSize(500, 400);  // 设置窗口大小
Dimension displaySize = Toolkit.getDefaultToolkit().getScreenSize(); // 获得显示器大小对象
Dimension frameSize = this.getSize();             // 获得窗口大小对象
if (frameSize.width > displaySize.width)
frameSize.width = displaySize.width;           // 窗口的宽度不能大于显示器的宽度
if (frameSize.height > displaySize.height)
frameSize.height = displaySize.height;          // 窗口的高度不能大于显示器的高度
this.setLocation((displaySize.width - frameSize.width) / 2,
(displaySize.height - frameSize.height) / 2); // 设置窗口居中显示器显示

String[] data=new String[]{"日期","版号","作者"};
String[] items=new String[]{"k","L","ctrl","down"};
GridBagLayout gridbag = new GridBagLayout();
this.setLayout(gridbag);
        GridBagConstraints c= new GridBagConstraints();
        JPanel jp=new JPanel();
        gridbag.setConstraints(jp, c);
        JLabel[] jl=new JLabel[3];
        JComboBox[] jc=new JComboBox[3];
        JButton[] jb1=new JButton[3];
        JButton[] jb2=new JButton[3];
for(int i=0;i<data.length;i++)
{
    c.gridx = i;
        c.gridy = 0;
        //添加"标签"
jl[i]=new JLabel(data[i]);
gridbag.setConstraints(jl[i],c);
jp.add(jl[i]);

//添加"下拉列表"
jc[i]=new JComboBox();
for(int h=0;h<items.length;h++)
{
jc[i].addItem(items[h]);
    }
    gridbag.setConstraints(jc[i],c);
jp.add(jc[i]);

//添加"确定"按钮
jb1[i]=new JButton();
jb1[i].setText("确定");
gridbag.setConstraints(jb1[i], c);
    jp.add(jb1[i]);
    
    //添加"修改"按钮
    jb2[i]=new JButton();
    jb2[i].setText("修改");
    gridbag.setConstraints(jb2[i], c);
    jp.add(jb2[i]);
}
this.add(jp);
  }   public static void main(String[] args){
 buttonpanel tf=new buttonpanel();
     tf.setVisible(true);}
}

解决方案 »

  1.   

    不多说了,简单改下:private static final long serialVersionUID = 1L; public Buttonpanel() {
    this.setTitle("test.........."); // 创建指定标题的JFrame窗口对象
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭按钮的动作为退出窗口
    this.setSize(500, 400); // 设置窗口大小
    Dimension displaySize = Toolkit.getDefaultToolkit().getScreenSize(); // 获得显示器大小对象
    Dimension frameSize = this.getSize(); // 获得窗口大小对象
    if (frameSize.width > displaySize.width)
    frameSize.width = displaySize.width; // 窗口的宽度不能大于显示器的宽度
    if (frameSize.height > displaySize.height)
    frameSize.height = displaySize.height; // 窗口的高度不能大于显示器的高度
    this.setLocation((displaySize.width - frameSize.width) / 2,
    (displaySize.height - frameSize.height) / 2); // 设置窗口居中显示器显示 String[] data = new String[] { "日期", "版号", "作者" };
    String[] items = new String[] { "k", "L", "ctrl", "down" };
    GridBagLayout gridbag = new GridBagLayout();
    // this.setLayout(gridbag);
    GridBagConstraints c = new GridBagConstraints();
    JPanel jp = new JPanel();
    // gridbag.setConstraints(jp, c);
    jp.setLayout(gridbag);
    JLabel[] jl = new JLabel[3];
    JComboBox[] jc = new JComboBox[3];
    JButton[] jb1 = new JButton[3];
    JButton[] jb2 = new JButton[3];
    for (int i = 0; i < data.length; i++) {
    c.gridy = i;
    // 添加"标签"
    c.gridx = 0;
    jl[i] = new JLabel(data[i]);
    gridbag.setConstraints(jl[i], c);
    jp.add(jl[i]); // 添加"下拉列表"
    jc[i] = new JComboBox();
    for (int h = 0; h < items.length; h++) {
    jc[i].addItem(items[h]);
    }
    c.gridx = 1;
    gridbag.setConstraints(jc[i], c);
    jp.add(jc[i]); // 添加"确定"按钮
    jb1[i] = new JButton();
    jb1[i].setText("确定");
    c.gridx = 2;
    gridbag.setConstraints(jb1[i], c);
    jp.add(jb1[i]); // 添加"修改"按钮
    jb2[i] = new JButton();
    jb2[i].setText("修改");
    c.gridx = 3;
    gridbag.setConstraints(jb2[i], c);
    jp.add(jb2[i]);
    }
    this.add(jp);
    } public static void main(String[] args) {
    Buttonpanel tf = new Buttonpanel();
    tf.setVisible(true); }