rendered paste bodypackage de.fhro.gui.basic.uebung01;import java.awt.BorderLayout;import java.awt.Button;import java.awt.FlowLayout;import java.awt.LayoutManager;import java.awt.Panel;import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.IOException;import java.net.URL;import java.util.Vector;import javax.swing.ComboBoxModel;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JEditorPane;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextArea;public class WebBrowser { public static void main(String[] args) { MyFrame frame = new MyFrame(); frame.setVisible(true); frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ System.exit(0); } }); }}class MyFrame extends JFrame { private MyView view; public MyFrame() { view = new MyView(); add(view); super.pack(); } public MyView getBrowserView() { return view; }}class MyView extends Panel { private JComboBox north; private JEditorPane center; private ButtonBar south; public MyView() { BrowserController controller = new BrowserController(); setLayout(new BorderLayout()); north = new JComboBox(); north.setEditable(true); center = new JEditorPane(); south = new ButtonBar(controller); center.setEditable(false);// controller.setPane(center); controller.setPanel(this); add(north, BorderLayout.NORTH); add(center, BorderLayout.CENTER); add(south, BorderLayout.SOUTH); } public JEditorPane getCenter() { return center; } public JComboBox getComboBox() { return north; } }class ButtonBar extends JPanel { public ButtonBar(BrowserController controller) { setLayout(new FlowLayout(FlowLayout.CENTER)); JButton btnReload = new JButton("Reload"); JButton btnPrint = new JButton("Print"); btnReload.setActionCommand("reload"); btnPrint.setActionCommand("print"); btnReload.addActionListener(controller); btnPrint.addActionListener(controller); add(btnReload); add(btnPrint); }}class BrowserController implements ActionListener {// private JEditorPane pane; private MyView panel; public void actionPerformed(ActionEvent e) { // wenn url geklickt wurde, dann area//// if (e.getActionCommand().equals("reload")) {//// try {//// URL url = new URL("http://www.google.de");//// panel.getCenter().setPage(url);//// } catch (IOException e1) {//// e1.printStackTrace();//// }//// }// if (e.getActionCommand().equals("print")) { try { String urlString = panel.getComboBox().getSelectedObjects().toString(); URL urlObjekt = new URL(urlString); panel.getCenter().setPage(urlObjekt); } catch (IOException e1) { e1.printStackTrace(); }// } }// public void setPane (JEditorPane pane) {// this.pane = pane;// } public void setPanel(MyView panel) { this.panel = panel; }}