- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有谁知道为什么
System.out.println(e.getFirstIndex());System.out.println(e.getLastIndex()); 两者什么都不做?我的监听器没有正确注册吗?我想知道何时选择某个单元格并对其执行某些操作。就像通过鼠标或按键选择该单元格时设置默认文本一样。
package VLGui;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.Timer;
import javax.swing.table.*;
import VLCore.cellSelectedListener;
public class mainFrame extends JFrame{
private JLabel lblTime;
private Vector columnName = new Vector();
private Vector tblData = new Vector();
private JTable JTbl;
private Timer timer = new Timer(1000,new MyListener());
private JPanel topPnl,cenPnl,btmPnl;
private Calendar time;
private Object[] columnNames = {"Veh No.","Description","Time In","Time Out"};
public mainFrame()
{
timer.start();
//jtable settings
JTbl = new JTable(new DefaultTableModel(columnNames,1));
JTbl.setPreferredScrollableViewportSize(JTbl.getPreferredSize());
JTbl.setFillsViewportHeight(true);
JTbl.setCellSelectionEnabled(false);
JTbl.setColumnSelectionInterval(0,0);
JTbl.setRowSelectionInterval(0,0);
JTbl.getSelectionModel().addListSelectionListener(new cellSelectedListener(JTbl));
//Settings
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("Vehicle Log");
setSize(500,1000);
setVisible(true);
//Dec
JScrollPane tableContainer = new JScrollPane(JTbl);
topPnl = new JPanel();
cenPnl = new JPanel();
btmPnl = new JPanel();
lblTime = new JLabel();
//Adding Components
topPnl.add(lblTime,BorderLayout.CENTER);
cenPnl.add(tableContainer);
getContentPane().add(topPnl,BorderLayout.NORTH);
getContentPane().add(cenPnl,BorderLayout.CENTER);
//add(btmPnl);
}
public class MyListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
time = Calendar.getInstance();
lblTime.setText(time.getTime().toString());
lblTime.repaint();
}
}
}
package VLCore;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class cellSelectedListener implements ListSelectionListener {
private JTable jTbl;
public cellSelectedListener()
{
}
public cellSelectedListener(JTable tbl)
{
jTbl = tbl;
}
@Override
public void valueChanged(ListSelectionEvent e) {
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
System.out.println(e.getFirstIndex());
System.out.println(e.getLastIndex());
}
}
最佳答案
问题是,该行已被选中。
表格选择模型与行的选择变化相关。
如果您按如下方式更改注册监听器的顺序...
JTbl.getSelectionModel().addListSelectionListener(new cellSelectedListener(JTbl));
JTbl.setColumnSelectionInterval(0, 0);
JTbl.setRowSelectionInterval(0, 0);
您将看到行选择发生变化。
更新代码审查...
一般来说,这个JTbl.setPreferredScrollableViewportSize(JTbl.getPreferredSize());
不是一个好主意。您确实希望将其留给滚动 Pane 来做出此类决定。如果您确实想影响表格的宽度,则可以更改列大小。
Java 命名约定建议所有实例变量都以小写字符开头,因此 JTbl
将变为 jTbl
并且所有类都以大写字符开头,因此 mainFrame
将成为 MainFrame
...小事,但这是人们真正习惯的。
关于java - ListSelection 监听器未触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16249348/
有谁知道为什么 System.out.println(e.getFirstIndex());System.out.println(e.getLastIndex()); 两者什么都不做?我的监听器没有正
我目前正在使用 Vaadin(版本 7.x)的 ListSelect 组件,并希望突出显示我使用 setValue() 方法设置为默认选择的选项 - 类似于 onClick() 发生的情况当背景颜色变
如何随机排列 ListSelect 的项目? 因此,我有一个显示项目的 ListSelect,单击按钮后,我希望项目按顺序随机播放。 仅供引用:我正在使用 Vaadin 7 和 Eclipse Mar
我想要一个列表选择将有不止一种样式,我把两种对象的一种是一组用户(粗体),其余的是用户(斜体或常规)是否可以添加样式将添加到添加对象的一部分?我的代码如下所示: for(Usr usr: us
我尝试将项目单击监听器添加到 ListSelect 组件,我想在选择单击项目时取消选择单击项目。以标准方式,我看不出有任何可能做到这一点;/也许有人知道方法? 感谢您的帮助。 最佳答案 使用默认的 L
是否可以为 ListSelect 组件使用自定义转换器?这是我尝试过的: ListSelect ls = new ListSelect(); ls.setConverter((Converter) n
我正在尝试将应用程序从 Vaadin 7/8 更新到 Vaadin 22。 ListSelect 不见了,所以我需要一个新的小部件字段来满足这些要求: 允许选择多个项目 适合在 FormLayout
单击一个按钮后,我需要更新 ListSelect 的列表,但我不知道如何操作 这是我的代码: 创建列表方法 private void createListPanel() { Verti
我正在寻找 2 个相互交互的 JList 的 Java Swing 版本。 “可用”列表和“选定”列表。您可以将元素从一个列表移动到另一个列表。我还希望能够上下移动“选定”列表中的项目... 最佳答案
我有一个 vaadin ListSelect如果 key DEL 我想删除项目的组件用来。 我只找到了 ShortcutListener但如果我添加以下监听器,DEL key 在我的应用程序的其余部分
我在 jsp 文件中有一个 struts 选择部分,它变成了标准的 HTML 选择: 变成 0001 0002 0003 0004 0005 0006
我是一名优秀的程序员,十分优秀!