股票行情列表,前面几列固定不动,后面的列可以滚动,怎么实现,请教了
解决方案 »
- swing中有类似iframe的控件么
- 关于构造方法的调用问题
- JDK1.4上面,点击面板上的关闭按钮,让面板关闭怎么写?
- 用birt的牛人进啊,大家帮我看一个分组问题
- 有关移动CMPP3.0开发短信平台,50分求解,在线等!
- 转换字型的问题高手进来.....
- 来了一年多都没送过分实在不好意思:)
- 谁能详细的介绍一下接口的概念和功能,我现在很模糊(最好有例子)谢谢!!!
- 怎么测试web程序的内存泄漏问题(java)?application用jprofiles,那么web application用什么?
- 谁能告诉我在什么地方能找到有关classpath方面的资料????
- 一个简单的语句检查
- 请高手看看,这个程序有什么问题,为什么拷贝后的文件比原文件小阿
{
Object[][] data; Object[] column; JTable fixedTable, table; public FixedColumnExample()
{
super("Fixed Column Example");
setSize(400, 150); data = new Object[][] {
{ "1", "11", "A", "", "", "", "", "" },
{ "2", "22", "", "B", "", "", "", "" },
{ "3", "33", "", "", "C", "", "", "" },
{ "4", "44", "", "", "", "D", "", "" },
{ "5", "55", "", "", "", "", "E", "" },
{ "6", "66", "", "", "", "", "", "F" } };
column = new Object[] { "fixed 1", "fixed 2", "a", "b", "c", "d", "e",
"f" }; AbstractTableModel fixedModel = new AbstractTableModel()
{
public int getColumnCount()
{
return 2;
} public int getRowCount()
{
return data.length;
} public String getColumnName(int col)
{
return (String) column[col];
} public Object getValueAt(int row, int col)
{
return data[row][col];
}
};
AbstractTableModel model = new AbstractTableModel()
{
public int getColumnCount()
{
return column.length - 2;
} public int getRowCount()
{
return data.length;
} public String getColumnName(int col)
{
return (String) column[col + 2];
} public Object getValueAt(int row, int col)
{
return data[row][col + 2];
} public void setValueAt(Object obj, int row, int col)
{
data[row][col + 2] = obj;
} public boolean CellEditable(int row, int col)
{
return true;
}
}; fixedTable = new JTable(fixedModel)
{
public void valueChanged(ListSelectionEvent e)
{
super.valueChanged(e);
checkSelection(true);
}
};
table = new JTable(model)
{
public void valueChanged(ListSelectionEvent e)
{
super.valueChanged(e);
checkSelection(false);
}
};
fixedTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
fixedTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); JScrollPane scroll = new JScrollPane(table);
JViewport viewport = new JViewport();
viewport.setView(fixedTable);
viewport.setPreferredSize(fixedTable.getPreferredSize());
scroll.setRowHeaderView(viewport);
scroll.setCorner(JScrollPane.UPPER_LEFT_CORNER, fixedTable
.getTableHeader()); getContentPane().add(scroll, BorderLayout.CENTER);
} private void checkSelection(boolean isFixedTable)
{
int fixedSelectedIndex = fixedTable.getSelectedRow();
int selectedIndex = table.getSelectedRow();
if (fixedSelectedIndex != selectedIndex)
{
if (isFixedTable)
{
table.setRowSelectionInterval(fixedSelectedIndex,
fixedSelectedIndex);
}
else
{
fixedTable
.setRowSelectionInterval(selectedIndex, selectedIndex);
}
}
} public static void main(String[] args)
{
FixedColumnExample frame = new FixedColumnExample();
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
frame.setVisible(true);
}
}