import java.awt.Component;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
public class MatriceJTable
extends javax.
swing.
JFrame {
private boolean done = false;
/** Creates new form JTable */
public MatriceJTable() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
prova[0] = "Valuta l'attributo X con l'attributo Y";
prova[1] = "Valuta l'attributo X con l'attributo Z";
prova[2] = "Valuta l'attributo X con l'attributo W";
prova[3] = "Valuta l'attributo X con l'attributo K";
prova[4] = "Valuta l'attributo X con l'attributo J";
output
= new String[prova.
length]; output_valori = new int[prova.length];
int headerWidth = 0;
int cellWidth = 600;
mioOggetto
= new Object[prova.
length][2
]; for (int i = 0; i < prova.length; i++) {
mioOggetto[i][0] = prova[i];
mioOggetto
[i
][1
] = new String(); }
dm.setDataVector(mioOggetto,
new Object[] { "Valutazione Attributo X",
"Valore" });
jTable1
= new javax.
swing.
JTable(dm
); jButton1
= new javax.
swing.
JButton();
// Prendo le dimensioni del desktop
// Calcolo la posizione orizzontale della finestra
int posX = (int) (dim_schermo.width - getWidth())/4;
// Calcolo la posizione verticale della finestra
int posY = (int) (dim_schermo.height - getHeight())/4;
// Posiziono la finestra
setLocation(posX, posY);
setTitle("Valutazione Confronto Attributo X");
jTable1.
setFont(new java.
awt.
Font("Arial", 0, 12
));
//Fiddle with the Sport column's cell editors/renderers.
setUpSportColumn(jTable1, jTable1.getColumnModel().getColumn(1));
jTable1.setDefaultRenderer(jTable1.getColumnClass(0), renderer);
jTable1.updateUI();
jTable1.getTableHeader().setResizingAllowed(false);
jTable1.getTableHeader().setReorderingAllowed(false);
jTable1.
setAlignmentX(Component.
CENTER_ALIGNMENT); jTable1.
setAlignmentY(Component.
CENTER_ALIGNMENT); jTable1.setCellSelectionEnabled(true);
jTable1.
setCursor(new java.
awt.
Cursor(java.
awt.
Cursor.
DEFAULT_CURSOR)); jTable1.setRowHeight(33);
jScrollPane1.setViewportView(jTable1);
jTable1.getTableHeader().getDefaultRenderer();
for (int i = 0; i < 1; i++) {
column = jTable1.getColumnModel().getColumn(i);
comp = headerRenderer.getTableCellRendererComponent(
null, column.getHeaderValue(),
false, false, 0, 0);
headerWidth = comp.getPreferredSize().width;
column.
setPreferredWidth(Math.
max(headerWidth, cellWidth
)); }
jButton1.
setFont(new java.
awt.
Font("Arial", 0, 18
)); jButton1.setText("OK");
public void actionPerformed
(java.
awt.
event.
ActionEvent evt
) { jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(166, 166, 166)
.addComponent(jButton1)
.
addContainerGap(175,
Short.
MAX_VALUE)) .
addComponent(jScrollPane1, javax.
swing.
GroupLayout.
DEFAULT_SIZE, 400,
Short.
MAX_VALUE) );
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 293, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1)
.
addContainerGap(javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)) );
pack();
}// </editor-fold>
public void setUpSportColumn
(JTable table,
//Set up the editor for the sport cells.
comboBox.addItem("1");
comboBox.addItem("2");
comboBox.addItem("3");
comboBox.addItem("4");
comboBox.addItem("5");
comboBox.
setFont(new java.
awt.
Font("Arial", 0, 18
)); comboBox.
setAlignmentX(Component.
CENTER_ALIGNMENT); comboBox.
setAlignmentY(Component.
CENTER_ALIGNMENT); comboBox.
setCursor(new java.
awt.
Cursor(java.
awt.
Cursor.
WAIT_CURSOR));
//Set up tool tips for the sport cells.
renderer.setToolTipText("Clicca per Selezionare il Valore");
sportColumn.setCellRenderer(renderer);
}
private void jButton1ActionPerformed
(java.
awt.
event.
ActionEvent evt
) { // TODO add your handling code here:
for (int i=0; i<prova.length; i++){
output
[i
] = (String) comboBox.
getSelectedItem(); output_valori
[i
] = Integer.
parseInt(output
[i
]); System.
out.
println(output_valori
); }
setDone(true);
}
public static void main
(String args
[]) { public void run() {
new MatriceJTable().setVisible(true);
}
});
}
// Variables declaration - do not modify
private int[] output_valori;
private javax.
swing.
JButton jButton1
; private javax.
swing.
JTable jTable1
; // End of variables declaration
/* public double visualizza() {
int rating;
this.setVisible(true);
while (!isDone()){}
rating = jSlider1.getValue();
this.dispose();
return rating;
}*/
public boolean isDone() {
return done;
}
public void setDone(boolean done) {
this.done = done;
}
}