Мне было интересно, почему мой jTable не сортирует процентные значения и как я могу это исправить? Я надеялся, что смогу преобразовать всю строку в строку, но это все еще не работает. Что я делаю неправильно? БлагодаряЗначения процентной доли Java jTable не работают
package tables;
import java.awt.BorderLayout;
import java.text.DecimalFormat;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class mainwindow extends JPanel
{
private static final long serialVersionUID = 1L;
private static Object data[][];
public static void main(String[] args)
{
DecimalFormat round = new DecimalFormat("#.#");
JFrame testFrame = new JFrame();
testFrame.setTitle("table");
testFrame.setLayout(new BorderLayout());
data = new Object[30][3];
String test = null;
for (int i = 0; i < 30; i ++)
{
test = (String) (round.format(100 * new Double((double) i/9)))+ "%"; // dummy values
data[i][0] = test;
data[i][1] = "a";
data[i][2] = "a";
}
Object[] columns =
{"Track #", "Title", "Length"};
DefaultTableModel model = new DefaultTableModel(data,columns)
{
private static final long serialVersionUID = 1L;
};
JTable table = new JTable(model);
JScrollPane scroll = new JScrollPane(table);
table.setAutoCreateRowSorter(true);
testFrame.add(scroll,BorderLayout.CENTER);
testFrame.pack();
testFrame.setVisible(true);
}
}
должно быть работы, начните с/при удалении отливки в строку - (String) (round.format – mKorbel
Что вы имеете в виду, что я должен изменить тест = (String) (round.format (100 * новый Двойной ((двойной) i/9))) + "%"; // фиктивные значения to? – user3176479