import java.awt.*;
import javax.swing.*;
class PTRP extends JPanel {
// private JLabel rno,vno;
private JTextField txtRNo,txtVNo;
// private JLabel lblPtName,lblConsultBy;
private JButton btnOk;
private JTextField txtPtName,txtConsultBy;
private JTable gridPreview;
PTRP() {
addComponents();
}
private void addComponents() {
GridBagLayout gb=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
gbc.insets = new Insets(0,0,0,0);
gbc.weightx = 1.0;
gbc.weighty = 1.0;
setLayout(gb);
//ADD First Row
//Adding 1st & 2nd Col...
JPanel row1 = new JPanel(gb);
gbc.insets = new Insets(2,2,2,2);
gbc.anchor=GridBagConstraints.WEST;
JLabel rno=new JLabel("Test Recpt. No.:");
row1.add(rno, gbc);
txtRNo=new JTextField(8);
// txtRNo.setSize(40,rno.getHeight());
txtRNo.setEditable(false);
row1.add(txtRNo, gbc);
//Adding 3rd Col...
// gbc.fill=GridBagConstraints.HORIZONTAL;
// gbc.gridwidth=GridBagConstraints.REMAINDER;
// JPanel pnlTemp=new JPanel(new FlowLayout(FlowLayout.RIGHT));
JLabel vno=new JLabel("Voucher No.:");
txtVNo=new JTextField(8);
// txtVNo.setSize(40,vno.getHeight());
txtVNo.setEditable(false);
row1.add(vno, gbc);
row1.add(txtVNo, gbc);
gbc.insets = new Insets(0,0,0,0);
gbc.gridwidth=2;
gbc.fill=GridBagConstraints.HORIZONTAL;
add(row1, gbc);
gbc.fill=GridBagConstraints.NONE;
gbc.gridy = 1;
//ADD Second Row
//Adding 1st Col...
gbc.gridwidth=1;
gbc.weightx = 0;
JLabel lblPtName=new JLabel("Pt. Name");
txtPtName=new JTextField();
add(lblPtName, gbc);
//Addding 2nd Col...
// gbc.gridy = GridBagConstraints.RELATIVE;
gbc.weightx = 1.0;
gbc.fill=GridBagConstraints.HORIZONTAL;
// gbc.gridwidth=GridBagConstraints.REMAINDER;
add(txtPtName, gbc);
gbc.fill=GridBagConstraints.NONE;
gbc.gridy++;
//ADD Third Row
//Adding 1st Col...
// gbc.gridwidth=1;
gbc.weightx = 0;
lblPtName=new JLabel("Consult By");
txtPtName=new JTextField();
add(lblPtName, gbc);
//Addding 2nd Col...
// gbc.gridwidth=GridBagConstraints.REMAINDER;
gbc.weightx = 1.0;
gbc.fill=GridBagConstraints.HORIZONTAL;
add(txtPtName, gbc);
gbc.fill=GridBagConstraints.NONE;
gbc.gridy++;
//ADD Fourth Row
// gbc.fill=GridBagConstraints.BOTH;
gbc.gridwidth = 2;
gridPreview=new JTable(2,2);
Dimension d = gridPreview.getPreferredSize();
System.out.printf("d = [%d, %d]%n", d.width, d.height);
d.width = 300;
gridPreview.setPreferredScrollableViewportSize(d);
gbc.anchor=GridBagConstraints.CENTER;
gbc.fill=GridBagConstraints.HORIZONTAL;
add(new JScrollPane(gridPreview), gbc);
//Add Fifth Row
gbc.fill=GridBagConstraints.NONE;
gbc.anchor=GridBagConstraints.EAST;
gbc.gridy++;
btnOk=new JButton("OK");
btnOk.setMnemonic('O');
add(btnOk,gbc);
btnOk.requestFocusInWindow();
}
private static void showPanel() {
final JFrame jf=new JFrame("GridBag Test");
PTRP pnlGridBag=new PTRP();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setContentPane(pnlGridBag);
// jf.setPreferredSize(new Dimension(300,250));
jf.setLocationByPlatform(true);
jf.pack();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
jf.setVisible(true);
}
});
Dimension d = pnlGridBag.getPreferredSize();
Dimension s = pnlGridBag.getSize();
System.out.printf("pnlGridBag d = [%d, %d] s = [%d, %d]%n",
d.width, d.height, s.width, s.height);
}
public static void main (String[] args) {
showPanel();
}
}