JTable .addMouseListener(new MouseAdapter()) in JSpiltpane

makschim 2010-03-04 06:48:53
我想实现一个效果: 在JSplitpane 的左侧是一个JTable,JTable 中有一列多行的内容 ,然后点击JTable的每个cell , 使得JSplitpane右侧的内容随之变换。我使用了
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e)
// get formname according to clicked row.
}
});
JPanel form = new Jpanel();
/*
constuct form according to formname
*/

JSpiltpane jspane = new JSplitpane(JSplitPane.HORIZONTAL_SPLIT,
table,form);

问题是在于怎样才能使form根据mousclicked来改变呢,因为这个mouselistener只在方法mouseClicked()内起作用,但是初始化这个JSplitpanel只在table.addMouseListener(new MouseAdapter() {...}); 后发生,所以这样貌似formname就传不给新的form,这样JSplitpane的右边就无法变化。

请问Java高手, 这个问题应该怎么解决呢,小弟是新手呀!!
...全文
499 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
大光呢 2012-09-25
  • 打赏
  • 举报
回复
makschim 2010-03-05
  • 打赏
  • 举报
回复
非常感谢,不过刚才在结帖的时候不小心点错了,把分数给了别人,下次一定加倍奉还!
focusforce 2010-03-04
  • 打赏
  • 举报
回复
setHorizontalTextPosition(JLabel.CENTER);
setVerticalTextPosition(JLabel.BOTTOM);
makschim 2010-03-04
  • 打赏
  • 举报
回复
谢谢1楼的回复,按照你的方法我已经试过了,完全正确。
另外我想在TableCellRenderer的cell中放置imageicon和text,如何才能使imageicon和text 垂直排列呢,即上面是一个小的imageicon,下面是text.

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
ImageIcon icon1 = new ImageIcon(getClass().getResource("form1.png"));
setIcon(icon1);
setText("Work time");
fhuibo212 2010-03-04
  • 打赏
  • 举报
回复
大清早帮顶一个~~~~~~~~~~~
focusforce 2010-03-04
  • 打赏
  • 举报
回复
JSpiltpane jspane = new JSplitpane(JSplitPane.HORIZONTAL_SPLIT);
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e)
{
// get formname according to clicked row.
JPanel form = new Jpanel();
/*
constuct form according to formname
*/
jspane.setRightComponent(form);

}
});
jspane.setLeftComponent(table);
gentalguo 2010-03-04
  • 打赏
  • 举报
回复
如果 你所说的,每次左侧更换选中,右侧变化的是内容,那么并不需要每次都new一个新的。如果是需要,那另当别论。还有你说的问题,我真的不是很理解,如何传递,方法很多。更多的细节,我不知道,也不愿随便说。请告知更多的细节。
musiclee 2010-03-04
  • 打赏
  • 举报
回复
1楼的正确 复内容太短了!

62,584

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧