I am trying to create a motif logo taking input from file and the output will show the result in the textarea. Here, input can be taken but output is not shown. I have done the code as follows:
public Loogo() { l3 = new JLabel("NiddlemanWunch Algorithm."); c.add(l3); l1 = new JLabel("1st sequence"); l2 = new JLabel("2nd sequence"); l3 = new JLabel("3rd sequence"); l4 = new JLabel("4th sequence"); t1 = new JTextField(20); t2 = new JTextField(20); t3 = new JTextField(20); t4 = new JTextField(20); t5 = new JTextArea(20, 20); b1 = new JButton("upload 1st sequence file"); b2 = new JButton("upload 2nd sequence file"); final JButton b5 = new JButton("Motif"); b3 = new JButton("upload 3rd sequence file"); b4 = new JButton("upload 4th sequence file"); FlowLayout f = new FlowLayout(); c.setLayout(f); c.add(l1); c.add(t1); c.add(l2); c.add(t2); c.add(l3); c.add(t3); c.add(l4); c.add(t4); c.add(b1); c.add(b2); c.add(b3); c.add(b4); c.add(b5); c.add(t5); Font font = new Font("Courier", Font.PLAIN, 20); t3.setFont(font); b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) { JFileChooser fj = new JFileChooser(); fj.showOpenDialog(null); fj.setFileSelectionMode(JFileChooser.FILES_ONLY); File fe = fj.getSelectedFile(); try { FileReader reader = new FileReader(fe); BufferedReader br = new BufferedReader(reader); t1.read(br, null); br.close(); } catch (Exception e2) { System.out.println(e2); } } });
s1 = t1.getText(); s2 = t2.getText(); s3 = t3.getText(); s4 = t4.getText(); int l1 = s1.length(); colorIndex = 0; c1 = s1.charAt(i); c2 = s2.charAt(i); c3 = s3.charAt(i); c4 = s4.charAt(i); Point loc = new Point(10, 10); for (int i = 0; i < l1; i++) { if (c1 == c2 && c1 == c3 && c1 == c4) {
if (c1 == 'A') { g.setColor(Color.black); } else if (c1 == 'T') { g.setColor(Color.red); } else if (c1 == 'G') { g.setColor(Color.blue); } else if (c1 == 'C') { g.setColor(Color.green); } Font f = new Font("TimesRoman", Font.PLAIN, 72); int width = g.getFontMetrics().charWidth(c1); g.drawString("" + c, loc.x, loc.y); loc.x += width;
} } }
public void actionPerformed(ActionEvent ae) { t5.setEditable(true);
if (ae.getSource() == b5) { repaint(); }
} }); setVisible(true); setSize(500, 600); }
/** * @param args the command line arguments */ public static void main(String[] args) { Loogo l = new Loogo(); // TODO code application logic here`enter code here` } }