This is my code. Please tell me the solutions
import javax.swing.table.*;
import javax.swing.*; import java.util.*; import java.awt.*; import java.awt.event.*; import java.awt.print.*; import java.awt.geom.*; import java.util.Calendar;
public class Salary_report extends JFrame implements ActionListener {
Vector data; JTable table; JLabel banner; ImageIcon images; Container c; Employee_report f1; JButton print; String s,days,basic,pf,hra,esi,bonus,advance,allowance,loan,incentive,dother,da,eother,gross,ded,net,leave; double ge,td,np,l,l1; public Salary_report(Employee_report f1) { c=getContentPane(); c.setLayout(null); setResizable(false); setTitle("Employee Salary Report"); setBounds(250,50,700,750); WindowShow.setNativeLookAndFeel(); s=f1.ename.getSelectedItem().toString(); basic=f1.txtbsalary.getText(); pf=f1.txtpf.getText(); hra=f1.txthra.getText(); esi=f1.txtesi.getText(); bonus=f1.txtbonus.getText(); advance=f1.txtadv.getText(); allowance=f1.txtsall.getText(); loan=f1.txtploan.getText(); incentive=f1.txtinc.getText(); dother=f1.txtoth.getText(); da=f1.txtda.getText(); eother=f1.txtoth1.getText(); l=Double.parseDouble(f1.txtleave.getText()); if(l<=1) { leave="0"; } else { Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH - 1); int date = 1; calendar.set(year, month, date); int day = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); l1=(Double.parseDouble(basic)/day)*(l-1); leave=Double.toString(Math.round(l1)); days=Integer.toString(day); }
ge=Double.parseDouble(basic)+Double.parseDouble(hra)+Double.parseDouble(bonus)+Double.parseDouble(allowance)+Double.parseDouble(incentive)+Double.parseDouble(da)+Double.parseDou
ble(eother); gross=Double.toString(ge); td=Double.parseDouble(pf)+Double.parseDouble(esi)+Double.parseDouble(advance)+Double.parseDouble(loan)+Double.parseDouble(dother)+Double.parseDouble(leave); ded=Double.toString(td); np=ge-td; net=Double.toString(np);
data = createData(); print=new JButton("Print"); print.setBounds(300,550,100,20); c.add(print); print.addActionListener(this); SplitCellTableModel model = new SplitCellTableModel(); table = new JTable(model); table.getColumnModel().getColumn(0).setCellEditor(new SplitTableCellEditor()); table.getColumnModel().getColumn(1).setCellEditor(new SplitTableCellEditor()); table.getColumnModel().getColumn(0).setCellRenderer(new SplitTableCellRenderer()); table.getColumnModel().getColumn(1).setCellRenderer(new SplitTableCellRenderer()); JScrollPane scroller = new JScrollPane(table); if(f1.cname.getSelectedItem().toString().equals("Teamwork Architecture")) images=new ImageIcon("TWA.jpg"); else if(f1.cname.getSelectedItem().toString().equals("Teamwork Techno Solutions")) images=new ImageIcon("TWT.jpg"); banner=new JLabel(); banner.setIcon(images); banner.setBounds(60,50,600,150); c.add(banner,BorderLayout.NORTH); scroller.setBounds(60,250,600,260); c.add(scroller); } public void actionPerformed(ActionEvent ae) { String str=ae.getActionCommand(); if(str.equalsIgnoreCase("Print")) { print.setVisible(false); PrintableDocument.printComponent(this); } } public Vector createData() { Vector result = new Vector(); Vector rec = new Vector(); Object[] value = new Object[] {"Employee Name",s}; rec.add(value); value = new Object[] {"Total Days",days}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"", ""}; rec.add(value); value = new Object[] {"", ""}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"Earnings", ""}; rec.add(value); value = new Object[] {"Deductions", ""}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"", ""}; rec.add(value); rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"Basic",basic}; rec.add(value); value = new Object[] {"PF",pf}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"HRA",hra}; rec.add(value); value = new Object[] {"ESI",esi}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"Bonus",bonus}; rec.add(value); value = new Object[] {"Salary Advance",advance}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"Special Allowance",allowance}; rec.add(value); value = new Object[] {"Personal Loan",loan}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"Incentive",incentive}; rec.add(value); value = new Object[] {"Others",dother}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"DA",da}; rec.add(value); value = new Object[] {"Leave",leave}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"Others",eother}; rec.add(value); value = new Object[] {"", ""}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"", ""}; rec.add(value); value = new Object[] {"", ""}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"Gross Earnings(A)",gross}; rec.add(value); value = new Object[] {"Total Deductions(B)",ded}; rec.add(value); result.add(rec); rec = new Vector(); value = new Object[] {"Net Pay (A)-(B)",net}; rec.add(value); value = new Object[] {"", ""}; rec.add(value); result.add(rec); return result; }
public class SplitCellTableModel extends DefaultTableModel { public SplitCellTableModel() { }
public int getRowCount() { return data.size(); } public int getColumnCount() { return 2; } public String getColumnName(int col) { if (col == 0) return " "; else return "Date"; } public Object getValueAt(int row, int col) { Vector rec = (Vector)data.get(row); return rec.get(col); } public Vector getDataVector() { return data; } public boolean isCellEditable(int row, int col) { return false; } public void setValueAt(Object value, int row, int col) { Vector rec = (Vector)data.get(row); rec.setElementAt(value, col); }
}
public class SplitTableCellEditor extends AbstractCellEditor implements TableCellEditor { JPanel editingPanel; JTextField leftTextField; JTextField rightTextField;
public SplitTableCellEditor() { super(); editingPanel = new JPanel(); editingPanel.setLayout(new GridLayout(1, 2)); leftTextField = new JTextField(); editingPanel.add(leftTextField); rightTextField = new JTextField(); editingPanel.add(rightTextField); } public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int rowIndex, int colIndex) { Object[] splitVal = (Object[])value; // cast to array of Object if (splitVal != null) { String leftStr = (String)splitVal[0]; String rightStr = (String)splitVal[1]; leftTextField.setText(leftStr == null ? "" : leftStr); rightTextField.setText(rightStr == null ? "" : rightStr); } else { leftTextField.setText(""); rightTextField.setText(""); } return editingPanel; } public Object getCellEditorValue() { Object[] value = new Object[] {leftTextField.getText(), rightTextField.getText()}; return value; }
}
public class SplitTableCellRenderer implements TableCellRenderer { JPanel rendererPanel; JLabel leftLabel; JLabel rightLabel;
public SplitTableCellRenderer() { super(); rendererPanel = new JPanel(); rendererPanel.setLayout(new GridLayout(1, 2)); leftLabel = new JLabel("Adfasdf"); leftLabel.setOpaque(true); leftLabel.setBackground(Color.white); rendererPanel.add(leftLabel); rightLabel = new JLabel("adsfsdf"); rightLabel.setOpaque(true); rightLabel.setBackground(Color.white); rendererPanel.add(rightLabel); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) { Object[] splitVal = (Object[])value; // cast to array of Object if (splitVal != null) { String leftStr = (String)splitVal[0]; String rightStr = (String)splitVal[1]; leftLabel.setText(leftStr == null ? "" : leftStr); rightLabel.setText(rightStr == null ? "" : rightStr); } else { leftLabel.setText(""); rightLabel.setText(""); } return rendererPanel; }
}
}
If i click print button then my current window is print in a paper.
The paper contain only half of the output. But i want full screen output.
Please tell me the solutions
Ads