import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JTextField; import java.awt.Graphics; import java.awt.Frame; /** * A TextDialog is created where you can input a string and there is an advanced * setting method. Once you submit you draw the string onto the screen. **/ public class TextDialog extends JDialog implements ActionListener { private JButton submit, advanced; private JTextField text, xCoord, yCoord; private JLabel x, y; private FontChooser adText; /** Creates a TextDialog with parameters of the x and y coordinates clicked. **/ public TextDialog(int xValue, int yValue) { // sets the title and other default settings setTitle("Text Setup"); getContentPane().setLayout(null); setSize(160,200); setVisible(true); initialize(xValue,yValue); } /** * Instantiates the fields for the text dialog, such as the text field, * the x and y coordinate field and the advanced settings. **/ public void initialize(int xValue, int yValue) { x = new JLabel("X: "); x.setBounds(20,50,20,20); getContentPane().add(x); y = new JLabel("Y: "); y.setBounds(20,80,20,20); getContentPane().add(y); text = new JTextField(); text.setBounds(20,20,120,20); getContentPane().add(text); xCoord = new JTextField(xValue+""); xCoord.setBounds(40,50,100,20); getContentPane().add(xCoord); yCoord = new JTextField(yValue+""); yCoord.setBounds(40,80,100,20); getContentPane().add(yCoord); submit = new JButton("SUBMIT"); submit.setBounds(20,110,120,20); getContentPane().add(submit); submit.addActionListener(this); advanced = new JButton("Advanced"); advanced.setBounds(20,140,120,20); getContentPane().add(advanced); advanced.addActionListener(this); Frame[] frames = ControlClass.getFrames(); adText = new FontChooser(frames[0]); } /** * Invoked if action performed. If the button clicked is submit then it * will draw it to the screen other wise if its the advanced button then * the advanced settings will pop up. **/ public void actionPerformed(ActionEvent e) { JButton hit = (JButton)e.getSource(); if(hit == submit) { ((DrawingCanvas)ControlClass.canvas.get(ControlClass.currentFile)).textOperation2(text.getText(), Integer.parseInt(xCoord.getText()),Integer.parseInt(yCoord.getText()), adText.getSelectedFont()); setVisible(false); } if(hit == advanced) { adText.setVisible(true); } } }