我正在處理的應用程序需要使用JList,其中每個ListItem是一個標籤,後跟一個按鈕。JButton沒有響應點擊事件
我所做的是我創建了一個具有字符串成員的文本字段的類,並將類對象添加到Jlist。
現在的按鈕,我實現了一個自定義列單元格渲染這是因爲:
public renderer()
{
text=new JLabel();
button=new JButton("Track");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("Hey");
}
});
}
public Component getListCellRendererComponent(JList list, Object value, int index,boolean isSelected, boolean cellHasFocus)
{
it=(item)list.getModel().getElementAt(index);
text.setText(it.tex);
return this;
}
public void paintComponent(Graphics g)
{
this.add(text);
this.add(button);
this.setVisible(true);
}
public Dimension getpreferredSize(){
Font font=UIManager.getDefaults().getFont("JLabel.Font");
Graphics g=getGraphics();
FontMetrics fm=g.getFontMetrics(font);
return new Dimension(fm.stringWidth(it.tex)+button.getWidth(),fm.getHeight()>button.getWidth()?fm.getHeight():button.getWidth());
}
}
但按鈕無響應,當我點擊it.What我錯過?
感謝
爲了更快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。另外,使用代碼格式時請注意查看輸出。最後一個'}'不是代碼格式。 – 2012-03-27 09:26:45
請學習java命名約定並堅持使用它們。 – kleopatra 2012-04-06 09:58:18