package com.github.cbpos1989.examples.gui; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Font; import java.awt.GridLayout; import java.awt.Toolkit; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.BevelBorder; import javax.swing.border.EmptyBorder; import javax.swing.border.LineBorder; import javax.swing.JTextField; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class GUIApp extends JFrame { private JPanel contentPane; private JTextField textField_01; private JTextField textField_02; private Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); private int screenWidth = (int) screenSize.getWidth(); private int screenHeight = (int) screenSize.getHeight(); /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { GUIApp frame = new GUIApp(); frame.setTitle("GUI App"); frame.pack(); frame.setLocation((frame.screenWidth/2) - (frame.getWidth()/2), (frame.screenHeight/2) - (frame.getHeight()/2)); frame.setResizable(false); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public GUIApp() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); contentPane.setPreferredSize(new Dimension(512,175)); //contentPane.setLayout(null); setContentPane(contentPane); JLabel titleLbl = new JLabel("Text Manipulator"); titleLbl.setFont(new Font("Verdana", Font.BOLD, 24)); titleLbl.setPreferredSize(new Dimension(contentPane.getWidth()/2,25)); contentPane.add(titleLbl,BorderLayout.NORTH); //Text Fields Panel JPanel textFieldPanel = new JPanel(); textFieldPanel.setBorder(new EmptyBorder(5,5,5,5)); textFieldPanel.setLayout(new GridLayout(4,1)); textFieldPanel.setPreferredSize(new Dimension(256,100)); contentPane.add(textFieldPanel, BorderLayout.CENTER); JLabel textFieldLbl_01 = new JLabel("Text Field 1"); textFieldLbl_01.setFont(new Font("Verdana", Font.PLAIN, 12)); textFieldLbl_01.setPreferredSize(new Dimension(contentPane.getWidth()/2,22)); textFieldPanel.add(textFieldLbl_01); textField_01 = new JTextField(); textField_01.setBorder(new LineBorder(Color.RED)); textField_01.setPreferredSize(new Dimension(textFieldPanel.getWidth(), textFieldPanel.getHeight()/2)); textField_01.setHorizontalAlignment(JTextField.CENTER); textField_01.setColumns(10); textFieldPanel.add(textField_01); JLabel textFieldLbl_02 = new JLabel("Text Field 2"); textFieldLbl_02.setFont(new Font("Verdana", Font.PLAIN, 12)); textFieldLbl_02.setPreferredSize(new Dimension(contentPane.getWidth()/2,22)); textFieldPanel.add(textFieldLbl_02); textField_02 = new JTextField(); textField_02.setBorder(new LineBorder(Color.BLUE)); textField_02.setPreferredSize(new Dimension(textFieldPanel.getWidth(),textFieldPanel.getHeight()/2)); textField_02.setHorizontalAlignment(JTextField.CENTER); textField_02.setColumns(10); textFieldPanel.add(textField_02); //Buttons Panel JPanel buttonPanel = new JPanel(); buttonPanel.setBorder(new EmptyBorder(5,5,5,5)); buttonPanel.setLayout(new GridLayout(3,1)); buttonPanel.setPreferredSize(new Dimension(150,75)); contentPane.add(buttonPanel, BorderLayout.EAST); JButton clearBtn = new JButton("Clear"); clearBtn.setPreferredSize(new Dimension(50, 25)); clearBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textField_01.setText(""); } }); clearBtn.setBorder(new BevelBorder(BevelBorder.RAISED)); buttonPanel.add(clearBtn); JButton reverseBtn = new JButton("Reverse"); reverseBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textField_01.setText(reverseText(textField_01.getText())); } }); reverseBtn.setPreferredSize(new Dimension(50, 25)); reverseBtn.setBorder(new BevelBorder(BevelBorder.RAISED)); buttonPanel.add(reverseBtn); JButton transferBtn = new JButton("Transfer"); transferBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //transferText(); } }); transferBtn.setPreferredSize(new Dimension(50, 25)); transferBtn.setBorder(new BevelBorder(BevelBorder.RAISED)); buttonPanel.add(transferBtn); } private String reverseText(String text){ StringBuilder sb = new StringBuilder(text); return sb.reverse().toString(); } private void transferText(JTextField source, JTextField dest){ dest.setText(source.getText()); } }