0
이 코드를 가지고 :이 클래스를 수정 한 다음 렌더링 진행률 표시 줄의 크기를 변수로 변경 하시겠습니까?
TableColumn column = jTable2.getColumnModel().getColumn(1);
column.setCellRenderer(new ProgressRenderer());
클래스 ProgressRenderer : 이제
class ProgressRenderer extends DefaultTableCellRenderer {
private final JProgressBar b = new JProgressBar(0, 100);// I NEED RECEIVE DE VALUE, //LIKE THIS new JProgressBar(0, MAX);
private final JPanel p = new JPanel(new BorderLayout());
public ProgressRenderer() {
super();
setOpaque(true);
b.setStringPainted(true);
p.add(b);
//p.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Integer i = (Integer) value;
String text = "Finalizou o Lote";
if (i < 0) {
text = "Pausa";
} else if (i < 100) {
b.setValue(i);
return p;
}
super.getTableCellRendererComponent(table, text, isSelected, hasFocus, row, column);
return this;
}
@Override
public void updateUI() {
super.updateUI();
if (p != null) {
SwingUtilities.updateComponentTreeUI(p);
}
}
}
, ProgressRenderer
통화 기능은() 진척 바의 최대 값 매개 변수를 difine 때 나는, 필요,하지만 난 할 수 안 그랬어? 이처럼
:
TableColumn column = jTable2.getColumnModel().getColumn(1);
column.setCellRenderer(new ProgressRenderer(MAX));
클래스 ProgressRenderer()
class ProgressRenderer extends DefaultTableCellRenderer {
private final JProgressBar b = new JProgressBar(0, MAX);// I NEED RECEIVE DE VALUE, //LIKE THIS new JProgressBar(0, MAX);
private final JPanel p = new JPanel(new BorderLayout());
public ProgressRenderer() {
super();
setOpaque(true);
...
...
---- 편집 ---------- 지금은 감사하지만,이 내 큰 문제는 다음과 같습니다.
TableColumn column = jTable2.getColumnModel() GetColumn (1).;
column.setCellRenderer (new ProgressRenderer (maxValue));//
// t을 추가 할시기를 어떻게 알 수 있습니까? 그는 maxValue를 내가 JTable의
private LinhasOnline getLinha() {
LinhasOnline linha = new LinhasOnline();
linha.setNome("Linha "+j);
linha.setcont(j*(10));
linha.setmax(100);
j++;
return linha;
}
private void addLinha() {
getModel().addLinha(getLinha());//
}
// 내을 getModel
private LinhasOnlineTableModel getModel() {
if (model == null) {
model = (LinhasOnlineTableModel) getTblLinhasOnline().getModel();
}
return model;
}
// 내 getTblLinhasOnline에 삽입 값이 코드를 사용하고있어
를 변경하는 객체()
private JTable getTblLinhasOnline() {
if (jTable2 == null) {
jTable2 = new JTable();
jTable2.setModel(new LinhasOnlineTableModel());
TableColumn column = jTable2.getColumnModel().getColumn(1);
column.setCellRenderer(new ProgressRenderer(max)); // need put the value of object(setmax)
}
return jTable2;
}
고마워요,하지만 지금은 다른 문제가 있습니다, 내 편집 주석을 볼 수 있기 때문에 미안하지만 코드가 필요합니다. 그러나 저에게는 설명하기가 어렵습니다. 더 나은 설명이 필요하면 알려주세요 :) – user3419041
죄송합니다. 시간이 부족하여 나중에 내 게시물을 수정 해보세요. – alex2410
감사합니다. 어쨌든 고맙습니다. – user3419041