列出您最喜欢的堆分析工具(例如jprofiler,jmap,...).让我们为每个答案保留一个工具,并列出每个工具的优缺点.
我正在尝试为特定目的创建一些特殊组件,在该组件上我需要绘制一个HTML字符串,这是一个示例代码:
public class MyComponent extends JComponent{
public MyComponent(){
super();
}
protected void paintComponent(Graphics g){
//some drawing operations...
g.drawString("<html><u>text to render</u></html>",10,10);
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,drawString方法似乎没有识别HTML格式,它愚蠢地绘制字符串就像它一样.
有没有办法让这项工作?
我有一个JTable使用AbstractTableModel在那里我有一个JCheckBox在选择行的第一列.现在,我需要从表中选择要检查的选定行.现在,我顺序遍历从第一行到最后一行并获取所有选择的行,如下所示,
List<Integer> selectedRows = new ArrayList<Integer>();
for(int i = 0; i < table.getRowCount(); i++) {
if((Boolean) table.getValuAt(i, 0)) {
selectedRows.add(i);
}
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,当需要获取所选行时,我需要遍历所有行.现在我有10到20行.但是将来我会得到5000行左右.我的问题是,如果有5000行,如果用户只选择5000nd(最后一条记录)行,那么我需要遍历所有5000行以获得所选行.我认为这不是一个好方法.
我想要实现的一种方法是,向JCheckBox列添加一个监听器,这样当有任何更改时,(SELECTED/DESELECTED)我需要更新监听器类中所选行的数组.在这个监听器类中,当用户选择JCheckBox我需要调用时table.getSelectedRow(..),如果JCheckBox选择了那个我需要存储.
还有更好的方法吗?