Hi All,
My JFrame has 3 big tables and few label and text fields. It shrinks some rows in table while displaying and if I use maximun resulution then it displays properly.
Is it because of the layout I am using or because og the big size of the table?
Is there way to shrink the table size?
I am using BorderLayout. I am adding Table1 and Table2 to CENTER and Table3 to SOUTH. I have some labels and text field which I have added to NORTH.
Folowing is code ( sorry for such a huge file )
import javax.swing.border.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.*;
public class Graph_Page_I extends javax.swing.JFrame {
// Variables declaration - do not modify
private JPanel jPanel1,jPanel1a,jPanel1b,jPanel1c,jPanel1d,jPanel2,jPanel2a,jPanel2b,jPanel2aa,jPanel2ab,jPanel2ba,jPanel2bb,jPanel3,jPanel3a,jPanel3b,jPanel12;
private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5,jLabel6,jLabel7,jLabel8,jLabel9,jLabel10;
private JTextField jTextField1,jTextField2,jTextField3,jTextField4;
private JTable jTable1,jTable2,jTable3;
// End of variables declaration
/** Creates new form Graph_Page_I */
public Graph_Page_I() {
initComponents();
}
private void initComponents() {
jPanel1 = new JPanel();
jPanel1a = new JPanel();
jLabel1 = new JLabel();
jLabel2 = new JLabel();
jTextField1 = new JTextField(7);
jPanel1b = new JPanel();
jLabel3 = new JLabel();
jTextField2 = new JTextField(7);
jPanel1c = new JPanel();
jLabel4 = new JLabel();
jTextField3 = new JTextField(7);
jLabel5 = new JLabel();
jPanel1d = new JPanel();
jLabel6 = new JLabel();
jTextField4 = new JTextField(7);
jLabel7 = new JLabel();
jPanel3 = new JPanel();
jPanel3a = new JPanel();
jLabel10 = new JLabel();
jPanel3b = new JPanel();
jTable1 = new JTable();
jTable2 = new JTable();
jTable3 = new JTable();
jPanel12 = new JPanel();
jPanel2 = new JPanel();
jPanel2a = new JPanel();
jPanel2aa = new JPanel();
jLabel8 = new JLabel();
jPanel2ab = new JPanel();
jPanel2b = new JPanel();
jPanel2ba = new JPanel();
jLabel9 = new JLabel();
jPanel2bb = new JPanel();
setTitle("GraphPage I");
setBackground(java.awt.Color.white);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jPanel1a.setLayout(new java.awt.FlowLayout(FlowLayout.LEFT));
jPanel1b.setLayout(new java.awt.FlowLayout(FlowLayout.LEFT));
jPanel1c.setLayout(new java.awt.FlowLayout(FlowLayout.LEFT));
jPanel1d.setLayout(new java.awt.FlowLayout(FlowLayout.LEFT));
jPanel2aa.setLayout(new java.awt.FlowLayout(FlowLayout.LEFT));
jPanel2ba.setLayout(new java.awt.FlowLayout(FlowLayout.LEFT));
jPanel3a.setLayout(new java.awt.GridLayout(4, 0));
jLabel1.setText("Enter ");
jPanel1a.add(jLabel1);
jLabel2.setText("Name of Laboratory: ");
jPanel1a.add(jLabel2);
jTextField1.setText("");
jPanel1a.add(jTextField1);
jPanel1.setLayout(new java.awt.GridLayout(4, 0));
jPanel1.add(jPanel1a);
jLabel3.setText(" Date: ");
jPanel1b.add(jLabel3);
jTextField2.setText("");
jPanel1b.add(jTextField2);
jPanel1.add(jPanel1b);
jLabel4.setText(" Run Number(1 or 2): ");
jPanel1c.add(jLabel4);
jTextField3.setText("");
jPanel1c.add(jTextField3);
jLabel5.setText("Please enter the run number (1or 2) in cell F3");
jPanel1c.add(jLabel5);
jPanel1.add(jPanel1c);
jLabel6.setText(" Temperature of room where assay was run(C) ");
jPanel1d.add(jLabel6);
jTextField4.setText("");
jPanel1d.add(jTextField4);
jLabel7.setText("Outside Recommended Range(18-27)!");
jPanel1d.add(jLabel7);
jPanel1.add(jPanel1d);
getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);
jPanel3.setLayout(new java.awt.BorderLayout());
jLabel10.setText("Enter OD Values according to Figure 1");
jPanel3a.add(jLabel10);
// jPanel3.add(jPanel3a, java.awt.BorderLayout.NORTH );
jPanel3.add(jLabel10, java.awt.BorderLayout.NORTH );
jTable3.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"},
{"A", null, null, null, null, null, null, null, null, null, null, null, null},
{"B", null, null, null, null, null, null, null, null, null, null, null, null},
{"C", null, null, null, null, null, null, null, null, null, null, null, null},
{"D", null, null, null, null, null, null, null, null, null, null, null, null},
{"E", null, null, null, null, null, null, null, null, null, null, null, null},
{"F", null, null, null, null, null, null, null, null, null, null, null, null},
{"G", null, null, null, null, null, null, null, null, null, null, null, null},
{"H", null, null, null, null, null, null, null, null, null, null, null, null}
},
new
String [] {
"Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6", "Title 7", "Title 8", "Title 9", "Title 10", "Title 11", "Title 12", "Title 13"
}
) {
Class[] types = new Class [] {
java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jPanel3b.add(jTable3);
jPanel3b.add(jPanel12);
jPanel3.add(jPanel3b, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel3, java.awt.BorderLayout.SOUTH);
jPanel2.setLayout(new java.awt.GridLayout(2, 0));
jPanel2a.setLayout(new java.awt.BorderLayout());
jLabel8.setText("Figure 1. Sample Layout");
jPanel2aa.add(jLabel8);
jPanel2a.add(jPanel2aa, java.awt.BorderLayout.NORTH );
DefaultTableModel dm = new DefaultTableModel()
{
public Class getColumnClass(int columnIndex)
{
return String.class;
}
};
dm.setDataVector(new Object [][] {
{"A", "0% STD\nRep 1","0% STD\nRep 2","0.3% STD\nRep 1","0.3% STD\nRep 2","1.25% STD\nRep 1","1.25% STD\nRep 2","2.5% STD\nRep 1","2.5% STD\nRep 2","Sample1\nRep 1","Sample1\n Rep2","Sample2\nRep 1","Sample2\n Rep 2"},
{"B", "Sample3\nRep 1","Sample3\n Rep 2", "Sample4\nRep 1","Sample4\n Rep 2", "Sample5\nRep 1","Sample5\n Rep 2", "Sample6\nRep 1","Sample6\n Rep 2", "Sample7\nRep 1","Sample7\n Rep 2", "Sample8\nRep 1","Sample8\n Rep 2"},
{"C", "Sample9\nRep 1","Sample9\n Rep 2", "Sample10\nRep 1","Sample10\n Rep 2", "Sample11\nRep 1","Sample11\n Rep 2", "Sample12\nRep 1","Sample12\n Rep 2", "Sample13\nRep 1","Sample13\n Rep 2", "Sample14\nRep 1","Sample14\n Rep 2"},
{"D", "Sample15\nRep 1","Sample15\n Rep 2", "Sample16\nRep 1","Sample16\n Rep 2", "Sample17\nRep 1","Sample17\n Rep 2", "Sample18\nRep 1","Sample18\n Rep 2", "Sample19\nRep 1","Sample19\n Rep 2", "Sample20\nRep 1","Sample21\n Rep 2"},
{"E", "Sample21\nRep 1","Sample21\n Rep 2", "Sample22\nRep 1","Sample22\n Rep 2", "Sample23\nRep 1","Sample23\n Rep 2", "Sample24\nRep 1","Sample24\n Rep 2", "Sample25\nRep 1","Sample25\n Rep 2", "Sample26\nRep 1","Sample26\n Rep 2"},
{"F", "Sample27\nRep 1","Sample27\n Rep 2", "Sample28\nRep 1","Sample28\n Rep 2", "Sample29\nRep 1","Sample29\n Rep 2", "Sample30\nRep 1","Sample30\n Rep 2", "Sample31\nRep 1","Sample31\n Rep 2", "Sample32\nRep 1","Sample32\n Rep 2"},
{"G", "Sample33\nRep 1","Sample33\n Rep 2", "Sample34\nRep 1","Sample34\n Rep 2", "Sample235\nRep 1","Sample35\n Rep 2", "Sample36\nRep 1","Sample36\n Rep 2", "Sample37\nRep 1","Sample37\n Rep 2", "Sample38\nRep 1","Sample38\n Rep 2"},
{"H", "Sample39\nRep 1","Sample39\n Rep 2", "Sample40\nRep 1","Sample40\n Rep 2", "Sample41\nRep 1","Sample41\n Rep 2", "Sample42\nRep 1","Sample42\n Rep 2", "Sample43\nRep 1","Sample43\n Rep 2", "Sample44\nRep 1","Sample44\n Rep 2"},
},
new String [] {" ", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"});
jTable1 = new JTable( dm );
int lines = 2;
jTable1.setRowHeight( jTable1.getRowHeight() * lines);
jTable1.setDefaultRenderer(String.class, new MultiLineCellRenderer());
jPanel2ab.add(jTable1);
jPanel2a.add(jPanel2ab, java.awt.BorderLayout.CENTER);
jPanel2.add(jPanel2a);
jLabel9.setText("Enter the Sample Identification Number according to Figure 1");
jPanel2ba.add(jLabel9);
jPanel2b.add(jPanel2ba,java.awt.BorderLayout.NORTH);
// jPanel2bb.setLayout(new java.awt.BorderLayout());
jTable2.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"},
{"A", null, null, null, null, null, null, null, null, null, null, null, null},
{"B", null, null, null, null, null, null, null, null, null, null, null, null},
{"C", null, null, null, null, null, null, null, null, null, null, null, null},
{"D", null, null, null, null, null, null, null, null, null, null, null, null},
{"E", null, null, null, null, null, null, null, null, null, null, null, null},
{"F", null, null, null, null, null, null, null, null, null, null, null, null},
{"G", null, null, null, null, null, null, null, null, null, null, null, null},
{"H", null, null, null, null, null, null, null, null, null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6", "Title 7", "Title 8", "Title 9", "Title 10", "Title 11", "Title 12", "Title 13"
}
));
jPanel2bb.add(jTable2);
jPanel2b.add(jPanel2bb, java.awt.BorderLayout.CENTER);
jPanel2.add(jPanel2b);
getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
pack();
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new Graph_Page_I().show();
}
}
/** MultiLineCellRenderer prgram **/
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.border.*;
import java.awt.*;
public class MultiLineCellRenderer extends JTextArea implements TableCellRenderer {
public MultiLineCellRenderer() {
setLineWrap(true);
setWrapStyleWord(true);
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
if (isSelected)
{
setForeground(table.getSelectionForeground());
setBackground(table.getSelectionBackground());
}
else
{ setForeground(table.getForeground());
setBackground(table.getBackground());
} setFont(table.getFont());
if (hasFocus)
{
setBorder( UIManager.getBorder("Table.focusCellHighlightBorder") );
if (table.isCellEditable(row, column))
{
setForeground( UIManager.getColor("Table.focusCellForeground") );
setBackground( UIManager.getColor("Table.focusCellBackground") );
}
}
else
{ setBorder(new EmptyBorder(1, 2, 1, 2));
}
setText((value == null) ? "" : value.toString());
return this;
}
}
[ May 09, 2002: Message edited by: padma patil ]