import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; //LICENSE //You can freely distribute this program as long as you do not change //George's name. public class Test { public static void main(String[] args) { MainFrame f = new MainFrame(); f.setSize(550, 250); f.setLocation(300, 200); f.setVisible(true); } } class MainFrame extends JFrame { private static final long serialVersionUID = 1L; private JLabel adviceLabel; private George george; public MainFrame() { this.setTitle("George consulting TM"); JPanel northPanel = new JPanel(new BorderLayout()); northPanel.add(BorderLayout.NORTH, new JLabel("Hello, I'm George. I do management consulting.", SwingConstants.CENTER)); northPanel.add(BorderLayout.SOUTH, new JLabel("If you want a priceless advice, click the button below!", SwingConstants.CENTER)); JPanel southPanel = new JPanel(new BorderLayout()); JButton adviceButton = new JButton("1000$"); adviceButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { doAdvice(); }} ); southPanel.add(BorderLayout.CENTER, adviceButton); JPanel centerPanel = new JPanel(new BorderLayout()); adviceLabel = new JLabel("", SwingConstants.CENTER); centerPanel.add(BorderLayout.CENTER, adviceLabel); this.add(northPanel, BorderLayout.NORTH); this.add(centerPanel, BorderLayout.CENTER); this.add(southPanel, BorderLayout.SOUTH); //WARNING: very important code ahead! george = new George(); } private void doAdvice() { adviceLabel.setText(george.getAdvice()); } } class George { private String[] first = new String[]{"Complex enterprise ventures", "Configurable deployment processes", "Aspect oriented programming", "J2EE enterprise patterns"}; private String[] second = new String[]{"leverage", "harness", "synergize", "heavily exploit"}; private String[] third = new String[]{"extensive data mining", "polymorphism", "power tiered systems", "multi-layered frameworks"}; private Random random = new Random(); public String getAdvice() { StringBuilder sb = new StringBuilder(); sb.append(first[random.nextInt(4)]).append(" "); sb.append(second[random.nextInt(4)]).append(" "); sb.append(third[random.nextInt(4)]).append("."); return sb.toString(); } }