Вы находитесь на странице: 1из 6

BASIC CONCEPT OF SWING

MainFrame

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JTextArea;
public class MainFrame extends JFrame {

private TextPanel textPanel;

private Toolbar toolbar;

public MainFrame () {

super ("Selam World");

setLayout(new BorderLayout());

toolbar = new Toolbar();

textPanel = new TextPanel();

toolbar.setStringListener(new StringListener(){

public void textEmitted(String text) {

textPanel.appendText(text);

});

add(toolbar, BorderLayout.NORTH);

add(textPanel,BorderLayout.CENTER);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(800, 600);

}
StringListener

public interface StringListener {

public void textEmitted (String text);


}

Toolbar

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JPanel;

public class Toolbar extends JPanel implements ActionListener{

private JButton helloButton;

private JButton goodbyeButton;

private StringListener textListener;

public Toolbar () {

helloButton = new JButton("Hello");

goodbyeButton = new JButton("Goodby");

helloButton.addActionListener(this);

goodbyeButton.addActionListener(this);

setLayout(new FlowLayout(FlowLayout.LEFT));
add(helloButton);

add(goodbyeButton);

public void setStringListener(StringListener listener) {

this.textListener = listener;

@Override

public void actionPerformed(ActionEvent e) {

JButton clicked = (JButton)e.getSource();

if(clicked == helloButton) {

if(textListener != null){

textListener.textEmitted("Hello\n");

//textPanel.appendText("Hello\n");

else if (clicked == goodbyeButton)

if(textListener != null){

textListener.textEmitted("Goodby\n");

}
App

import javax.swing.JFrame;

import javax.swing.SwingUtilities;

public class App {

public static void main(String[] args) {

// TODO Auto-generated method stub

SwingUtilities.invokeLater(new Runnable(){

@Override

public void run() {

new MainFrame();

//prvi nain je ovdje posvijetljeno

//JFrame frame = new JFrame("Selam World");

//frame.setVisible(true);

//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//frame.setSize(800, 600);

});

}
TextPanel

import java.awt.BorderLayout;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

public class TextPanel extends JPanel {

private JTextArea textArea;

public TextPanel() {

textArea = new JTextArea();

setLayout(new BorderLayout ());

add(new JScrollPane (textArea), BorderLayout.CENTER);

public void appendText (String text){

textArea.append(text);

Вам также может понравиться