代码如下:
package com.taifook.datasync.form;import ...public class InMessageFrame extends JDialog implements ActionListener { // FtpClient client;
// 第一层
JPanel m_jpnlTop; // 顶端的JPanel
JPanel m_jpnlCenter; // 中间的JPanel
JPanel m_jpnlBotton; // 底端的JPanel // 顶端的布局变量
Dimension dmnTopLabel;
Dimension dmnTopTxfd;
Dimension dmnTopBtn; JLabel m_jlbTopAppID;
JLabel m_jlbTopBeginDate;
JLabel m_jlbTopEndDate;
JLabel m_jlbTopStatus; JTextField m_jtxfdTopAppID;
JTextField m_jtxfdTopBeginDate;
JTextField m_jtxfdTopEndDate;
JComboBox m_jtxfdTopStatus ;

JButton m_jbtnTopFind;
JButton m_jbtnTopCancel; // 底段的布局变量
JTextArea m_jtxarBotton;
JScrollPane m_jscpBotton; public InMessageFrame() throws HeadlessException {
super();
initInstance();
try {
initInstance();
} catch (Exception ex) {
ex.printStackTrace();
}
} public void initInstance() {
// 将顶层的Layout设为BorderLayout
Container container = this.getContentPane();
container.setLayout(new BorderLayout());
this.setSize(new Dimension(700, 500));
this.setTitle("InMessageLog"); // 设置顶层的上中下布局
m_jpnlTop = new JPanel();
m_jpnlCenter = new JPanel();
m_jpnlBotton = new JPanel();
container.add(m_jpnlTop, BorderLayout.NORTH);
container.add(m_jpnlCenter, BorderLayout.CENTER);
container.add(m_jpnlBotton, BorderLayout.SOUTH); // 设置顶层m_jpnlTop的布局
m_jpnlTop.setLayout(new FlowLayout());
dmnTopLabel = new Dimension(50, 20);
dmnTopTxfd = new Dimension(50, 20);
dmnTopBtn = new Dimension(70, 20); m_jlbTopAppID = new JLabel("AppID:");
m_jlbTopBeginDate = new JLabel("Create_Time From:");
m_jlbTopEndDate = new JLabel("To:");
m_jlbTopStatus = new JLabel("Status:");

m_jtxfdTopAppID = new JTextField();
m_jtxfdTopBeginDate = new JTextField();
m_jtxfdTopEndDate = new JTextField();
m_jtxfdTopStatus =  new JComboBox();
m_jtxfdTopStatus.removeAllItems();

m_jtxfdTopStatus.addItem("ALL");
m_jtxfdTopStatus.addItem("P");
m_jtxfdTopStatus.addItem("C");
m_jtxfdTopStatus.addItem("FV");
m_jtxfdTopStatus.addItem("FM");
m_jtxfdTopStatus.addItem("FC");
m_jtxfdTopStatus.addItem("R"); m_jbtnTopFind = new JButton("Find");
m_jbtnTopCancel = new JButton("Close");
m_jbtnTopFind.addActionListener(this);
m_jbtnTopCancel.addActionListener(this);
// 设置组件大小
m_jlbTopAppID.setPreferredSize(new Dimension(40, 20));
m_jlbTopBeginDate.setPreferredSize(new Dimension(120, 20));
m_jlbTopEndDate.setPreferredSize(new Dimension(20, 20));
m_jlbTopStatus.setPreferredSize(dmnTopLabel);
m_jtxfdTopAppID.setPreferredSize(dmnTopTxfd); m_jtxfdTopBeginDate.setPreferredSize(new Dimension(80, 20));
m_jtxfdTopEndDate.setPreferredSize(new Dimension(80, 20));
m_jtxfdTopStatus.setPreferredSize(dmnTopTxfd);
m_jbtnTopFind.setPreferredSize(dmnTopBtn);
m_jbtnTopCancel.setPreferredSize(dmnTopBtn);
// 使JLabel的文字右对齐
m_jlbTopAppID.setHorizontalAlignment(SwingConstants.RIGHT); m_jlbTopBeginDate.setHorizontalAlignment(SwingConstants.RIGHT);
m_jlbTopStatus.setHorizontalAlignment(SwingConstants.RIGHT);
// 将初始化的对象加到JPanel里去
m_jpnlTop.add(m_jlbTopAppID);
m_jpnlTop.add(m_jtxfdTopAppID);
m_jpnlTop.add(m_jlbTopBeginDate);
m_jpnlTop.add(m_jtxfdTopBeginDate);
m_jpnlTop.add(m_jlbTopEndDate);
m_jpnlTop.add(m_jtxfdTopEndDate);
m_jpnlTop.add(m_jlbTopStatus);
m_jpnlTop.add(m_jtxfdTopStatus);
m_jpnlTop.add(m_jbtnTopFind);
m_jpnlTop.add(m_jbtnTopCancel);
List list = null; try {
list = ((InmessagelogService) ServiceFactory
.getInstance()
.getService(
"com.taifook.datasync.service.impl.InmessagelogServiceImpl"))
.findAll();
} catch (Exception e) {
e.printStackTrace();
} Object[] column = new String[] { "seqno", "appid", "interfaceName",
"appPk", "message", "msgcount", "status", "retryCount",
"createTime" };
Object[][] data = new Object[list.size()][9];
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) { switch (j) {
case 0:
data[i][j] = ((Inmessagelog) list.get(i)).getSeqno();
break;
case 1:
data[i][j] = ((Inmessagelog) list.get(i)).getAppid();
break;
case 2:
data[i][j] = ((Inmessagelog) list.get(i))
.getInterfaceName();
break;
case 3:
data[i][j] = ((Inmessagelog) list.get(i)).getAppPk();
break;
case 4:
data[i][j] = ((Inmessagelog) list.get(i)).getMessage();
break;
case 5:
data[i][j] = ((Inmessagelog) list.get(i)).getMsgcount();
break;
case 6:
data[i][j] = ((Inmessagelog) list.get(i)).getStatus();
break;
case 7:
data[i][j] = ((Inmessagelog) list.get(i)).getRetryCount();
break;
default:
data[i][j] = ((Inmessagelog) list.get(i)).getCreateTime();
} } }
JTable t = new JTable(data, column);
t.setPreferredScrollableViewportSize(new Dimension(700, 420));        //t.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // 设置底端底布局
m_jpnlBotton.setLayout(new BorderLayout());
//m_jtxarBotton = new JTextArea(); m_jscpBotton = new JScrollPane();
m_jscpBotton.setAutoscrolls(true);
m_jscpBotton.setWheelScrollingEnabled(true);
m_jscpBotton.setViewportView(t);
//m_jscpBotton.setPreferredSize(new Dimension(700, 420));
m_jpnlBotton.add(m_jscpBotton, BorderLayout.CENTER); } public void actionPerformed(ActionEvent e) {
if (e.getSource() == m_jbtnTopCancel) {
doExit();
} else if (e.getSource() == m_jbtnTopFind) {
doFind();
} } private void doFind() {
        
String Status = "'C'";
List list = null;
        
try {
list = ((InmessagelogService) ServiceFactory
.getInstance()
.getService(
"com.taifook.datasync.service.impl.InmessagelogServiceImpl"))
.findByStatus(Status);
} catch (Exception e) {
e.printStackTrace();
} Object[] column = new String[] { "seqno", "appid", "interfaceName",
"appPk", "message", "msgcount", "status", "retryCount",
"createTime" };
Object[][] data = new Object[list.size()][9];
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) { switch (j) {
case 0:
data[i][j] = ((Inmessagelog) list.get(i)).getSeqno();
break;
case 1:
data[i][j] = ((Inmessagelog) list.get(i)).getAppid();
break;
case 2:
data[i][j] = ((Inmessagelog) list.get(i))
.getInterfaceName();
break;
case 3:
data[i][j] = ((Inmessagelog) list.get(i)).getAppPk();
break;
case 4:
data[i][j] = ((Inmessagelog) list.get(i)).getMessage();
break;
case 5:
data[i][j] = ((Inmessagelog) list.get(i)).getMsgcount();
break;
case 6:
data[i][j] = ((Inmessagelog) list.get(i)).getStatus();
break;
case 7:
data[i][j] = ((Inmessagelog) list.get(i)).getRetryCount();
break;
default:
data[i][j] = ((Inmessagelog) list.get(i)).getCreateTime();
} } }
JTable t = null;
t = new JTable(data, column);

t.setPreferredScrollableViewportSize(new Dimension(500, 420));
t.updateUI();
        //t.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // 设置底端底布局
m_jpnlBotton.setLayout(new BorderLayout());
JScrollPane scrollpane = new JScrollPane(t);
scrollpane.setViewportView(t);
m_jpnlBotton.add(scrollpane, BorderLayout.CENTER); } private void doExit() {
dispose();
}}