我无法相信这行不通。
我有一个JList。我将其渲染器设置如下。基本上RankingPanel
是一个带有两个标签和一个按钮的JPanel。
topAchieverList = new JList();
topAchieverList.setCellRenderer(new TopBottomCellRenderer());
这是我的TopBottomCellRenderer。
class TopBottomCellRenderer extends RankingPanel implements ListCellRenderer {
public TopBottomCellRenderer() {
}
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
try {
Achievers achiever = (Achievers) value;
if (achiever == null) {
return this;
}
itemRank.setText("#" + achiever.rank);
itemUnits.setText("" + achiever.units);
//this is the button that does not click
itemNameButton.setText(achiever.name);
//set bg
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
return this;
} catch (Exception e) {
e.printStackTrace();
}
return this;
}
}
该列表可正确呈现,但JButton
不可单击。单击它没有任何作用。
我该如何工作?
渲染器只是在组件上绘制的“橡皮图章”。它们不是实时的交互式组件。
请参阅以下答案:JList中的JButton以获得一种可能的解决方案。实际上,您可以在MouseListener
中添加一个JList
,确定在该点击点上正在渲染哪个特定按钮,然后以编程方式单击该按钮。
或者,您可以制作一个JPanel
按钮,然后将面板放在中JScrollPane
。
或者,您可以创建一个单列JTable
,在其中可以实现自定义TableCellEditor,如下所示:表按钮列
我正准备制作一个新的应用程序,我偶然发现了一个非常酷的侧边栏(按钮面板),我将尝试添加到应用程序中(它是Spotify上的左侧栏)。我很好奇的是这个原则(看看附上的图片)。 在顶部的3个按钮中(我假设是JList或JTable项)。 在中间我们有一个“您的音乐”标题(也许是JLabel??) 我们还有一个新的播放列表(JButton) ,然后是播放列表列表(JList还是jtable?) 我想知道
问题内容: 我在Angular中有一个表单,其中有两个按钮标签。一键提交表单。另一个按钮仅用于使用进行导航。但是,当单击第二个按钮时,AngularJS导致页面刷新,从而触发404。我在函数中删除了一个断点,并触发了我的函数。如果我执行以下任何操作,它将停止: 如果删除,该按钮不会导致页面刷新。 如果我注释掉函数中的代码,则不会刷新页面。 如果我使用将按钮标签更改为锚标签(),则不会刷新。 后者似
我有一个向txt文件添加条目的add按钮,还有一个由txt文件填充的jlist。当添加条目时,jlist会立即刷新。add按钮利用showinputdialog让用户添加一个条目,这里出现了问题: 1)我知道当按下取消按钮时,joptionpane返回NULL。我如何使它在按下取消时不会在txt文件和jlist中添加“NULL”?
问题内容: 我正在使用Scrapy爬行网页。单击某些按钮时,仅会弹出一些我需要的信息(当然,单击后也会显示在HTML代码中)。 我发现Scrapy可以处理的形式(如登录)如图所示这里。但是问题在于没有表格可以填写,所以这不是我所需要的。 如何简单地单击一个按钮,然后显示我需要的信息? 我是否必须使用诸如机械化或lxml之类的外部库? 问题答案: Scrapy无法解释javascript。 如果你绝
我正在尝试在Selenium中测试图像按钮点击。 图像是事件,当我点击sgt消息出现我 超文本标记语言代码:
问题内容: 在我当前的swing项目中,我有一个JList显示所有活动套接字的窗口,每个单元都有一个JButton关闭该套接字的窗口。但是JButton单元格中的不可点击:不会触发监听器。 我将代码修改为最少,如下所示。 该列表看起来不错,但其中的按钮不可单击。我是错了还是JList不支持JButton被解雇? 问题答案: 尽管您无法获得与普通按钮单击相同的视觉效果,但以下示例似乎可行。也许某个绘