package haloGUI;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.KeyStroke;
public class InfoFrame extends JFrame implements ActionListener{
//fields
private JTextPane JTP;
private String Title;
private LoadGenomesPanelv2 lgp;
private JPanel jp;
private JScrollPane jsp;
private Dimension ScrPanDim = new Dimension(350, 150);
private JButton btnOK;
private int yPosAdj;
//constructor
public InfoFrame(JTextPane JTP, String Title, LoadGenomesPanelv2 lgp, int yPosAdj){
//store imported info
this.JTP = JTP;
this.Title = Title;
this.lgp = lgp;
this.yPosAdj = yPosAdj;
//construct frame + panel
this.getFrame();
this.getPanel();
//pack frame
this.pack();
//make frame visible
this.setVisible(true);
}
//Create JFrame
private void getFrame() {
this.setSize(400,400);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//this.setLocationRelativeTo(lgp);
Point p = lgp.getLocationOnScreen();
p.x = (int)p.getX() + 470;
p.y = (int)p.getY() + yPosAdj;
this.setLocation(p);
this.setTitle(this.Title);
this.setResizable(false);
}
//Create JPanel
private void getPanel() {
//initialize panel\
jp = new JPanel();
jp.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
//initial GridBagLayout parameters
c.anchor = GridBagConstraints.CENTER;
c.weightx = 1;
c.insets = new Insets(1,1,1,1);
//add pre-computed text field to panel
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 1;
c.gridheight = 1;
c.insets = new Insets(5,5,5,5);
jsp = new JScrollPane(JTP);
jsp.setPreferredSize(ScrPanDim);
JTP.setCaretPosition(0);
jp.add(jsp, c);
//add close button
c.gridy = 1;
c.gridx = 0;
c.gridwidth = 1;
c.fill = GridBagConstraints.NONE;
btnOK = new JButton("OK");
btnOK.addActionListener(this);
jp.add(btnOK, c);
//add frame to panel
this.add(jp);
}
@Override
public void actionPerformed(ActionEvent e) {
this.dispose();
}
}