作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 ClanModel 类。该表基于树形图。
public class ClanModel extends AbstractTableModel{
private Map<Integer, ClanMember> clanMembers;
private final String[] columnNames = {"Name", "Rank"};
ClanModel(Map<Integer, ClanMember> clanMembers){
this.clanMembers = clanMembers;
}
@Override
public int getRowCount() {
return clanMembers.size();
}
@Override
public int getColumnCount() {
return 2;
}
@Override
public String getColumnName(int column){
return columnNames[column];
}
@Override
public Object getValueAt(int row, int column) {
if(column == 0) return clanMembers.get(row).getName();
if(column == 1) return clanMembers.get(row).getRank();
return 1;
}
@Override
public void setValueAt(Object value, int row, int column) {
if(column == 0) clanMembers.get(row).setName((String) value);
if(column == 1) clanMembers.get(row).setRank((Rank) value);
fireTableCellUpdated(row, column);
}
}
这是在 gui 构造函数中
clanTable = new JTable(new ClanModel(clanMembers));
panel.add(clanTable);
按一下有效的按钮即可填充 map 。但是,在单击该按钮之前或之后,该表不会出现。每次调整 gui 窗口大小时我也会收到错误。
我大致知道需要做什么来修复它,但尚未解决。
最佳答案
尝试移动 setVisible()
,使其位于 add()
和 pack()
之后。另请参阅Initial Threads .
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTable table = new JTable(new ClanModel(…));
f.add(new JScrollPane(table));
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
});
}
关于java - 使用 JTable 和 JModel 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18261321/
我正在编写一个 Joomla 2.5.3 模块。我正在尝试从 JModel 获取文章。 JModel::addIncludePath(JPATH_SITE.'/components/com_conte
这是我的 ClanModel 类。该表基于树形图。 public class ClanModel extends AbstractTableModel{ private Map clanMem
我是一名优秀的程序员,十分优秀!