// ====================================================== // Thermodynamics package in java // steamTable class to calculate properties of steam // user interface (JApplet) // Dr. Turhan Coban // Dr. Turhan Coban // Ege Üniversitesi Mühendislik Bilimleri Fak. Makina Böl. // email : Turhan.Coban@mail.ege.edu.tr // File Name : steamTable.java // requires : steam.java, steamModel.java // ===================================================== import java.io.*; import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.table.*; public class steamTableT extends JApplet implements ActionListener,ItemListener { JPanel inputPanel; JPanel outputPanel; JPanel totalPanel; JLabel l1[]=new JLabel[4]; // Label prompt unit JLabel l2[]=new JLabel[4]; // Label prompt unit JTextField t1[]=new JTextField[3]; JComboBox c1[]=new JComboBox[2]; JTextArea output; JTable jt; steamModelT sm; steamT st; public String unit; public String pair; public double v1; public double v2; protected StringTokenizer token; String s1[]={"SI","EN"}; String s2[]={"tx","tp","tv","th","tu","ts","pv","pt","ph","pu","ps","px","vp","vt"}; Container c; Color bg; public void init() { c=getContentPane(); c.setLayout(new FlowLayout()); bg=c.getBackground(); //adding max-min prompts and input fields st=new steamT(); unit="SI"; pair="tx"; v1=100.0; v2=1.0; st.setUnit(unit); sm=new steamModelT(unit,pair,v1,v2); inputPanel=new JPanel(); inputPanel.setLayout(new GridLayout(4,3)); outputPanel=new JPanel(); outputPanel.setLayout(new BorderLayout()); totalPanel=new JPanel(); totalPanel.setLayout(new BorderLayout()); l1[0]=new JLabel("birim"); l1[1]=new JLabel("verilen termodinamik birim seti : "); l1[2]=new JLabel(" Sıcaklık"); l1[3]=new JLabel(" buhar doygunluk derecesi"); l2[0]=new JLabel(""); l2[1]=new JLabel(""); l2[2]=new JLabel(" derece C"); l2[3]=new JLabel(" kg buhar/kg karışım."); c1[0]=new JComboBox(s1); c1[1]=new JComboBox(s2); t1[0]=new JTextField(""+v1); t1[1]=new JTextField(""+v2); t1[2] = new JTextField(); t1[2].setText(pair); inputPanel.add(l1[0]); inputPanel.add(c1[0]); inputPanel.add(l2[0]); inputPanel.add(l1[1]); inputPanel.add(c1[1]); inputPanel.add(t1[2]); inputPanel.add(l1[2]); inputPanel.add(t1[0]); inputPanel.add(l2[2]); inputPanel.add(l1[3]); inputPanel.add(t1[1]); inputPanel.add(l2[3]); t1[0].setBackground(bg); t1[1].setBackground(bg); t1[2].setBackground(bg); t1[0].setFont(l1[0].getFont()); t1[1].setFont(l1[0].getFont()); t1[2].setFont(l1[0].getFont()); c1[0].setBackground(bg); c1[1].setBackground(bg); c1[0].addItemListener(this); c1[1].addItemListener(this); t1[0].addActionListener(this); t1[1].addActionListener(this); t1[2].addActionListener(this); output=new JTextArea(); setArea(); jt=new JTable(sm); //jt.setBackground(bg); jt.setFont(l1[0].getFont()); output.setFont(l1[0].getFont()); output.setForeground(l1[0].getForeground()); outputPanel.add(output,BorderLayout.SOUTH); outputPanel.add(jt,BorderLayout.NORTH); totalPanel.add(inputPanel,BorderLayout.NORTH); totalPanel.add(outputPanel,BorderLayout.SOUTH); c.add(totalPanel,BorderLayout.NORTH); } public void setArea() { //baŸlik String s=""; s+="Dr. Turhan Çoban, \n"; s+="Ege Üniversitesi Mühendislik Bil. Fak. Makina Böl.\n"; s+="tel : 90(232)3434000-5387\n"; s+="email : turhan.coban@mail.ege.edu.tr\n"; s+="==========================================================================\n"; s+="referans : Steam tables, thermodynamic properties of water including vapor,\n"; s+="liquid and solid phases (SI unites), Joseph H. Keenan, Frederick G. Keyes,\n"; s+="Philip G. Hill, Joan G. Moore, Willey-Interscience publication,\n"; s+="John Willey and Sons, 1969, ISBN 0-471-04210-2"; output.setText(s); sm.setValues(unit,pair,v1,v2); output.setBackground(c.getBackground()); } public void itemStateChanged(ItemEvent ev) { unit=(String)c1[0].getSelectedItem(); pair=(String)c1[1].getSelectedItem(); t1[2].setText(pair); if(pair.charAt(0)=='t') l1[2].setText(" Sıcaklık "); if(pair.charAt(0)=='p') l1[2].setText(" Basınç "); if(pair.charAt(0)=='v') l1[2].setText(" Özgül hacim "); if(pair.charAt(1)=='t') l1[3].setText(" Sıcaklık "); if(pair.charAt(1)=='p') l1[3].setText(" Basınç "); if(pair.charAt(1)=='v') l1[3].setText(" Özgül hacim "); if(pair.charAt(1)=='h') l1[3].setText(" Entalpi "); if(pair.charAt(1)=='u') l1[3].setText(" İç enerji "); if(pair.charAt(1)=='s') l1[3].setText(" Entropi "); if(pair.charAt(1)=='x') l1[3].setText(" Doygunluk der. "); if(unit.equals("SI")) { if(pair.charAt(0)=='t') l2[2].setText(" Derece C"); if(pair.charAt(0)=='p') l2[2].setText(" bar"); if(pair.charAt(0)=='v') l2[2].setText(" m^3/kg"); if(pair.charAt(1)=='t') l2[3].setText(" Derece C"); if(pair.charAt(1)=='p') l2[3].setText(" bar"); if(pair.charAt(1)=='v') l2[3].setText(" m^3/kg"); if(pair.charAt(1)=='h') l2[3].setText(" KJ/kg"); if(pair.charAt(1)=='u') l2[3].setText(" KJ/kg"); if(pair.charAt(1)=='s') l2[3].setText(" KJ/kg K"); if(pair.charAt(1)=='x') l2[3].setText(" kg buhar/kg karışım"); } else { if(pair.charAt(0)=='t') l2[2].setText(" F"); if(pair.charAt(0)=='p') l2[2].setText(" lbf/in^2"); if(pair.charAt(0)=='v') l2[2].setText(" ft^3/lbm"); if(pair.charAt(1)=='t') l2[3].setText(" F"); if(pair.charAt(1)=='p') l2[3].setText(" lbf/in^2"); if(pair.charAt(1)=='v') l2[3].setText(" ft^3/lbm"); if(pair.charAt(1)=='h') l2[3].setText(" BTU/lbm"); if(pair.charAt(1)=='u') l2[3].setText(" BTU/lbm"); if(pair.charAt(1)=='s') l2[3].setText(" BTU/lbm R"); if(pair.charAt(1)=='x') l2[3].setText(" lbm buhar/lbm karışım"); } t1[1].setText(""); t1[0].setText(""); repaint(); } public void actionPerformed( ActionEvent e) { if(e.getSource()==t1[2]) { String st1=(String)c1[1].getSelectedItem(); pair=st1; String st2=t1[2].getText(); for(int j=0;j