/** * */ package com.github.cbpos1989.gui_tutorials; import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JPanel; /** * Class to demonstrate creating JPanel class that is called by JApplet class * * @author Colm O'Sullivan * */ public class HelloWorldPanel extends JPanel { /** * */ private static final long serialVersionUID = 1L; private String currentMessage = "Hello World!"; private MessageDisplay displayPanel; private class MessageDisplay extends JPanel{ /** * */ private static final long serialVersionUID = 1L; public void paintComponent(Graphics g){ super.paintComponent(g); g.drawString(currentMessage, 20, 30); } } private class ButtonHandler implements ActionListener{ public void actionPerformed(ActionEvent e){ if(currentMessage.equals("Hello World!")){ currentMessage = "Gooodbye World!"; } else { currentMessage = "Hello World!"; } displayPanel.repaint(); } } public HelloWorldPanel(){ displayPanel = new MessageDisplay(); JButton changeMessageButton = new JButton("Change Message"); ButtonHandler listener = new ButtonHandler(); changeMessageButton.addActionListener(listener); setLayout(new BorderLayout()); add(displayPanel, BorderLayout.CENTER); add(changeMessageButton, BorderLayout.SOUTH); } }