Toolbar buttons sollen dialoge anzeigne statt pop up

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hi

ich habe jetzt zu einem project toolbar buttons hinzugefgt geht ohne probs!
aber wie kann ein

ausschnitte ausm source:

Code:
private Action connectAction;
	private Action disconnectAction;
	private Action nodeAction;
	private Action quitAction;
	private Action preferencesAction;
	private Action sharedDirectoriesAction;
	private Action aboutAction;
	private Action clearMessagesAction;
      private Action downloadFilesAction;
      private Action uploadFilesAction;
      private Action KnownClientsAction;
      private Action SearchAction;
      private Action SharedFilesAction;
      private Action loggingAction;  

	private LoggingPreferences loggingPreferences = new LoggingPreferences();

	protected JList messageList;
	protected DefaultListModel messageListModel = new DefaultListModel();

	private StatusPanel statusPanel;
	private DownloadFilesPanel downloadFilesPanel;
	private UploadFilesPanel uploadFilesPanel;
	private KnownClientsPanel knownClientsPanel;
	private SharedFilesPanel sharedFilesPanel;
	private LoggingPreferencesPanel loggingPreferencesPanel;
	private SearchPanel searchPanel;

Code:
createComponents();
		setFreeMule(freeMule);
		getContentPane().setLayout(new BorderLayout());
		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
		addWindowListener(new WindowAdapter() {

			public void windowClosing(WindowEvent windowEvent) {
				actionQuit();
			}
		});
		createActions();
		createToolbar();
		createContent();
		setJMenuBar(createMenuBar());
		pack();
		setSize(750, 550);
	}

	private JMenuBar createMenuBar() {
		JMenuBar menuBar = new JMenuBar();
		JMenu fileMenu = new JMenu("Freenet");
		menuBar.add(fileMenu);
		fileMenu.add(connectAction);
		fileMenu.add(disconnectAction);
		fileMenu.addSeparator();
		fileMenu.add(nodeAction);
		fileMenu.add(preferencesAction);
		fileMenu.add(sharedDirectoriesAction);
		fileMenu.addSeparator();
		fileMenu.add(quitAction);
		JMenu helpMenu = new JMenu("Help");
		menuBar.add(helpMenu);
		helpMenu.add(aboutAction);
		return menuBar;
	}

	private void createActions() {
		connectAction = new AbstractAction("Connect") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionConnect();
			}
		};
		connectAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/connect_established.png"));
		connectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK));
		connectAction.putValue(Action.SHORT_DESCRIPTION, "Start all services and connect to Freenet");

		disconnectAction = new AbstractAction("Disconnect") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionDisconnect();
			}
		};
		disconnectAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/connect_no.png"));
		disconnectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_MASK));
		disconnectAction.putValue(Action.SHORT_DESCRIPTION, "Stop all services and disconnect from Freenet");
		disconnectAction.setEnabled(false);

		preferencesAction = new AbstractAction("Preferences") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionPreferences();
			}
		};
		preferencesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/kservices.png"));
		preferencesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_MASK));
		preferencesAction.putValue(Action.SHORT_DESCRIPTION, "Change settings");

		sharedDirectoriesAction = new AbstractAction("Shared Directories") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionSharedDirectories();
			}
		};
		sharedDirectoriesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/preferences3.png"));
		sharedDirectoriesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
		sharedDirectoriesAction.putValue(Action.SHORT_DESCRIPTION, "Configure shared directories");

		nodeAction = new AbstractAction("Node") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		nodeAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/node3.png"));
		nodeAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
		nodeAction.putValue(Action.SHORT_DESCRIPTION, "Configure Freenet node settings");

		quitAction = new AbstractAction("Quit") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionQuit();
			}
		};
		quitAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/exit.png"));
		quitAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK));
		quitAction.putValue(Action.SHORT_DESCRIPTION, "Quit freeMule");

		aboutAction = new AbstractAction("About") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionAbout();
			}
		};
		aboutAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/about.png"));
		aboutAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
		aboutAction.putValue(Action.SHORT_DESCRIPTION, "Shows freeMule version information");

		clearMessagesAction = new AbstractAction("Clear Messages") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionClearMessages();
			}
		};
		clearMessagesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_MASK));
		clearMessagesAction.putValue(Action.SHORT_DESCRIPTION, "Clear the message window");

            
		downloadFilesAction = new AbstractAction("Downloads") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		downloadFilesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/downloads.png"));
		downloadFilesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK));
		downloadFilesAction.putValue(Action.SHORT_DESCRIPTION, "Downloads");

            
		uploadFilesAction = new AbstractAction("Uploads") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		uploadFilesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/uploads.png"));
		uploadFilesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_MASK));
		uploadFilesAction.putValue(Action.SHORT_DESCRIPTION, "Uploads");

 		KnownClientsAction = new AbstractAction("Known Clients") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		KnownClientsAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/clients.png"));
		KnownClientsAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_K, InputEvent.CTRL_MASK));
		KnownClientsAction.putValue(Action.SHORT_DESCRIPTION, "Known Clients");

            
            SearchAction = new AbstractAction("Search") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		SearchAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/kview.png"));
		SearchAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
		SearchAction.putValue(Action.SHORT_DESCRIPTION, "Search");

            
            SharedFilesAction = new AbstractAction("Shared Files") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		SharedFilesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/sharedfiles32.png"));
		SharedFilesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
		SharedFilesAction.putValue(Action.SHORT_DESCRIPTION, "Shared Files");

            loggingAction = new AbstractAction("Logging") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		loggingAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/toggle_log.png"));
		loggingAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
		loggingAction.putValue(Action.SHORT_DESCRIPTION, "Logging");

private void createToolbar() {
JToolBar toolbar = new JToolBar();
toolbar.add(connectAction);
toolbar.add(disconnectAction);
toolbar.addSeparator();
toolbar.add(KnownClientsAction);
toolbar.add(downloadFilesAction);
toolbar.add(uploadFilesAction);
toolbar.add(SearchAction);
toolbar.add(SharedFilesAction);
toolbar.add(loggingAction);
toolbar.add(preferencesAction);
toolbar.add(sharedDirectoriesAction);
toolbar.add(nodeAction);
toolbar.addSeparator();
toolbar.add(quitAction);
getContentPane().add(toolbar, BorderLayout.NORTH);
}

private void createComponents() {
statusPanel = new StatusPanel(this);
downloadFilesPanel = new DownloadFilesPanel(this);
uploadFilesPanel = new UploadFilesPanel(this);
searchPanel = new SearchPanel(this);
knownClientsPanel = new KnownClientsPanel(this);
sharedFilesPanel = new SharedFilesPanel(this);
loggingPreferencesPanel = new LoggingPreferencesPanel(this);
// servicesPanel = new ServicesPanel(this);
messageList = new JList(messageListModel);
}

in deisem project gibts schon tabs , in diesen tabs werden die dialoge angezeigt.
ich will das ich per toolbar button das gewünschte dialog angezeigt wird wie downloadsFilespanel!

dafür habe ich ja eine downloadFilesAction erstellt.

nun ist es möglich mit diesen Action den downloadsFilepanel anzuzeigen?
aber nicht als pop up!


ich würde auf jede hilfe freuen!


mfg

dennis
 

André Uhres

Top Contributor
Code:
...
        AbstractAction downloadFilesAction = new AbstractAction("Downloads") {
            
            public void actionPerformed(ActionEvent actionEvent) {
                actionNode(actionEvent);
            }
        };
...
    private void actionNode(ActionEvent actionEvent){
        if(actionEvent.getActionCommand().equals("Downloads")){
            jTabbedPane1.setSelectedComponent(downloadFilesPanel);
        }
    }
 
G

Guest

Gast
danke für die hilfe.

aber es kommt biem compilieren ein fehler auf:

compile:
[javac] Compiling 1 source file to E:\crypt p2p\freeMule\freeMule-0.2.1-src\
freeMule-0.2.1\bin
[javac] C:\free-0.2.1-src\src\de\todes
baum\free\gui\MainFrame.java:535: cannot find symbol
[javac] symbol : variable JTabbedPane1
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] JTabbedPane1.setSelectedComponent(downloadFilesPanel);
[javac] ^
[javac] 1 error

ist es so richtig wie ich es eingesetzt habe?

Code:
protected void actionSharedDirectories() {
		SharedDirectoriesDialog dialog = new SharedDirectoriesDialog(this);
		dialog.setSharedDirectories(configuration.getSharedDirectories());
		dialog.setVisible(true);
		configuration.setSharedDirectories(dialog.getSharedDirectories());
		freeMule.setSharedDirectories(dialog.getSharedDirectories());
	}

	public void actionNode() {
		NodeDialog nodeDialog = new NodeDialog(this);
		nodeDialog.setNodeAddress(configuration.getNodeAddress());
		nodeDialog.setNodePort(configuration.getNodePort());
		nodeDialog.setVisible(true);
		configuration.setNodeAddress(nodeDialog.getNodeAddress());
		configuration.setNodePort(nodeDialog.getNodePort());
		freeMule.setNodeAddress(nodeDialog.getNodeAddress());
		freeMule.setNodePort(nodeDialog.getNodePort());
	}

      private void actionNode(ActionEvent actionEvent){
        if(actionEvent.getActionCommand().equals("Downloads")){
            jTabbedPane1.setSelectedComponent(downloadFilesPanel);
        }
     	}

hier noch auszug ausm bereich tabs:

Code:
private void createComponents() {
		statusPanel = new StatusPanel(this);
		downloadFilesPanel = new DownloadFilesPanel(this);
		uploadFilesPanel = new UploadFilesPanel(this);
		searchPanel = new SearchPanel(this);
		knownClientsPanel = new KnownClientsPanel(this);
		sharedFilesPanel = new SharedFilesPanel(this);
		loggingPreferencesPanel = new LoggingPreferencesPanel(this);
		// servicesPanel = new ServicesPanel(this);
		messageList = new JList(messageListModel);
	}

	private void createContent() {
		JPanel contentPanel = new JPanel(new BorderLayout(12, 12));
		contentPanel.setBorder(new EmptyBorder(12, 12, 12, 12));

		// split pane
		JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true);
		splitPane.setDividerLocation(0.5);
		contentPanel.add(splitPane, BorderLayout.CENTER);

		// top frame: tabbed pane
		JTabbedPane topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
		splitPane.setTopComponent(topTabbed);

		// topTabbed.add("Status", statusPanel);
		topTabbed.add("Downloads", downloadFilesPanel);
		topTabbed.add("Uploads", uploadFilesPanel);
		topTabbed.add("Search", searchPanel);
		topTabbed.add("Known Clients", knownClientsPanel);
		topTabbed.add("Shared Files", sharedFilesPanel);
		topTabbed.add("Logging", loggingPreferencesPanel);
		// topTabbed.add("Service Threads", servicesPanel);

		// bottom frame: messages
		splitPane.setBottomComponent(new JScrollPane(messageList));
		splitPane.setResizeWeight(0.9);

		// input line
		JPanel keyInputPanel = new JPanel(new BorderLayout(5, 5));
		contentPanel.add(keyInputPanel, BorderLayout.PAGE_END);
		JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING, 12, 12));
		buttonPanel.setBorder(new EmptyBorder(-12, -12, -12, -12));
		buttonPanel.add(new JButton(clearMessagesAction));
		keyInputPanel.add(buttonPanel, BorderLayout.LINE_END);

		getContentPane().add(contentPanel, BorderLayout.CENTER);
	}
 
G

Guest

Gast
ich habe was übersehen!
fehler von mir.

jetzt ist es so richtig
:

Code:
	downloadFilesAction = new AbstractAction("Downloads") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionDownloadFiles();
			}
		};

....

   private void actionDownloadFiles(ActionEvent actionEvent){
        if(actionEvent.getActionCommand().equals("Downloads")){
            jTabbedPane1.setSelectedComponent(downloadFilesPanel);
        }
   	}

aber es kommem nun 2 fehler:

baum\freemule\gui\MainFrame.java:278: actionDownloadFiles(java.awt.event.ActionE
vent) in de.todesbaum.freemule.gui.MainFrame cannot be applied to ()
[javac] actionDownloadFiles();
[javac] ^
[javac] E:\crypt p2p\freeMule\freeMule-0.2.1-src\freeMule-0.2.1\src\de\todes
baum\freemule\gui\MainFrame.java:535: cannot find symbol
[javac] symbol : variable jTabbedPane1
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] jTabbedPane1.setSelectedComponent(downloadFilesPanel);
[javac] ^
[javac] 2 errors
 

André Uhres

Top Contributor
jTabbedPane1 muss natürlich durch die Referenz auf dein JTabbedPane ersetzt werden.
actionDownloadFiles()-->actionDownloadFiles(actionEvent)
 
G

Guest

Gast
habe noch wegen dem actionDownloadFiles auch noch probs:



Code:
 private void actionDownloadFiles(ActionEvent actionEvent){
        if(actionEvent.getActionCommand().equals("Downloads")){
            JTabbedPane.setSelectedComponent(downloadFilesPanel);
        }
   	}


vent) in de.todesbaum.freemule.gui.MainFrame cannot be applied to ()
[javac] actionDownloadFiles();
[javac] ^
[javac] E:\crypt p2p\freeMule\freeMule-0.2.1-src\freeMule-0.2.1\src\de\todes
baum\freemule\gui\MainFrame.java:535: non-static method setSelectedComponent(jav
a.awt.Component) cannot be referenced from a static context
[javac] JTabbedPane.setSelectedComponent(downloadFilesPanel);
[javac] ^
[javac] 2 errors
 
G

Guest

Gast
sorry aber wo muss ich das einsetzen?
actionDownloadFiles()-->actionDownloadFiles(actionEvent)
 
G

Guest

Gast
du meinst so:

Code:
downloadFilesAction = new AbstractAction("Downloads") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionDownloadFiles(actionEvent);
			}
		};

dann habe ich nur noch 1 fehler:


a.awt.Component) cannot be referenced from a static context
[javac] JTabbedPane.setSelectedComponent(downloadFilesPanel);
[javac] ^
[javac] 1 error
 

André Uhres

Top Contributor
jTabbedPane1 muss durch deine Referenz auf deine JTabbedPane ersetzt werden.
JTabbedPane ist keine Referenz sondern eine Klasse.
 
G

Guest

Gast
jetzt weis ich net wie die Referenz heist!

habs noch nicht gefunden
 
G

Guest

Gast
also hier meine gesamete MainFrame.java:

Code:
/*
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 * Place - Suite 330, Boston, MA 02111-1307, USA.
 */

package de.todesbaum.freemule.gui;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.ByteArrayOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.StringTokenizer;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import javax.swing.border.EmptyBorder;

import de.todesbaum.freemule.application.AnnouncementListener;
import de.todesbaum.freemule.application.AnnouncementService;
import de.todesbaum.freemule.application.Client;
import de.todesbaum.freemule.application.ClientListener;
import de.todesbaum.freemule.application.ClientService;
import de.todesbaum.freemule.application.ClipboardListener;
import de.todesbaum.freemule.application.ClipboardService;
import de.todesbaum.freemule.application.DiscoveryListener;
import de.todesbaum.freemule.application.DiscoveryService;
import de.todesbaum.freemule.application.DownloadListener;
import de.todesbaum.freemule.application.DownloadService;
import de.todesbaum.freemule.application.FilelistCollectorListener;
import de.todesbaum.freemule.application.FilelistCollectorService;
import de.todesbaum.freemule.application.FilelistInsertListener;
import de.todesbaum.freemule.application.FilelistInsertService;
import de.todesbaum.freemule.application.FilelistListener;
import de.todesbaum.freemule.application.FilelistService;
import de.todesbaum.freemule.application.FreeMule;
import de.todesbaum.freemule.application.FreenetFile;
import de.todesbaum.freemule.application.Service;
import de.todesbaum.freemule.application.ServiceListener;
import de.todesbaum.freemule.application.ServiceThread;
import de.todesbaum.freemule.application.SharedFile;
import de.todesbaum.freemule.application.SharedFileListener;
import de.todesbaum.freemule.application.SharedFileService;
import de.todesbaum.freemule.application.UploadFile;
import de.todesbaum.freemule.application.UploadListener;
import de.todesbaum.freemule.application.UploadRequest;
import de.todesbaum.freemule.application.UploadRequestDiscoveryListener;
import de.todesbaum.freemule.application.UploadRequestDiscoveryService;
import de.todesbaum.freemule.application.UploadRequestInsertListener;
import de.todesbaum.freemule.application.UploadRequestInsertService;
import de.todesbaum.freemule.application.UploadRequestListener;
import de.todesbaum.freemule.application.UploadRequestService;
import de.todesbaum.freemule.application.UploadService;
import de.todesbaum.freemule.main.Configuration;
import de.todesbaum.freemule.main.LoggingPreferences;
import de.todesbaum.freemule.main.Version;

/**
 * @author [email="droden@gmail.com"]David Roden[/email]
 * @version $Id:MainFrame.java 221 2006-03-06 14:46:49Z bombe $
 */
public class MainFrame extends JFrame implements ServiceListener, SharedFileListener, FilelistInsertListener, FilelistCollectorListener, DownloadListener, UploadRequestInsertListener, UploadRequestDiscoveryListener, DiscoveryListener, AnnouncementListener, ClientListener, ClipboardListener, FilelistListener, UploadListener, UploadRequestListener {

	private Configuration configuration;

	private FreeMule freeMule;

	private Action connectAction;
	private Action disconnectAction;
	private Action nodeAction;
	private Action quitAction;
	private Action preferencesAction;
	private Action sharedDirectoriesAction;
	private Action aboutAction;
	private Action clearMessagesAction;
      private Action downloadFilesAction;
      private Action uploadFilesAction;
      private Action KnownClientsAction;
      private Action SearchAction;
      private Action SharedFilesAction;
      private Action loggingAction;  

	private LoggingPreferences loggingPreferences = new LoggingPreferences();

	protected JList messageList;
	protected DefaultListModel messageListModel = new DefaultListModel();

	private StatusPanel statusPanel;
	private DownloadFilesPanel downloadFilesPanel;
	private UploadFilesPanel uploadFilesPanel;
	private KnownClientsPanel knownClientsPanel;
	private SharedFilesPanel sharedFilesPanel;
	private LoggingPreferencesPanel loggingPreferencesPanel;
	private SearchPanel searchPanel;

	@SuppressWarnings("unused")
	private ServicesPanel servicesPanel;

	public MainFrame(FreeMule freeMule) {
		super("freeMule " + Version.getVersion());

//		try {
//			// UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
//			// UIManager.setLookAndFeel("javax.swing.plaf.multi.MultiLookAndFeel");
//			// UIManager.setLookAndFeel("javax.swing.plaf.synth.SynthLookAndFeel");
//			SynthLookAndFeel synthLookAndFeel = new SynthLookAndFeel();
//			synthLookAndFeel.load(getClass().getResourceAsStream("/synth-default.xml"), getClass());
//			UIManager.setLookAndFeel(synthLookAndFeel);
//			// } catch (ClassNotFoundException e) {
//			// } catch (InstantiationException e) {
//			// } catch (IllegalAccessException e) {
//		} catch (UnsupportedLookAndFeelException e) {
//			e.printStackTrace();
//		} catch (IllegalArgumentException e) {
//			e.printStackTrace();
//		} catch (ParseException e) {
//			e.printStackTrace();
//		}

		createComponents();
		setFreeMule(freeMule);
		getContentPane().setLayout(new BorderLayout());
		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
		addWindowListener(new WindowAdapter() {

			public void windowClosing(WindowEvent windowEvent) {
				actionQuit();
			}
		});
		createActions();
		createToolbar();
		createContent();
		setJMenuBar(createMenuBar());
		pack();
		setSize(750, 550);
	}

	private JMenuBar createMenuBar() {
		JMenuBar menuBar = new JMenuBar();
		JMenu fileMenu = new JMenu("Freenet");
		menuBar.add(fileMenu);
		fileMenu.add(connectAction);
		fileMenu.add(disconnectAction);
		fileMenu.addSeparator();
		fileMenu.add(nodeAction);
		fileMenu.add(preferencesAction);
		fileMenu.add(sharedDirectoriesAction);
		fileMenu.addSeparator();
		fileMenu.add(quitAction);
		JMenu helpMenu = new JMenu("Help");
		menuBar.add(helpMenu);
		helpMenu.add(aboutAction);
		return menuBar;
	}

	private void createActions() {
		connectAction = new AbstractAction("Connect") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionConnect();
			}
		};
		connectAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/connect_established.png"));
		connectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK));
		connectAction.putValue(Action.SHORT_DESCRIPTION, "Start all services and connect to Freenet");

		disconnectAction = new AbstractAction("Disconnect") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionDisconnect();
			}
		};
		disconnectAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/connect_no.png"));
		disconnectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_MASK));
		disconnectAction.putValue(Action.SHORT_DESCRIPTION, "Stop all services and disconnect from Freenet");
		disconnectAction.setEnabled(false);

		preferencesAction = new AbstractAction("Preferences") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionPreferences();
			}
		};
		preferencesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/kservices.png"));
		preferencesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_MASK));
		preferencesAction.putValue(Action.SHORT_DESCRIPTION, "Change settings");

		sharedDirectoriesAction = new AbstractAction("Shared Directories") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionSharedDirectories();
			}
		};
		sharedDirectoriesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/preferences3.png"));
		sharedDirectoriesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
		sharedDirectoriesAction.putValue(Action.SHORT_DESCRIPTION, "Configure shared directories");

		nodeAction = new AbstractAction("Node") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		nodeAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/node3.png"));
		nodeAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
		nodeAction.putValue(Action.SHORT_DESCRIPTION, "Configure Freenet node settings");

		quitAction = new AbstractAction("Quit") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionQuit();
			}
		};
		quitAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/exit.png"));
		quitAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK));
		quitAction.putValue(Action.SHORT_DESCRIPTION, "Quit freeMule");

		aboutAction = new AbstractAction("About") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionAbout();
			}
		};
		aboutAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/about.png"));
		aboutAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
		aboutAction.putValue(Action.SHORT_DESCRIPTION, "Shows freeMule version information");

		clearMessagesAction = new AbstractAction("Clear Messages") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionClearMessages();
			}
		};
		clearMessagesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_MASK));
		clearMessagesAction.putValue(Action.SHORT_DESCRIPTION, "Clear the message window");

            
		downloadFilesAction = new AbstractAction("Downloads") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionDownloadFiles(actionEvent);
			}
		};
		downloadFilesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/downloads.png"));
		//downloadFilesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK));
		downloadFilesAction.putValue(Action.SHORT_DESCRIPTION, "Downloads");

            
		uploadFilesAction = new AbstractAction("Uploads") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		uploadFilesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/uploads.png"));
		uploadFilesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_MASK));
		uploadFilesAction.putValue(Action.SHORT_DESCRIPTION, "Uploads");

 		KnownClientsAction = new AbstractAction("Known Clients") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		KnownClientsAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/clients.png"));
		KnownClientsAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_K, InputEvent.CTRL_MASK));
		KnownClientsAction.putValue(Action.SHORT_DESCRIPTION, "Known Clients");

            
            SearchAction = new AbstractAction("Search") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		SearchAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/kview.png"));
		SearchAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
		SearchAction.putValue(Action.SHORT_DESCRIPTION, "Search");

            
            SharedFilesAction = new AbstractAction("Shared Files") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		SharedFilesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/sharedfiles32.png"));
		SharedFilesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
		SharedFilesAction.putValue(Action.SHORT_DESCRIPTION, "Shared Files");

            loggingAction = new AbstractAction("Logging") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		loggingAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/toggle_log.png"));
		loggingAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
		loggingAction.putValue(Action.SHORT_DESCRIPTION, "Logging");





	}

	private void createToolbar() {
		JToolBar toolbar = new JToolBar();
		toolbar.add(connectAction);
		toolbar.add(disconnectAction);
		toolbar.addSeparator();
        toolbar.add(KnownClientsAction);
        toolbar.add(downloadFilesAction);
        toolbar.add(uploadFilesAction); 
        toolbar.add(SearchAction);
        toolbar.add(SharedFilesAction);
        toolbar.add(loggingAction);
		toolbar.add(preferencesAction);
		toolbar.add(sharedDirectoriesAction);
        toolbar.add(nodeAction);
		toolbar.addSeparator();
		toolbar.add(quitAction);
		getContentPane().add(toolbar, BorderLayout.NORTH);
	}

	private void createComponents() {
		statusPanel = new StatusPanel(this);
		downloadFilesPanel = new DownloadFilesPanel(this);
		uploadFilesPanel = new UploadFilesPanel(this);
		searchPanel = new SearchPanel(this);
		knownClientsPanel = new KnownClientsPanel(this);
		sharedFilesPanel = new SharedFilesPanel(this);
		loggingPreferencesPanel = new LoggingPreferencesPanel(this);
		// servicesPanel = new ServicesPanel(this);
		messageList = new JList(messageListModel);
	}

	private void createContent() {
		JPanel contentPanel = new JPanel(new BorderLayout(12, 12));
		contentPanel.setBorder(new EmptyBorder(12, 12, 12, 12));

		// split pane
		JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true);
		splitPane.setDividerLocation(0.5);
		contentPanel.add(splitPane, BorderLayout.CENTER);

		// top frame: tabbed pane
		JTabbedPane topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
		splitPane.setTopComponent(topTabbed);

		// topTabbed.add("Status", statusPanel);
		topTabbed.add("Downloads", downloadFilesPanel);
		topTabbed.add("Uploads", uploadFilesPanel);
		topTabbed.add("Search", searchPanel);
		topTabbed.add("Known Clients", knownClientsPanel);
		topTabbed.add("Shared Files", sharedFilesPanel);
		topTabbed.add("Logging", loggingPreferencesPanel);
		// topTabbed.add("Service Threads", servicesPanel);

		// bottom frame: messages
		splitPane.setBottomComponent(new JScrollPane(messageList));
		splitPane.setResizeWeight(0.9);

		// input line
		JPanel keyInputPanel = new JPanel(new BorderLayout(5, 5));
		contentPanel.add(keyInputPanel, BorderLayout.PAGE_END);
		JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING, 12, 12));
		buttonPanel.setBorder(new EmptyBorder(-12, -12, -12, -12));
		buttonPanel.add(new JButton(clearMessagesAction));
		keyInputPanel.add(buttonPanel, BorderLayout.LINE_END);

		getContentPane().add(contentPanel, BorderLayout.CENTER);
	}

	/**
	 * @param configuration
	 *            The configuration to set.
	 */
	public void setConfiguration(Configuration configuration) {
		this.configuration = configuration;
		loggingPreferences = configuration.getLoggingPreferences();
		loggingPreferencesPanel.setLoggingPreferences(loggingPreferences);
	}

	/**
	 * @param freeMule
	 *            The freeMule to set.
	 */
	public void setFreeMule(FreeMule freeMule) {
		this.freeMule = freeMule;

		freeMule.addServiceListener(this);
		freeMule.getAnnouncementService().addServiceListener(this);
		freeMule.getClientService().addServiceListener(this);
		freeMule.getClipboardService().addServiceListener(this);
		freeMule.getDiscoveryService().addServiceListener(this);
		freeMule.getDownloadService().addServiceListener(this);
		freeMule.getEngineService().addServiceListener(this);
		freeMule.getFilelistCollectorService().addServiceListener(this);
		freeMule.getFilelistInsertService().addServiceListener(this);
		freeMule.getFilelistService().addServiceListener(this);
		freeMule.getSharedFileService().addServiceListener(this);
		freeMule.getUploadRequestDiscoveryService().addServiceListener(this);
		freeMule.getUploadRequestInsertService().addServiceListener(this);
		freeMule.getUploadService().addServiceListener(this);

		freeMule.getAnnouncementService().addAnnouncementListener(this);
		freeMule.getClientService().addClientListener(this);
		freeMule.getClipboardService().addClipboardListener(this);
		freeMule.getDiscoveryService().addDiscoveryListener(this);
		freeMule.getDownloadService().addDownloadListener(this);
		freeMule.getFilelistCollectorService().addFilelistCollectorListener(this);
		freeMule.getFilelistInsertService().addFilelistInsertListener(this);
		freeMule.getFilelistService().addFilelistListener(this);
		freeMule.getSharedFileService().addSharedFileListener(this);
		freeMule.getUploadRequestDiscoveryService().addUploadRequestDiscoveryListener(this);
		freeMule.getUploadRequestInsertService().addUploadRequestInsertListener(this);
		freeMule.getUploadService().addUploadListener(this);

		downloadFilesPanel.setDownloadService(freeMule.getDownloadService());
		uploadFilesPanel.setUploadService(freeMule.getUploadService());
		searchPanel.setDownloadService(freeMule.getDownloadService());
		searchPanel.setFilelistService(freeMule.getFilelistService());
		knownClientsPanel.setClientService(freeMule.getClientService());
		knownClientsPanel.setFilelistService(freeMule.getFilelistService());
		sharedFilesPanel.setSharedFileService(freeMule.getSharedFileService());
		// servicesPanel.setServices(freeMule.getServices());
	}

	public void actionConnect() {
		connectAction.setEnabled(false);
            //KnownClientsAction.setEnabled(false);
            //downloadFilesAction.setEnabled(false);
            //uploadFilesAction.setEnabled(false);
            //SearchAction.setEnabled(false);
            //SharedFilesAction.setEnabled(false);
		preferencesAction.setEnabled(false);
		sharedDirectoriesAction.setEnabled(false);
            nodeAction.setEnabled(false);
		freeMule.start();
		statusPanel.setFreeMuleStatus("Starting", "#808080");
	}

	public void actionDisconnect() {
		final FreeMule freeMuleCopy = freeMule;
		new Thread(new Runnable() {

			public void run() {
				freeMuleCopy.stop();
			}
		}).start();
		disconnectAction.setEnabled(false);
		statusPanel.setFreeMuleStatus("Stopping", "#800000");
	}

	public void actionPreferences() {
		PreferencesDialog dialog = new PreferencesDialog(this);
		dialog.setUsername(configuration.getUsername());
		dialog.setClientID(configuration.getPublicKey());
		dialog.setIncomingDirectory(configuration.getIncomingDirectory());
		dialog.setTempDirectory(configuration.getTempDirectory());
		dialog.setNetworkName(configuration.getNetworkName());
		dialog.setHopsToLive(configuration.getHopsToLive());
		dialog.setVisible(true);
		configuration.setUsername(dialog.getUsername());
		configuration.setIncomingDirectory(dialog.getIncomingDirectory());
		configuration.setTempDirectory(dialog.getTempDirectory());
		configuration.setNetworkName(dialog.getNetworkName());
		configuration.setHopsToLive(dialog.getHopsToLive());
		freeMule.setUsername(dialog.getUsername());
		freeMule.setIncomingDirectory(dialog.getIncomingDirectory());
		freeMule.setTempDirectory(dialog.getTempDirectory());
		freeMule.setNetworkName(dialog.getNetworkName());
		freeMule.setHopsToLive(dialog.getHopsToLive());
	}

	protected void actionSharedDirectories() {
		SharedDirectoriesDialog dialog = new SharedDirectoriesDialog(this);
		dialog.setSharedDirectories(configuration.getSharedDirectories());
		dialog.setVisible(true);
		configuration.setSharedDirectories(dialog.getSharedDirectories());
		freeMule.setSharedDirectories(dialog.getSharedDirectories());
	}

	public void actionNode() {
		NodeDialog nodeDialog = new NodeDialog(this);
		nodeDialog.setNodeAddress(configuration.getNodeAddress());
		nodeDialog.setNodePort(configuration.getNodePort());
		nodeDialog.setVisible(true);
		configuration.setNodeAddress(nodeDialog.getNodeAddress());
		configuration.setNodePort(nodeDialog.getNodePort());
		freeMule.setNodeAddress(nodeDialog.getNodeAddress());
		freeMule.setNodePort(nodeDialog.getNodePort());
	}

    private void actionDownloadFiles(ActionEvent actionEvent){
        if(actionEvent.getActionCommand().equals("Downloads")){
            JTabbedPane.setSelectedComponent(downloadFilesPanel);
        }
   	}

	public void actionQuit() {
		if (!connectAction.isEnabled()) {
			if (JOptionPane.showConfirmDialog(this, "The freeMule service has not yet stopped.\nDo you really want to exit?", "Exit", JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.CANCEL_OPTION) {
				return;
			}
		}
		configuration.save();
		System.exit(0);
	}

	public void actionAbout() {
		JOptionPane.showMessageDialog(this, "<html><big>freeMule " + Version.getVersion() + "</big>
by <a href=\"mailto:droden@gmail.com\">droden@gmail.com</a></html>", "About freeMule", JOptionPane.INFORMATION_MESSAGE);
	}

	protected void actionClearMessages() {
		synchronized (messageListModel) {
			messageListModel.clear();
		}
	}

	protected String getCurrentTimestamp() {
		Calendar calendar = Calendar.getInstance();
		int hour = calendar.get(Calendar.HOUR_OF_DAY);
		int minute = calendar.get(Calendar.MINUTE);
		int second = calendar.get(Calendar.SECOND);
		int millis = calendar.get(Calendar.MILLISECOND);
		StringBuffer result = new StringBuffer(12);
		if (hour < 10) {
			result.append('0');
		}
		result.append(hour).append(':');
		if (minute < 10) {
			result.append('0');
		}
		result.append(minute).append(':');
		if (second < 10) {
			result.append('0');
		}
		result.append(second).append('.');
		if (millis < 100) {
			result.append('0');
			if (millis < 10) {
				result.append('0');
			}
		}
		result.append(millis);
		return result.toString();
	}

	private void addMessageToGUI(final String message) {
		SwingUtilities.invokeLater(new Runnable() {

			public void run() {
				synchronized (messageListModel) {
					messageListModel.addElement("[" + getCurrentTimestamp() + "] " + message);
					messageList.ensureIndexIsVisible(messageListModel.getSize() - 1);
				}
			}
		});
	}

	private void addMessageToFile(String message) {
		String filename = loggingPreferences.getLogfile();
		if (filename.equals("stdout")) {
			System.out.println(message);
		} else if (filename.equals("stderr")) {
			System.err.println(message);
		} else {
			Writer writer = null;
			try {
				writer = new FileWriter(filename, true);
				writer.write(message + "\n");
			} catch (IOException e) {
			} finally {
				try {
					if (writer != null) {
						writer.close();
					}
				} catch (IOException ioe1) {

				}
			}
		}
	}

	@SuppressWarnings("unused")
	private String[] parseThrowable(Throwable throwable) {
		ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
		PrintStream bytePrinter = new PrintStream(byteOutput);
		throwable.printStackTrace(bytePrinter);
		bytePrinter.close();
		try {
			byteOutput.close();
		} catch (IOException e) {
		}
		byte[] throwableBytes = byteOutput.toByteArray();
		String throwableText = new String(throwableBytes);
		StringTokenizer throwableTokens = new StringTokenizer(throwableText, "\n");
		List<String> throwableLines = new ArrayList<String>();
		while (throwableTokens.hasMoreTokens()) {
			String throwableLine = throwableTokens.nextToken();
			throwableLines.add(throwableLine);
		}
		return throwableLines.toArray(new String[throwableLines.size()]);
	}

	private void logMessage(String serviceName, String eventName) {
		logMessage(serviceName, eventName, null);
	}

	private void logMessage(String serviceName, String eventName, String message) {
		logMessage(serviceName, eventName, message, null);
	}

	private void logMessage(String serviceName, String eventName, String message, Throwable throwable) {
		String eventMessage = serviceName + ": " + eventName;
		if (message != null) {
			eventMessage += ": " + message;
		}
		if (throwable != null) {
			eventMessage += ": " + throwable.getClass().getName() + ": " + throwable.getMessage();
		}
		eventMessage += ".";
		if (loggingPreferences.getGUILogging(serviceName, eventName)) {
			addMessageToGUI(eventMessage);
			if (throwable != null) {
				throwable.printStackTrace(System.err);
			}
		}
		if (loggingPreferences.getFileLogging(serviceName, eventName)) {
			addMessageToFile(eventMessage);
		}
	}

	//
	// INTERFACE ServiceListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void serviceStarted(Service service) {
		logMessage(service.getName(), "Service Started");
		if (service == freeMule) {
			statusPanel.setFreeMuleStatus("Running", "#00C000");
			disconnectAction.setEnabled(true);
		} else if (service == freeMule.getAnnouncementService()) {
			statusPanel.setAnnouncementStatus("Idle", "#00C000");
		} else if (service == freeMule.getFilelistInsertService()) {
			statusPanel.setFilelistInsertStatus("Idle", "#00C000");
		} else if (service == freeMule.getUploadRequestInsertService()) {
			statusPanel.setUploadRequestInsertStatus("Idle", "#00C000");
		}
	}

	/**
	 * {@inheritDoc}
	 */
	public void serviceAborted(Service service, Throwable throwable) {
		logMessage(service.getName(), "Service Aborted", "ABNORMAL TERMINATION", throwable);
		if (service.equals(freeMule)) {
			statusPanel.setFreeMuleStatus("ABORTED", "#FF0000");
			disconnectAction.setEnabled(false);
			connectAction.setEnabled(true);
                  //KnownClientsAction.setEnabled(false);
                  //downloadFilesAction.setEnabled(false);
                  //uploadFilesAction.setEnabled(false);
                  //SearchAction.setEnabled(false);
                  //SharedFilesAction.setEnabled(false);
			nodeAction.setEnabled(true);
			preferencesAction.setEnabled(true);
			sharedDirectoriesAction.setEnabled(true);
		} else if (service == freeMule.getAnnouncementService()) {
			statusPanel.setAnnouncementStatus("ABORTED", "#FF0000");
		} else if (service == freeMule.getFilelistInsertService()) {
			statusPanel.setFilelistInsertStatus("ABORTED", "#FF0000");
		} else if (service == freeMule.getUploadRequestInsertService()) {
			statusPanel.setUploadRequestInsertStatus("ABORTED", "#FF0000");
		}
	}

	/**
	 * {@inheritDoc}
	 */
	public void serviceStopped(Service service) {
		logMessage(service.getName(), "Service Stopped");
		if (service == freeMule) {
			statusPanel.setFreeMuleStatus("Stopped", "#000000");
			disconnectAction.setEnabled(false);
			connectAction.setEnabled(true);
			//KnownClientsAction.setEnabled(true);
                  //downloadFilesAction.setEnabled(true);
                  //uploadFilesAction.setEnabled(true);
			nodeAction.setEnabled(true);
			preferencesAction.setEnabled(true);
			sharedDirectoriesAction.setEnabled(true);
		} else if (service == freeMule.getAnnouncementService()) {
			statusPanel.setAnnouncementStatus("Stopped", "#000000");
		} else if (service == freeMule.getFilelistInsertService()) {
			statusPanel.setFilelistInsertStatus("Stopped", "#000000");
		} else if (service == freeMule.getUploadRequestInsertService()) {
			statusPanel.setUploadRequestInsertStatus("Stopped", "#000000");
		}
	}

	/**
	 * {@inheritDoc}
	 */
	public void serviceThreadStarted(Service service, Thread thread) {
		logMessage(service.getName(), "Thread Started", thread.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void serviceThreadUpdated(Service service, Thread thread) {
		logMessage(service.getName(), "Thread Updated", thread.getName() + ": " + ((ServiceThread) thread).getStatus());
	}

	/**
	 * {@inheritDoc}
	 */
	public void serviceThreadAborted(Service service, Thread thread, Throwable throwable) {
		logMessage(service.getName(), "Thread Aborted", "ABNORMAL TERMINATION", throwable);
	}

	/**
	 * {@inheritDoc}
	 */
	public void serviceThreadStopped(Service service, Thread thread) {
		logMessage(service.getName(), "Thread Stopped", thread.getName());
	}

	//
	// INTERFACE SharedFileListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileLoadingStarted(String filename) {
		logMessage(SharedFileService.NAME, "Loading Started");
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileLoadingFailed(String filename, Exception exception) {
		logMessage(SharedFileService.NAME, "Loading Failed", null, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileLoadingComplete(String filename) {
		logMessage(SharedFileService.NAME, "Loading Completed");
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileUnsharedFile(String filename) {
		logMessage(SharedFileService.NAME, "File Unshared", filename);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileUnsharedDirectory(String directory) {
		logMessage(SharedFileService.NAME, "Directory Unshared", directory);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileSavingStarted(String filename) {
		logMessage(SharedFileService.NAME, "Saving Started", filename);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileSavingFailed(String filename, Exception exception) {
		logMessage(SharedFileService.NAME, "Saving Failed", filename, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileSavingComplete(String filename) {
		logMessage(SharedFileService.NAME, "Saving Completed", filename);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileScanStarted() {
		logMessage(SharedFileService.NAME, "Directories Scan Started");
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileScanFailed(Exception exception) {
		logMessage(SharedFileService.NAME, "Directories Scan Failed", null, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileScanComplete() {
		logMessage(SharedFileService.NAME, "Directories Scan Completed");
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileDirectoryScanStarted(String directory) {
		logMessage(SharedFileService.NAME, "Directory Scan Started", directory);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileDirectoryScanFailed(String directory, Exception exception) {
		logMessage(SharedFileService.NAME, "Directory Scan Failed", directory, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileDirectoryScanComplete(String directory) {
		logMessage(SharedFileService.NAME, "Directory Scan Completed", directory);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileHashingStarted(String filename) {
		logMessage(SharedFileService.NAME, "Hashing Started", filename);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileHashingProgress(String filename, int blockIndex, int blockCount) {
		logMessage(SharedFileService.NAME, "Hashing Progress", filename + ": " + ((blockIndex + 1) * 100 / blockCount) + "%");
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileHashingFailed(String filename, Exception exception) {
		logMessage(SharedFileService.NAME, "Hashing Failed", filename, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileHashingComplete(String filename, String key, long filelength, long duration) {
		double rate = (filelength / 1024.0) / (duration / 1000.0);
		double roundedRate = (int) (rate * 10) / 10.0;
		logMessage(SharedFileService.NAME, "Hashing Completed", filename + " (" + (duration / 1000) + "s, " + roundedRate + " KiB/s)");
	}

	/**
	 * {@inheritDoc}
	 */
	public void sharedFileListChanged() {
		logMessage(SharedFileService.NAME, "List Changed");
	}

	//
	// INTERFACE FilelistCollectorListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void filelistCollectingStarted(Client remoteClient, String key) {
		logMessage(FilelistCollectorService.NAME, "Collecting Started", "Client: " + remoteClient.getName() + ", Key: " + key);
	}

	/**
	 * {@inheritDoc}
	 */
	public void filelistCollectingFailed(Client remoteClient, String key, Exception exception) {
		logMessage(FilelistCollectorService.NAME, "Collecting Failed", "Client: " + remoteClient.getName() + ", Key: " + key, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void filelistCollectingComplete(Client remoteClient, String key, SharedFile[] sharedFiles) {
		logMessage(FilelistCollectorService.NAME, "Collecting Completed", "Client: " + remoteClient.getName() + ", Key: " + key + ", " + sharedFiles.length + " Files");
	}

	//
	// INTERFACE FilelistInsertListener

	/**
	 * {@inheritDoc}
	 */
	public void filelistInsertStarted(String key, int index) {
		logMessage(FilelistInsertService.NAME, "Insert Started", "Version " + index);
		statusPanel.setFilelistInsertStatus("Inserting version " + index, "#808080");
	}

	/**
	 * {@inheritDoc}
	 */
	public void filelistInsertFailed(String key, int index, Exception exception) {
		logMessage(FilelistInsertService.NAME, "Insert Failed", "Version " + index, exception);
		statusPanel.setFilelistInsertStatus("Failed", "#FF0000");
	}

	/**
	 * {@inheritDoc}
	 */
	public void filelistInsertComplete(String key, int index) {
		logMessage(FilelistInsertService.NAME, "Insert Completed", "Version " + index);
		statusPanel.setFilelistInsertStatus("Idle", "#00C000");
	}

	//
	// INTERFACE DownloadListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void downloadAdded(FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Added", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void downloadRemoved(FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Removed", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void downloadStarted(FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Started", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void downloadStopped(FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Stopped", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void downloadCompleting(FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Completing", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void downloadCompletionFailed(FreenetFile download, Exception exception) {
		logMessage(DownloadService.NAME, "Download Completion Failed", download.getName(), exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void downloadComplete(FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Completed", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void manifestDownloadStarted(FreenetFile download) {
		logMessage(DownloadService.NAME, "Manifest Download Started", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void manifestDownloadFailed(FreenetFile download, Exception exception) {
		logMessage(DownloadService.NAME, "Manifest Download Failed", download.getName(), exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void manifestDownloadComplete(FreenetFile download) {
		logMessage(DownloadService.NAME, "Manifest Download Completed", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void blockDownloadStarted(FreenetFile download, int blockNumber) {
		logMessage(DownloadService.NAME, "Block Download Started", download.getName() + ", Block " + blockNumber);
	}

	/**
	 * {@inheritDoc}
	 */
	public void blockDownloadFailed(FreenetFile download, int blockNumber, Exception exception) {
		logMessage(DownloadService.NAME, "Block Download Failed", download.getName() + ", Block " + blockNumber, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void blockDownloadComplete(FreenetFile download, int blockNumber) {
		logMessage(DownloadService.NAME, "Block Download Completed", download.getName() + ", Block " + blockNumber);
	}

	/**
	 * {@inheritDoc}
	 */
	public void loadDownloadsStarted(String tempDir) {
		logMessage(DownloadService.NAME, "Downloads Loading Started", tempDir);
	}

	/**
	 * {@inheritDoc}
	 */
	public void loadDownloadsFailed(String tempDir, Exception exception) {
		logMessage(DownloadService.NAME, "Downloads Loading Failed", tempDir, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void loadDownloadsComplete(String tempDir) {
		logMessage(DownloadService.NAME, "Downloads Loading Completed", tempDir);
	}

	/**
	 * {@inheritDoc}
	 */
	public void loadDownloadStarted(String filename) {
		logMessage(DownloadService.NAME, "Download Loading Started", filename);
	}

	/**
	 * {@inheritDoc}
	 */
	public void loadDownloadFailed(String filename, Exception exception) {
		logMessage(DownloadService.NAME, "Download Loading Failed", filename, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void loadDownloadComplete(String filename, FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Loading Completed", filename + ", " + download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveDownloadsStarted(String tempDir) {
		logMessage(DownloadService.NAME, "Downloads Saving Started", tempDir);
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveDownloadsFailed(String tempDir, Exception exception) {
		logMessage(DownloadService.NAME, "Downloads Saving Failed", tempDir, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveDownloadsComplete(String tempDir) {
		logMessage(DownloadService.NAME, "Downloads Saving Completed", tempDir);
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveDownloadStarted(FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Saving Started", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveDownloadFailed(FreenetFile download, Exception exception) {
		logMessage(DownloadService.NAME, "Download Saving Failed", download.getName(), exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveDownloadComplete(FreenetFile download) {
		logMessage(DownloadService.NAME, "Download Saving Completed", download.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveBlockStarted(FreenetFile download, int blockNumber) {
		logMessage(DownloadService.NAME, "Block Saving Started", download.getName() + ", Block " + blockNumber);
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveBlockFailed(FreenetFile download, int blockNumber, Exception exception) {
		logMessage(DownloadService.NAME, "Block Saving Failed", download.getName() + ", Block " + blockNumber, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void saveBlockComplete(FreenetFile download, int blockNumber) {
		logMessage(DownloadService.NAME, "Block Saving Completed", download.getName() + ", Block " + blockNumber);
	}

	//
	// INTERFACE UploadRequestListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestInsertStarted(String key) {
		logMessage(UploadRequestInsertService.NAME, "Upload Request Started", key);
		statusPanel.setUploadRequestInsertStatus("Inserting", "#808080");
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestInsertFailed(String key, Exception exception) {
		logMessage(UploadRequestInsertService.NAME, "Upload Request Failed", key, exception);
		statusPanel.setUploadRequestInsertStatus("Failed", "#FF0000");
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestInsertComplete(String key) {
		logMessage(UploadRequestInsertService.NAME, "Upload Request Completed", key);
		statusPanel.setUploadRequestInsertStatus("Idle", "#00C000");
	}

	//
	// INTERFACE UploadRequestDiscoveryListener

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestDiscoveryStarted(String key) {
		logMessage(UploadRequestDiscoveryService.NAME, "Discovery Started", key);
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestDiscoveryFailed(String key, Exception exception) {
		logMessage(UploadRequestDiscoveryService.NAME, "Discovery Failed", key, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestDiscoveryComplete(String key, UploadRequest uploadRequest) {
		logMessage(UploadRequestDiscoveryService.NAME, "Discovery Completed", key + ", Requests: " + uploadRequest.size());
	}

	//
	// INTERFACE DiscoveryListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void discoveryStarted(String key) {
		logMessage(DiscoveryService.NAME, "Discovery Started", key);
	}

	/**
	 * {@inheritDoc}
	 */
	public void discoveryFailed(String key, Exception exception) {
		logMessage(DiscoveryService.NAME, "Discovery Failed", key, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void discoveryComplete(String key, Client remoteClient) {
		logMessage(DiscoveryService.NAME, "Discovery Completed", key + ", Client: " + remoteClient.getName() + ", Filelist Index: " + remoteClient.getFilelistIndex() + ", Timestamp: " + remoteClient.getTimestamp());
	}

	//
	// INTERFACE AnnouncementListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void announcementInsertStarted(String key) {
		logMessage(AnnouncementService.NAME, "Insert Started", key);
		statusPanel.setAnnouncementStatus("Inserting", "#808080");
	}

	/**
	 * {@inheritDoc}
	 */
	public void announcementInsertFailed(String key, Exception exception) {
		logMessage(AnnouncementService.NAME, "Insert Failed", key, exception);
		statusPanel.setAnnouncementStatus("Failed", "#FF0000");
	}

	/**
	 * {@inheritDoc}
	 */
	public void announcementInsertComplete(String key) {
		logMessage(AnnouncementService.NAME, "Insert Completed", key);
		statusPanel.setAnnouncementStatus("Idle", "#00C000");
	}

	//
	// INTERFACE ClientListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void clientAdded(Client remoteClient) {
		logMessage(ClientService.NAME, "Remote Client Added", remoteClient.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void clientUpdated(Client remoteClient) {
		logMessage(ClientService.NAME, "Remote Client Updated", remoteClient.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void clientRemoved(Client remoteClient) {
		logMessage(ClientService.NAME, "Remote Client Removed", remoteClient.getName());
	}

	//
	// INTERFACE ClipboardListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void urlFound(String url) {
		logMessage(ClipboardService.NAME, "URL Found", url);
	}

	//
	// INTERFACE FilelistListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void filelistAdded(Client remoteClient, SharedFile[] sharedFiles) {
		logMessage(FilelistService.NAME, "Filelist Added", remoteClient.getName() + ", Files: " + sharedFiles.length);

	}

	/**
	 * {@inheritDoc}
	 */
	public void filelistUpdated(Client remoteClient, SharedFile[] sharedFiles) {
		logMessage(FilelistService.NAME, "Filelist Updated", remoteClient.getName() + ", Files: " + sharedFiles.length);
	}

	/**
	 * {@inheritDoc}
	 */
	public void filelistRemoved(Client remoteClient) {
		logMessage(FilelistService.NAME, "Filelist Removed", remoteClient.getName());
	}

	//
	// INTERFACE UploadListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void uploadAdded(UploadFile uploadFile) {
		logMessage(UploadService.NAME, "Upload Added", uploadFile.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadUpdated(UploadFile uploadFile) {
		logMessage(UploadService.NAME, "Upload Updated", uploadFile.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadRemoved(UploadFile uploadFile) {
		logMessage(UploadService.NAME, "Upload Removed", uploadFile.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadComplete(UploadFile uploadFile) {
		logMessage(UploadService.NAME, "Upload Completed", uploadFile.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void blockUploadStarted(UploadFile uploadFile, int blockIndex) {
		logMessage(UploadService.NAME, "Block Upload Started", uploadFile.getName() + ", Block " + blockIndex);
	}

	/**
	 * {@inheritDoc}
	 */
	public void blockUploadFailed(UploadFile uploadFile, int blockIndex, Exception exception) {
		logMessage(UploadService.NAME, "Block Upload Failed", uploadFile.getName() + ", Block " + blockIndex, exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void blockUploadComplete(UploadFile uploadFile, int blockIndex) {
		logMessage(UploadService.NAME, "Block Upload Completed", uploadFile.getName() + ", Block " + blockIndex);
	}

	/**
	 * {@inheritDoc}
	 */
	public void manifestUploadStarted(UploadFile uploadFile) {
		logMessage(UploadService.NAME, "Manifest Upload Started", uploadFile.getName());
	}

	/**
	 * {@inheritDoc}
	 */
	public void manifestUploadFailed(UploadFile uploadFile, Exception exception) {
		logMessage(UploadService.NAME, "Manifest Upload Failed", uploadFile.getName(), exception);
	}

	/**
	 * {@inheritDoc}
	 */
	public void manifestUploadComplete(UploadFile uploadFile) {
		logMessage(UploadService.NAME, "Manifest Upload Completed", uploadFile.getName());
	}

	//
	// INTERFACE UploadRequestListener
	//

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestAdded(Client remoteClient, UploadRequest uploadRequest) {
		logMessage(UploadRequestService.NAME, "Request Added", remoteClient.getName() + ", Files: " + uploadRequest.size());
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestUpdated(Client remoteClient, UploadRequest uploadRequest) {
		logMessage(UploadRequestService.NAME, "Request Updated", remoteClient.getName() + ", Files: " + uploadRequest.size());
	}

	/**
	 * {@inheritDoc}
	 */
	public void uploadRequestRemoved(Client remoteClient, UploadRequest uploadRequest) {
		logMessage(UploadRequestService.NAME, "Request Removed", remoteClient.getName() + ", Files: " + uploadRequest.size());
	}

}

und diese Dateien befinden sich im GUI verzeichnis:

DirectoryTableModel.java
DownloadFilesPanel.java
DownloadFilesPropertiesDialog.java
DownloadFilesTableModel.java
FileProgressBar.java
IconLoader.java
KnownClientsPanel.java
KnownClientsTableModel.java
LineLayout.java
LoggingPreferencesPanel.java
MainFrame.java
NodeDialog.java
OkayCancelDialog.java
PreferencesDialog.java
SearchPanel.java
SearchResultCommentDialog.java
SearchResultCommentTableModel.java
SearchResultFilenameDialog.java
SearchResultFilenameTableModel.java
SearchResultPanel.java
SearchResultTableModel.java
ServicesPanel.java
ServicesTreeModel.java
SharedDirectoriesDialog.java
SharedDirectoriesModel.java
SharedFilePropertiesDialog.java
SharedFilesPanel.java
SharedFileTableModel.java
StatusPanel.java
TableSorter.java
UploadFilesPanel.java
UploadFilesTableModel.java
 
G

Guest

Gast
manchmal ist die lösung ziemlich einfach.
weil man eingiges übersieht!


du kennst schon meine lösung?

bis jetzt die Referenz nicht gefunden.
 
G

Guest

Gast
ist dieser weg richtig?

Code:
 private void actionDownloadFiles(ActionEvent actionEvent){
        if(actionEvent.getActionCommand().equals("Downloads")){
            DownloadFilesDialog downloadfilesDialog = new DownloadFilesDialog(this);
            downloadfilesDialog.setSelectedComponent(downloadFilesPanel);
        }
   	}

ich habs bei den anderen pop up dialogen gesehen!
aber ist glaub eher falsch lass sich sowieso nicht kompilieren.


ich glaube die werden nur bei pop up dialogen benutzt oder?

Code:
DownloadFilesDialog downloadfilesDialog = new DownloadFilesDialog(this);
 

André Uhres

Top Contributor
Anonymous hat gesagt.:
manchmal ist die lösung ziemlich einfach.
weil man eingiges übersieht!
du kennst schon meine lösung?
bis jetzt die Referenz nicht gefunden.
Um ehrlich zu sein, ich hab gar nicht danach gesucht.
Hab keine Lust in über 1400 Codezeilen zu wühlen.
[schild=11 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]KSKB[/schild]
 
G

Guest

Gast
da stimm ich dir zu!

meins nächster versuch :

Code:
      private void actionDownloadFiles(ActionEvent actionEvent){
        if(actionEvent.getActionCommand().equals("Downloads")){
            topTabbed.setSelectedComponent(downloadFilesPanel);
        }
   	}

falsch???

probiere weiter........
 
G

Guest

Gast
ok nun diese noch:

aber das bringt auch nichts:

Code:
      private void actionDownloadFiles(ActionEvent actionEvent){
        if(actionEvent.getActionCommand().equals("Downloads")){
            setDownloadService.setSelectedComponent(downloadFilesPanel);
        }
   	}
 
G

Guest

Gast
André Uhres hat gesagt.:
jTabbedPane1 muss durch deine Referenz auf deine JTabbedPane ersetzt werden.
JTabbedPane ist keine Referenz sondern eine Klasse.

hi ist jett dann meine Referenz topTabbed? zu JTabbedPane ?


Code:
// top frame: tabbed pane
		JTabbedPane topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
            ImageIcon down = createImageIcon("/img/down2.png");
            ImageIcon up = createImageIcon("/img/up.png");
		ImageIcon search = createImageIcon("/img/viewmag.png");
		ImageIcon clients = createImageIcon("/img/applications-internet.png");
            ImageIcon sharedfiles = createImageIcon("/img/folder_html.png");
            ImageIcon logg = createImageIcon("/img/toggle_log.png");

		splitPane.setTopComponent(topTabbed);

		// topTabbed.add("Status", statusPanel);
		topTabbed.addTab("Downloads", down, downloadFilesPanel);
		topTabbed.addTab("Uploads", up, uploadFilesPanel);
		topTabbed.addTab("Search", search, searchPanel);
		topTabbed.addTab("Known Clients", clients, knownClientsPanel);
		topTabbed.addTab("Shared Files", sharedfiles, sharedFilesPanel);
		topTabbed.addTab("Logging", logg, loggingPreferencesPanel);
		// topTabbed.add("Service Threads", servicesPanel);

aber mit topTabbed bekomme ich trotzdem fehler!
 

André Uhres

Top Contributor
Anonymous hat gesagt.:
... ist jett dann meine Referenz topTabbed? zu JTabbedPane ?
Code:
		JTabbedPane topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
...
Das sieht schon besser aus. Wenn topTabbed aber nur lokal in der Methode definiert ist,
dann nützt die Referenz nix in einer anderen Methode. Du musst sie als Instanzvariable definieren. Beispiel:
Code:
class MeineKlasse{
   private JTabbedPane topTabbed;//<----Instanzvariable
   public MeineKlasse(){
      //JTabbedPane topTabbed = new JTabbedPane(...); //falsch
      topTabbed = new JTabbedPane(...); //richtig
   }
   private void Methode1(){
      JTabbedPane topTabbed;//<--- lokale Variable
      topTabbed.setSelectedIndex(...);//<---greift auf lokale Variable zu, falsch
...
   }
   private void Methode2(){
      topTabbed.setSelectedIndex(...);//<-- greift auf Instanzvariable zu, richtig
...
   }
...
}
 
G

Guest

Gast
wenn ich es verstanden habe ist es so richtig?

Code:
	// top frame: tabbed pane
	//JTabbedPane topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
	splitPane.setTopComponent(topTabbed);
        ImageIcon down = createImageIcon("/img/down2.png");
        ImageIcon up = createImageIcon("/img/up.png");
	ImageIcon search = createImageIcon("/img/xmag.png");
	ImageIcon clients = createImageIcon("/img/www.png");
        ImageIcon sharedfiles = createImageIcon("/img/folder_html.png");
        ImageIcon logg = createImageIcon("/img/toggle_log.png");
        
class MeineKlasse{
   private JTabbedPane topTabbed;//<----Instanzvariable
   public MeineKlasse(){
      //JTabbedPane topTabbed = new JTabbedPane(...); //falsch
      topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); //richtig
   } 
   
   private void actionDownloadFiles(ActionEvent actionEvent){
       	if(actionEvent.getActionCommand().equals("Downloads")){
           	topTabbed.setSelectedIndex(downloadFilesPanel);
      	}
  }	
  }	

		// topTabbed.add("Status", statusPanel);
		topTabbed.addTab("Downloads", down, downloadFilesPanel);
		topTabbed.addTab("Uploads", up, uploadFilesPanel);
		topTabbed.addTab("Search", search, searchPanel);
		topTabbed.addTab("Known Clients", clients, knownClientsPanel);
		topTabbed.addTab("Shared Files", sharedfiles, sharedFilesPanel);
		topTabbed.addTab("Logging", logg, loggingPreferencesPanel);
		// topTabbed.add("Service Threads", servicesPanel);
 
G

Guest

Gast
habe nun einige fehler wegen den toptabbed!

ui\MainFrame.java:279: cannot find symbol
[javac] symbol: method actionDownloadFiles(java.awt.event.ActionEvent)
[javac] actionDownloadFiles(actionEvent);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
ui\MainFrame.java:388: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] splitPane.setTopComponent(topTabbed);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
ui\MainFrame.java:405: setSelectedIndex(int) in javax.swing.JTabbedPane cannot b
e applied to (de.todesbaum.freemule.gui.DownloadFilesPanel)
[javac] topTabbed.setSelectedIndex(downloadFilesPanel);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
ui\MainFrame.java:411: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Downloads", down, downloadFilesPanel);

[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
ui\MainFrame.java:412: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Uploads", up, uploadFilesPanel);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
ui\MainFrame.java:413: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Search", search, searchPanel);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
ui\MainFrame.java:414: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Known Clients", clients, knownClientsP
anel);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
ui\MainFrame.java:415: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Shared Files", sharedfiles, sharedFile
sPanel);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
ui\MainFrame.java:416: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Logging", logg, loggingPreferencesPane
 
G

Guest

Gast
ok nun hab ich es ander gemacht!

Code:
	private void createContent() {
		JPanel contentPanel = new JPanel(new BorderLayout(12, 12));
		contentPanel.setBorder(new EmptyBorder(12, 12, 12, 12));

		// split pane
		JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true);
		splitPane.setDividerLocation(0.5);
		contentPanel.add(splitPane, BorderLayout.CENTER);

		// top frame: tabbed pane
		//JTabbedPane topTabbed = new JTabbedPane(SwingConstants.TOP,   JTabbedPane.SCROLL_TAB_LAYOUT);
		topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); //richti
		splitPane.setTopComponent(topTabbed);
        ImageIcon down = createImageIcon("/img/down2.png");
        ImageIcon up = createImageIcon("/img/up.png");
		ImageIcon search = createImageIcon("/img/xmag.png");
		ImageIcon clients = createImageIcon("/img/www.png");
        ImageIcon sharedfiles = createImageIcon("/img/folder_html.png");
        ImageIcon logg = createImageIcon("/img/toggle_log.png");
        

   private void actionDownloadFiles(ActionEvent actionEvent){
       	if(actionEvent.getActionCommand().equals("Downloads")){
           	topTabbed.setSelectedIndex(downloadFilesPanel);
      	}
   }	
	

		// topTabbed.add("Status", statusPanel);
		topTabbed.addTab("Downloads", down, downloadFilesPanel);
		topTabbed.addTab("Uploads", up, uploadFilesPanel);
		topTabbed.addTab("Search", search, searchPanel);
		topTabbed.addTab("Known Clients", clients, knownClientsPanel);
		topTabbed.addTab("Shared Files", sharedfiles, sharedFilesPanel);
		topTabbed.addTab("Logging", logg, loggingPreferencesPanel);
		// topTabbed.add("Service Threads", servicesPanel);

		// bottom frame: messages
		splitPane.setBottomComponent(new JScrollPane(messageList));
		splitPane.setResizeWeight(0.9);
.....

private void actionDownloadFiles(ActionEvent actionEvent){
if(actionEvent.getActionCommand().equals("Downloads")){
topTabbed.setSelectedIndex(downloadFilesPanel);
}
}


dei fhelr kommen immer noch wegen topTabbed:


\MainFrame.java:388: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedP
e.SCROLL_TAB_LAYOUT); //richti
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
\MainFrame.java:389: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] splitPane.setTopComponent(topTabbed);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
\MainFrame.java:400: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Downloads", down, downloadFilesPanel);

[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
\MainFrame.java:401: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Uploads", up, uploadFilesPanel);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
\MainFrame.java:402: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Search", search, searchPanel);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
\MainFrame.java:403: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Known Clients", clients, knownClientsP
el);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
\MainFrame.java:404: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Shared Files", sharedfiles, sharedFile
anel);
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
\MainFrame.java:405: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.addTab("Logging", logg, loggingPreferencesPane
;
[javac] ^
[javac] E:\freeMule\freeMule-0.2.1-src\src\de\todesbaum\freemule\g
\MainFrame.java:558: cannot find symbol
[javac] symbol : variable topTabbed
[javac] location: class de.todesbaum.freemule.gui.MainFrame
[javac] topTabbed.setSelectedIndex(downloadFilesPanel);
[javac] ^
[javac] 9 errors
 
G

Guest

Gast
nun hier:

Code:
public class MainFrame extends JFrame implements ServiceListener, SharedFileListener, FilelistInsertListener, FilelistCollectorListener, DownloadListener, UploadRequestInsertListener, UploadRequestDiscoveryListener, DiscoveryListener, AnnouncementListener, ClientListener, ClipboardListener, FilelistListener, UploadListener, UploadRequestListener {

	private Configuration configuration;

	private FreeMule freeMule;
	
	private JTabbedPane topTabbed;

	private Action connectAction;
	private Action disconnectAction;
	private Action nodeAction;
	private Action quitAction;
	private Action preferencesAction;
	private Action sharedDirectoriesAction;
	private Action aboutAction;
	private Action clearMessagesAction;
      private Action downloadFilesAction;
      private Action uploadFilesAction;
      private Action KnownClientsAction;
      private Action SearchAction;
      private Action SharedFilesAction;
      private Action loggingAction;  

	private LoggingPreferences loggingPreferences = new LoggingPreferences();

	protected JList messageList;
	protected DefaultListModel messageListModel = new DefaultListModel();

	private StatusPanel statusPanel;
	private DownloadFilesPanel downloadFilesPanel;
	private UploadFilesPanel uploadFilesPanel;
	private KnownClientsPanel knownClientsPanel;
	private SharedFilesPanel sharedFilesPanel;
	private LoggingPreferencesPanel loggingPreferencesPanel;
	private SearchPanel searchPanel;

Code:
	private void createContent() {
		JPanel contentPanel = new JPanel(new BorderLayout(12, 12));
		contentPanel.setBorder(new EmptyBorder(12, 12, 12, 12));

		// split pane
		JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true);
		splitPane.setDividerLocation(0.5);
		contentPanel.add(splitPane, BorderLayout.CENTER);

		// top frame: tabbed pane
		//JTabbedPane topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
	
		topTabbed = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); //richti
		splitPane.setTopComponent(topTabbed);
        ImageIcon down = createImageIcon("/img/down2.png");
        ImageIcon up = createImageIcon("/img/up.png");
		ImageIcon search = createImageIcon("/img/xmag.png");
		ImageIcon clients = createImageIcon("/img/www.png");
        ImageIcon sharedfiles = createImageIcon("/img/folder_html.png");
        ImageIcon logg = createImageIcon("/img/toggle_log.png");
        	
	

		// topTabbed.add("Status", statusPanel);
		topTabbed.addTab("Downloads", down, downloadFilesPanel);
		topTabbed.addTab("Uploads", up, uploadFilesPanel);
		topTabbed.addTab("Search", search, searchPanel);
		topTabbed.addTab("Known Clients", clients, knownClientsPanel);
		topTabbed.addTab("Shared Files", sharedfiles, sharedFilesPanel);
		topTabbed.addTab("Logging", logg, loggingPreferencesPanel);
		// topTabbed.add("Service Threads", servicesPanel);

......

	private void actionDownloadFiles(ActionEvent actionEvent){
       	if(actionEvent.getActionCommand().equals("Downloads")){
           	topTabbed.setSelectedIndex(downloadFilesPanel);
      	}
   	}

ui\MainFrame.java:561: setSelectedIndex(int) in javax.swing.JTabbedPane cannot b
e applied to (de.todesbaum.freemule.gui.DownloadFilesPanel)
[javac] topTabbed.setSelectedIndex(downloadFilesPanel);
[javac] ^
[javac] 1 error
 
G

Guest

Gast
also wenn ich statt setSelectedIndex setSelectedComponent nehme habe ich kein fehler beim kopilieren aber
das toolbar button öffnet das dialog DownloadFilesPanel nicht

Code:
private void actionDownloadFiles(ActionEvent actionEvent){
          if(actionEvent.getActionCommand().equals("Downloads")){
              topTabbed.setSelectedIndex(downloadFilesPanel);
         }
      }


private void actionDownloadFiles(ActionEvent actionEvent){
if(actionEvent.getActionCommand().equals("Downloads")){
topTabbed.setSelectedComponent(downloadFilesPanel);
}
}


was nun?

oder habe ich was wieder vergessen?

was muss ich nun nehmen?

topTabbed.setSelectedIndex(downloadFilesPanel);
oder
topTabbed.setSelectedComponent(downloadFilesPanel);
 
G

Guest

Gast
ja was muss ich nun nehmen das

setSelectedIndex oder
setSelectedComponent

also das setSelectedComponent bringt nichts!

und mit dem anderen habe ich ein fehler beim kompilieren!

ich kann drücken wie ich will es öffnet sich kein dialog im gui zu dem toolbarbutton!
 
G

Guest

Gast
da finde ich nichts was ich bräuchte!?

ich brauch ein beispiel wo ein toolbarbutton im gui den dazugehörigen dialog öffnet!

oder gibts es irgendwo eine java anwendung die toolbarbutton benutzt um seine dialoge anzuzeigen(kein popup dialoge)?

will ins source mal schauen wie die es gemacht haben!
ich finde nur andere beispiele wie alles über pop up dialoge usw!
 

MPW

Top Contributor
Eine Referenz ist die "Variable" mit der du dein TabedPane1 ansprichst.
Was heisst du hast die nicht gefunden? In deinem Code solltest du schon wissen, wie die heisst....besser als jeder andere.
 
G

Guest

Gast
ich habe die Referenz gefunden aber klappt nicht!
das toolbarbuttons öffnet das gewünschte dialogs nicht!

hast alle postings lesen von mir?

mti hats geklappt ohne kompilier fehler aber es geht nicht wenn ich auf das toolbar buttons klicke!
Code:
private void actionDownloadFiles(ActionEvent actionEvent){
if(actionEvent.getActionCommand().equals("Downloads")){
topTabbed.setSelectedComponent(downloadFilesPanel);
}
}

und mit das hier:

Code:
private void actionDownloadFiles(ActionEvent actionEvent){
          if(actionEvent.getActionCommand().equals("Downloads")){
              topTabbed.setSelectedIndex(downloadFilesPanel);
         }
      }

habe ich ein 1 fehler beim kompilieren weis also nicht wenn es fehlerfrei wäre ob es das dialog anzeigt.
Code:
ui\MainFrame.java:561: setSelectedIndex(int) in javax.swing.JTabbedPane cannot b
e applied to (de.todesbaum.freemule.gui.DownloadFilesPanel)
[javac] topTabbed.setSelectedIndex(downloadFilesPanel);
[javac] ^
[javac] 1 error
 

André Uhres

Top Contributor
Anonymous hat gesagt.:
... wo ein toolbarbutton im gui den dazugehörigen dialog öffnet!...(kein popup dialoge)?
Selektier im actionPerformed einfach den Tab.

Du machst ja kein KSKB, warum nicht? Du musst von einem kurzen Beispiel ausgehen und es nach und nach erweitern.
Es bringt nichts in einem Code rumzufummeln der auf wackeligen Füssen steht.
Vergiss deinen Code einmal ganz und fang neu an.
Hier hab ich ein KSKB extra für dich gemacht.
Kopier es so wie es ist und erweitere es nach und nach:

Code:
/*
 * BasicDemo.java
 *
 * Created on 29 March 2006, 15:36
 */

//package schnipsel;
public class BasicDemo extends javax.swing.JFrame {
    
    /** Creates new form BasicDemo */
    public BasicDemo() {
        jToolBar1 = new javax.swing.JToolBar();
        jButton1 = new javax.swing.JButton();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jButton1.setText("Tab2");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jToolBar1.add(jButton1);

        getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);

        jTabbedPane1.addTab("tab1", jPanel1);

        jTabbedPane1.addTab("tab2", jPanel2);

        getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER);

        pack();
    }
   
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        jTabbedPane1.setSelectedComponent(jPanel2);
    }
    public static void main(String args[]) {
                new BasicDemo().setVisible(true);
    }
    private javax.swing.JButton jButton1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JToolBar jToolBar1;
}
 
G

Guest

Gast
ja so etwa wollte ich es ja auch haben!
danke das war eine gute idee!
basic9kr.jpg

wenn ich sowiet gekommen wäre wollte ich dann die tabs komplett deaktivieren!
 
G

Guest

Gast
dann muss ich das ganze vom mainframe hier einbauen... etwas aufwending..

also ein neues mainframe.java erstellen
 
G

Guest

Gast
sorry ich habe vorher etwas vergessen zu sagen...

wie kann ich das ganz ohne die tabs machen?
anzeigen der dialoge?
ich will ja für immer von den tabs weg! nur noch toolbar !
den inhalt wo die tabs anzeigen mit dem toolbar button im gui anzeigen lassen.

ich will keine tabs ...
 
G

Guest

Gast
ok nun hatte ich mit mein jetzigen maineframe.java keine probs die toolbar buttons hinzufügen!
ich habe ja letzte woche 6 Toolbar buttons hinzugefügt ja ohne eine function!

mainframe1qt.jpg



Es ist einiges aufwendiger wenn man alles neumachen muss:
nach dem beispiel von BasicDemo
basicdemo3nt.jpg



Es wäre für mich einfacher wenn die 6 toolbar buttons die ich schon letzte woche in mainframe.java hinzugefügt
habe eine function hätten damit es die die dialoge im gui anzeigt!
weil ich brauche keine tabs.

hier mein BasicDemo.java
Code:
/*
* BasicDemo.java
*
* Created on 29 March 2006, 15:36
*/

//package schnipsel;
import javax.swing.ImageIcon;

public class BasicDemo extends javax.swing.JFrame {
   
    /** Creates new form BasicDemo */
    public BasicDemo() {
        jToolBar1 = new javax.swing.JToolBar();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jButton6 = new javax.swing.JButton();
        jButton7 = new javax.swing.JButton();
        jButton8 = new javax.swing.JButton();
        jButton9 = new javax.swing.JButton();
        jButton10 = new javax.swing.JButton();
        jButton11 = new javax.swing.JButton();
        jButton12 = new javax.swing.JButton();
        jButton13 = new javax.swing.JButton();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();
        
        
        ImageIcon connect = createImageIcon("/img/connect_established.png");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jButton1.setText("Tab2");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        
        jButton2.setText("Connect");
        //jbutton2.setIcon ( createImageIcon ( "/img/connect_established.png" ) );
        jButton2.setIcon(connect);
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        
        jButton3.setText("Disconnect");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        
        jButton4.setText("Clients");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        
        jButton5.setText("Downloads");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        
        jButton6.setText("Uploads");
        jButton6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        
        jButton7.setText("SharedFiles");
        jButton7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        
        jButton8.setText("Logging");
        jButton8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jToolBar1.add(jButton1);
        jToolBar1.add(jButton2);
        jToolBar1.add(jButton3);
        jToolBar1.add(jButton4);
        jToolBar1.add(jButton5);
        jToolBar1.add(jButton6);
        jToolBar1.add(jButton7);
        jToolBar1.add(jButton8);
        jToolBar1.add(jButton9);
        jToolBar1.add(jButton10);
        jToolBar1.add(jButton11);
        jToolBar1.add(jButton12);
        jToolBar1.add(jButton13);

        getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);

        jTabbedPane1.addTab("tab1", jPanel1);

        jTabbedPane1.addTab("tab2", jPanel2);

        getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER);

        pack();
    }
   
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        jTabbedPane1.setSelectedComponent(jPanel2);
    }
    public static void main(String args[]) {
                new BasicDemo().setVisible(true);
    }
    
    /** Returns an ImageIcon, or null if the path was invalid. */
    	protected static ImageIcon createImageIcon(String path) {
        	java.net.URL imgURL = BasicDemo.class.getResource(path);
        	if (imgURL != null) {
            	return new ImageIcon(imgURL);
        	} else {
            	System.err.println("Couldn't find file: " + path);
            	return null;
        	}
    	}


    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JButton jButton6;
    private javax.swing.JButton jButton7;
    private javax.swing.JButton jButton8;
    private javax.swing.JButton jButton9;
    private javax.swing.JButton jButton10;
    private javax.swing.JButton jButton11;
    private javax.swing.JButton jButton12;
    private javax.swing.JButton jButton13;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JToolBar jToolBar1;
 

André Uhres

Top Contributor
Also gut, nochmal von vorne. Wenn du keine Tabs willst,
dann darfst du kein JTabbedPane nehmen. Du musst ein JPanel mit CardLayout nehmen:
Code:
//package schnipsel;
/*
 * BasicDemo_2.java
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BasicDemo_2 extends JFrame {
    public BasicDemo_2() {
        super("Basic Demo 2");
        setSize(400,300);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        
        //JComponents erzeugen:
        toolBar = new JToolBar();
        panel1Btn = new JButton("Panel 1");
        panel2Btn = new JButton("Panel 2");
        mainPanel = new JPanel();
        panel1 = new JPanel();
        panel2 = new JPanel();
        
        //Layout:
        toolBar.add(panel1Btn);
        toolBar.add(panel2Btn);
        getContentPane().add(toolBar, BorderLayout.NORTH);
        cardLayout = new CardLayout();
        mainPanel.setLayout(cardLayout);
        panel1.setBorder(BorderFactory.createTitledBorder("Panel 1"));
        mainPanel.add(panel1, NUMMER1);
        panel2.setBorder(BorderFactory.createTitledBorder("Panel 2"));
        mainPanel.add(panel2, NUMMER2);
        getContentPane().add(mainPanel, BorderLayout.CENTER);
        
        //Listeners:
        panel1Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel1BtnActionPerformed(evt);
            }
        });
        panel2Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel2BtnActionPerformed(evt);
            }
        });
    }
    private void panel1BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER1);
    }
    private void panel2BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER2);
    }
    public static void main(String args[]) {new BasicDemo_2().setVisible(true);}
    private JToolBar toolBar;
    private JPanel mainPanel;
    private CardLayout cardLayout;
    private JButton panel1Btn, panel2Btn;
    private JPanel panel1, panel2;
    private final String NUMMER1 = "1";
    private final String NUMMER2 = "2";
}
 
G

Guest

Gast
ich kann ohne probleme die actions für die pop up fucntione ohne probleme hier ins neue gui übernehemen?

Code:
private Action connectAction;
	private Action disconnectAction;
	private Action nodeAction;
	private Action quitAction;
	private Action preferencesAction;
	private Action sharedDirectoriesAction;
	private Action aboutAction;
	private Action clearMessagesAction;

private void createActions() {
		connectAction = new AbstractAction("Connect") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionConnect();
			}
		};
		connectAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/connect_established.png"));
		connectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK));
		connectAction.putValue(Action.SHORT_DESCRIPTION, "Start all services and connect to Freenet");

		disconnectAction = new AbstractAction("Disconnect") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionDisconnect();
			}
		};
		disconnectAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/connect_no.png"));
		disconnectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_MASK));
		disconnectAction.putValue(Action.SHORT_DESCRIPTION, "Stop all services and disconnect from Freenet");
		disconnectAction.setEnabled(false);

		preferencesAction = new AbstractAction("Preferences") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionPreferences();
			}
		};
		preferencesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/kservices.png"));
		preferencesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_MASK));
		preferencesAction.putValue(Action.SHORT_DESCRIPTION, "Change settings");

		sharedDirectoriesAction = new AbstractAction("Shared Directories") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionSharedDirectories();
			}
		};
		sharedDirectoriesAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/preferences3.png"));
		sharedDirectoriesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
		sharedDirectoriesAction.putValue(Action.SHORT_DESCRIPTION, "Configure shared directories");

		nodeAction = new AbstractAction("Node") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionNode();
			}
		};
		nodeAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/node3.png"));
		nodeAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
		nodeAction.putValue(Action.SHORT_DESCRIPTION, "Configure Freenet node settings");

		quitAction = new AbstractAction("Quit") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionQuit();
			}
		};
		quitAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/exit.png"));
		quitAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK));
		quitAction.putValue(Action.SHORT_DESCRIPTION, "Quit freeMule");

		aboutAction = new AbstractAction("About") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionAbout();
			}
		};
		aboutAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/about.png"));
		aboutAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
		aboutAction.putValue(Action.SHORT_DESCRIPTION, "Shows freeMule version information");

		clearMessagesAction = new AbstractAction("Clear Messages") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionClearMessages();
			}
		};
		clearMessagesAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_MASK));
		clearMessagesAction.putValue(Action.SHORT_DESCRIPTION, "Clear the message window");

ublic void actionDisconnect() {
		final FreeMule freeMuleCopy = freeMule;
		new Thread(new Runnable() {

			public void run() {
				freeMuleCopy.stop();
			}
		}).start();
		disconnectAction.setEnabled(false);
		statusPanel.setFreeMuleStatus("Stopping", "#800000");
	}

	public void actionPreferences() {
		PreferencesDialog dialog = new PreferencesDialog(this);
		dialog.setUsername(configuration.getUsername());
		dialog.setClientID(configuration.getPublicKey());
		dialog.setIncomingDirectory(configuration.getIncomingDirectory());
		dialog.setTempDirectory(configuration.getTempDirectory());
		dialog.setNetworkName(configuration.getNetworkName());
		dialog.setHopsToLive(configuration.getHopsToLive());
		dialog.setVisible(true);
		configuration.setUsername(dialog.getUsername());
		configuration.setIncomingDirectory(dialog.getIncomingDirectory());
		configuration.setTempDirectory(dialog.getTempDirectory());
		configuration.setNetworkName(dialog.getNetworkName());
		configuration.setHopsToLive(dialog.getHopsToLive());
		freeMule.setUsername(dialog.getUsername());
		freeMule.setIncomingDirectory(dialog.getIncomingDirectory());
		freeMule.setTempDirectory(dialog.getTempDirectory());
		freeMule.setNetworkName(dialog.getNetworkName());
		freeMule.setHopsToLive(dialog.getHopsToLive());
	}

	protected void actionSharedDirectories() {
		SharedDirectoriesDialog dialog = new SharedDirectoriesDialog(this);
		dialog.setSharedDirectories(configuration.getSharedDirectories());
		dialog.setVisible(true);
		configuration.setSharedDirectories(dialog.getSharedDirectories());
		freeMule.setSharedDirectories(dialog.getSharedDirectories());

public void actionNode() {
		NodeDialog nodeDialog = new NodeDialog(this);
		nodeDialog.setNodeAddress(configuration.getNodeAddress());
		nodeDialog.setNodePort(configuration.getNodePort());
		nodeDialog.setVisible(true);
		configuration.setNodeAddress(nodeDialog.getNodeAddress());
		configuration.setNodePort(nodeDialog.getNodePort());
		freeMule.setNodeAddress(nodeDialog.getNodeAddress());
		freeMule.setNodePort(nodeDialog.getNodePort());
	}


	public void actionQuit() {
		if (!connectAction.isEnabled()) {
			if (JOptionPane.showConfirmDialog(this, "The freeMule service has not yet stopped.\nDo you really want to exit?", "Exit", JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.CANCEL_OPTION) {
				return;
			}
		}
		configuration.save();
		System.exit(0);
	}

	public void actionAbout() {
		JOptionPane.showMessageDialog(this, "<html><big>freeMule " + Version.getVersion() + "</big>
by <a href=\"mailto:droden@gmail.com\">droden@gmail.com</a></html>", "About freeMule", JOptionPane.INFORMATION_MESSAGE);
	}

	protected void actionClearMessages() {
		synchronized (messageListModel) {
			messageListModel.clear();
		}
	}
 

André Uhres

Top Contributor
Anonymous hat gesagt.:
ich kann ohne probleme die actions für die pop up fucntione
ohne probleme hier ins neue gui übernehemen?
So kommen wir nie auf einen grünen Zweig.
Noch mal: vergiss bitte erstmal deinen Code.

Bau in BasicDemo_2 nach und nach, nicht alles auf einmal, weitere Funktionen ein.
Probier nach jeder Erweiterung ob noch alles funktioniert.
Sonst hängen wir hier noch jahrelang.
 
G

Guest

Gast
das stimm ich dir zu wenn ich dinge von drüben übernehmen ins neue blick gar nicht mehr durch!

und für action toolbar buttons muss ich auch new JButton machen?
sind noch 6 buttons die noch fehlen!
auf die gleiche weise oder anders via
welche die als pop up erscheinen und welche nur ne function haben connect/disconnect/close!

wie macht man die icons für jbutton bei diesem source bestimmen?
habe nachgeschaut hat aber hier nicht geklappt.


Code:
//package schnipsel;
/*
* BasicDemo_2.java
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;



public class BasicDemo_2 extends JFrame {
    public BasicDemo_2() {
        super("Basic Demo 2");
        setSize(750, 550);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

       
        //JComponents erzeugen:
        toolBar = new JToolBar();
        panel1Btn = new JButton("");
        panel2Btn = new JButton("");
        panel3Btn = new JButton("");
        panel4Btn = new JButton("");
        panel5Btn = new JButton("");
        panel6Btn = new JButton("");
        mainPanel = new JPanel();
        panel1 = new JPanel();
        panel2 = new JPanel();
        panel3 = new JPanel();
        panel4 = new JPanel();
        panel5 = new JPanel();
        panel6 = new JPanel();
        
        ImageIcon connect = createImageIcon("/img/connect_established.png");
        
       
        //Layout:
        toolBar.add(panel1Btn);
        toolBar.add(panel2Btn);
        toolBar.add(panel3Btn);
        toolBar.add(panel4Btn);
        toolBar.add(panel5Btn);
        toolBar.add(panel6Btn);
        getContentPane().add(toolBar, BorderLayout.NORTH);
        cardLayout = new CardLayout();
        mainPanel.setLayout(cardLayout);
        
        panel1.setBorder(BorderFactory.createTitledBorder("Clients"));
        mainPanel.add(panel1, NUMMER1);
        panel2.setBorder(BorderFactory.createTitledBorder("Downloads"));
        mainPanel.add(panel2, NUMMER2);
        panel3.setBorder(BorderFactory.createTitledBorder("Uploads"));
        mainPanel.add(panel3, NUMMER3);
        panel4.setBorder(BorderFactory.createTitledBorder("Search"));
        mainPanel.add(panel4, NUMMER4);
        panel5.setBorder(BorderFactory.createTitledBorder("Shared Files"));
        mainPanel.add(panel5, NUMMER5);
        panel6.setBorder(BorderFactory.createTitledBorder("Logging"));
        mainPanel.add(panel6, NUMMER6);
        getContentPane().add(mainPanel, BorderLayout.CENTER);
       
        //Listeners:
        panel1Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel1BtnActionPerformed(evt);
            }
        });
        panel2Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel2BtnActionPerformed(evt);
            }
        });
        panel3Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel3BtnActionPerformed(evt);
            }
        });
        panel4Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel4BtnActionPerformed(evt);
            }
        });
        panel5Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel5BtnActionPerformed(evt);
            }
        });
        panel6Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel6BtnActionPerformed(evt);
            }
        });
    }
    private void panel1BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER1);
    }
    private void panel2BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER2);
    }
    private void panel3BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER3);
    }
    private void panel4BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER4);
    }
    private void panel5BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER5);
    }
    private void panel6BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER6);
    }
    
     /** Returns an ImageIcon, or null if the path was invalid. */
    	protected static ImageIcon createImageIcon(String path) {
        	java.net.URL imgURL = BasicDemo_2.class.getResource(path);
        	if (imgURL != null) {
            	return new ImageIcon(imgURL);
        	} else {
            	System.err.println("Couldn't find file: " + path);
            	return null;
        	}
    	}

    
    
    public static void main(String args[]) {new BasicDemo_2().setVisible(true);}
    private JToolBar toolBar;
    private JPanel mainPanel;
    private CardLayout cardLayout;
    private JButton panel1Btn, panel2Btn, panel3Btn, panel4Btn, panel5Btn, panel6Btn;
    private JPanel panel1, panel2, panel3, panel4, panel5, panel6;
    private final String NUMMER1 = "1";
    private final String NUMMER2 = "2";
    private final String NUMMER3 = "3";
    private final String NUMMER4 = "4";
    private final String NUMMER5 = "5";
    private final String NUMMER6 = "6";
}

basicdem29ne.jpg
 
G

Guest

Gast
Code:
//package schnipsel;
/*
* BasicDemo_2.java
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;



public class BasicDemo_2 extends JFrame {
    public BasicDemo_2() {
        super("Basic Demo 2");
        setSize(750, 550);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

       
        //JComponents erzeugen:
        toolBar = new JToolBar();
        panel7Btn = new AbstractAction("");
        panel1Btn = new JButton("");
        panel2Btn = new JButton("");
        panel3Btn = new JButton("");
        panel4Btn = new JButton("");
        panel5Btn = new JButton("");
        panel6Btn = new JButton("");
        mainPanel = new JPanel();
        panel1 = new JPanel();
        panel2 = new JPanel();
        panel3 = new JPanel();
        panel4 = new JPanel();
        panel5 = new JPanel();
        panel6 = new JPanel();
        
        ImageIcon connect = createImageIcon("/img/connect_established.png");
        
       
        //Layout:
        toolBar.add(panel7Btn);
        toolBar.add(panel1Btn);
        toolBar.add(panel2Btn);
        toolBar.add(panel3Btn);
        toolBar.add(panel4Btn);
        toolBar.add(panel5Btn);
        toolBar.add(panel6Btn);
        getContentPane().add(toolBar, BorderLayout.NORTH);
        cardLayout = new CardLayout();
        mainPanel.setLayout(cardLayout);
        
        panel1.setBorder(BorderFactory.createTitledBorder("Clients"));
        mainPanel.add(panel1, NUMMER1);
        panel2.setBorder(BorderFactory.createTitledBorder("Downloads"));
        mainPanel.add(panel2, NUMMER2);
        panel3.setBorder(BorderFactory.createTitledBorder("Uploads"));
        mainPanel.add(panel3, NUMMER3);
        panel4.setBorder(BorderFactory.createTitledBorder("Search"));
        mainPanel.add(panel4, NUMMER4);
        panel5.setBorder(BorderFactory.createTitledBorder("Shared Files"));
        mainPanel.add(panel5, NUMMER5);
        panel6.setBorder(BorderFactory.createTitledBorder("Logging"));
        mainPanel.add(panel6, NUMMER6);
        getContentPane().add(mainPanel, BorderLayout.CENTER);
       
        //Listeners:
        panel1Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel1BtnActionPerformed(evt);
            }
        });
        panel2Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel2BtnActionPerformed(evt);
            }
        });
        panel3Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel3BtnActionPerformed(evt);
            }
        });
        panel4Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel4BtnActionPerformed(evt);
            }
        });
        panel5Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel5BtnActionPerformed(evt);
            }
        });
        panel6Btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                panel6BtnActionPerformed(evt);
            }
        });
    }
    private void panel1BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER1);
    }
    private void panel2BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER2);
    }
    private void panel3BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER3);
    }
    private void panel4BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER4);
    }
    private void panel5BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER5);
    }
    private void panel6BtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER6);
    }
    
     /** Returns an ImageIcon, or null if the path was invalid. */
    	protected static ImageIcon createImageIcon(String path) {
        	java.net.URL imgURL = BasicDemo_2.class.getResource(path);
        	if (imgURL != null) {
            	return new ImageIcon(imgURL);
        	} else {
            	System.err.println("Couldn't find file: " + path);
            	return null;
        	}
    	}

    
    
    public static void main(String args[]) {new BasicDemo_2().setVisible(true);}
    private JToolBar toolBar;
    private JPanel mainPanel;
    private CardLayout cardLayout;
    private JButton panel1Btn, panel2Btn, panel3Btn, panel4Btn, panel5Btn, panel6Btn;
    private AbstractAction panel7Btn;
    private JPanel panel1, panel2, panel3, panel4, panel5, panel6;
    private final String NUMMER1 = "1";
    private final String NUMMER2 = "2";
    private final String NUMMER3 = "3";
    private final String NUMMER4 = "4";
    private final String NUMMER5 = "5";
    private final String NUMMER6 = "6";
}

fehler:
javax.swing.AbstractAction is abstract, can not be instantiated
 

André Uhres

Top Contributor
Anonymous hat gesagt.:
Code:
...
        panel7Btn = new AbstractAction("");
...
fehler:
javax.swing.AbstractAction is abstract, can not be instantiated
Du musst auch ein wenig selbst überlegen, und nicht einfach blind grad nur das machen was ich andeute.
Oben hast du doch selbst ein Beispiel mit AbstractAction gepostet. Stammt das etwa nicht von dir?
Versuchst du etwa nur fremde Codeschnipsel zusammenzuwürfeln
in der Hoffnung dass was Gescheites dabei rauskommt?
Das geht leider nicht, du musst selbst Java lernen und zwar von Grund auf.
Ich helf dir gern weiter, aber ich muss sicher sein auf welcher Grundlage das geschehen soll.
 
G

Guest

Gast
also ich habe probleme mit dem dem Abstractaction .

basicdem28pa.jpg


ich habe nach geschaut aber ich habe nichts mehr zu AbstractAction vergesssen denke ich?

Code:
//package schnipsel;
/*
* BasicDemo_2.java
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.io.ByteArrayOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.StringTokenizer;



public class BasicDemo_2 extends JFrame {
    public BasicDemo_2() {
        super("Basic Demo 2");
        setSize(750, 550);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        createActions();

       
        //JComponents erzeugen:
        toolBar = new JToolBar();
        KnownClientsPanelBtn = new JButton("");
        DownloadFilesPanelBtn = new JButton("");
        UploadFilesPanelBtn = new JButton("");
        SearchPanelBtn = new JButton("");
        SharedFilesPanelBtn = new JButton("");
        LoggingPreferencesPanelBtn = new JButton("");
        mainPanel = new JPanel();
        KnownClientsPanel = new JPanel();
        DownloadFilesPanel = new JPanel();
        UploadFilesPanel = new JPanel();
        SearchPanel = new JPanel();
        SharedFilesPanel = new JPanel();
        LoggingPreferencesPanel = new JPanel();
       
      
        //Layout:
        toolbar.add(connectAction);
        toolBar.add(KnownClientsPanelBtn);
        toolBar.add(DownloadFilesPanelBtn);
        toolBar.add(UploadFilesPanelBtn);
        toolBar.add(SearchPanelBtn);
        toolBar.add(SharedFilesPanelBtn);
        toolBar.add(LoggingPreferencesPanelBtn);
        getContentPane().add(toolBar, BorderLayout.NORTH);
        cardLayout = new CardLayout();
        mainPanel.setLayout(cardLayout);
        
                
        KnownClientsPanel.setBorder(BorderFactory.createTitledBorder("Clients"));
        mainPanel.add(KnownClientsPanel, NUMMER1);
        
        DownloadFilesPanel.setBorder(BorderFactory.createTitledBorder("Downloads"));
        mainPanel.add(DownloadFilesPanel, NUMMER2);
        
        UploadFilesPanel.setBorder(BorderFactory.createTitledBorder("Uploads"));
        mainPanel.add(UploadFilesPanel, NUMMER3);
        
        SearchPanel.setBorder(BorderFactory.createTitledBorder("Search"));
        mainPanel.add(SearchPanel, NUMMER4);
        
        SharedFilesPanel.setBorder(BorderFactory.createTitledBorder("Shared Files"));
        mainPanel.add(SharedFilesPanel, NUMMER5);
        
        LoggingPreferencesPanel.setBorder(BorderFactory.createTitledBorder("Logging"));
        mainPanel.add(LoggingPreferencesPanel, NUMMER6);
        
        getContentPane().add(mainPanel, BorderLayout.CENTER);
        
        
        ImageIcon connect = createImageIcon("/img/connect_established.png");
        ImageIcon disconnect = createImageIcon("/img/connect_no.png");
        ImageIcon clients = createImageIcon("/img/clients.png");
        ImageIcon downloads = createImageIcon("/img/downloads.png");
        ImageIcon uploads = createImageIcon("/img/uploads.png");
        ImageIcon search = createImageIcon("/img/kview.png");
        ImageIcon sharedfiles = createImageIcon("/img/sharedfiles32.png");
        ImageIcon logging = createImageIcon("/img/toggle_log32.png");
        ImageIcon settings = createImageIcon("/img/kservices.png");
        ImageIcon node = createImageIcon("/img/node3.png");
        ImageIcon share = createImageIcon("/img/preferences3.png");
        ImageIcon performence = createImageIcon("/img/konquest.png");
        ImageIcon exit = createImageIcon("/img/exit.png");
        
        
        KnownClientsPanelBtn.setIcon(clients);
        DownloadFilesPanelBtn.setIcon(downloads);
        UploadFilesPanelBtn.setIcon(uploads);	
        SearchPanelBtn.setIcon(search);
        SharedFilesPanelBtn.setIcon(sharedfiles);
        LoggingPreferencesPanelBtn.setIcon(logging);
        
       
        //Listeners:
        KnownClientsPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                KnownClientsPanelBtnActionPerformed(evt);
            }
        });
        DownloadFilesPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                DownloadFilesPanelBtnActionPerformed(evt);
            }
        });
        UploadFilesPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                UploadFilesPanelBtnActionPerformed(evt);
            }
        });
        SearchPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                SearchPanelBtnActionPerformed(evt);
            }
        });
        SharedFilesPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                SharedFilesPanelBtnActionPerformed(evt);
            }
        });
        LoggingPreferencesPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                LoggingPreferencesPanelBtnActionPerformed(evt);
            }
        });
    }
    private void KnownClientsPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER1);
    }
    private void DownloadFilesPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER2);
    }
    private void UploadFilesPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER3);
    }
    private void SearchPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER4);
    }
    private void SharedFilesPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER5);
    }
    private void LoggingPreferencesPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER6);
    }
    
    
     
	private void createActions() {
		connectAction = new AbstractAction("Connect") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionConnect();
			}
		};
		//connectAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/connect_established.png"));
		connectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK));
		connectAction.putValue(Action.SHORT_DESCRIPTION, "Start all services and connect to Freenet");

	}
		
	public void actionConnect() {
		connectAction.setEnabled(false);

	
	}


    
     /** Returns an ImageIcon, or null if the path was invalid. */
    	protected static ImageIcon createImageIcon(String path) {
        	java.net.URL imgURL = BasicDemo_2.class.getResource(path);
        	if (imgURL != null) {
            	return new ImageIcon(imgURL);
        	} else {
            	System.err.println("Couldn't find file: " + path);
            	return null;
        	}
    	}

    
    
    public static void main(String args[]) {new BasicDemo_2().setVisible(true);}
    private JToolBar toolBar;
    private JPanel mainPanel;
    private CardLayout cardLayout;
    private JButton KnownClientsPanelBtn, DownloadFilesPanelBtn, UploadFilesPanelBtn, SearchPanelBtn, SharedFilesPanelBtn, LoggingPreferencesPanelBtn;

    private JPanel KnownClientsPanel, DownloadFilesPanel, UploadFilesPanel, SearchPanel, SharedFilesPanel, LoggingPreferencesPanel;
    private final String NUMMER1 = "1";
    private final String NUMMER2 = "2";
    private final String NUMMER3 = "3";
    private final String NUMMER4 = "4";
    private final String NUMMER5 = "5";
    private final String NUMMER6 = "6";
    
    private Action connectAction;
}


cannot find symbol variable toolbar
das mit dem (connectAction)
 
G

Guest

Gast
ja das problem ist wieso das AbstractAction nicht geht!??

import ist richtig!

Code:
//package schnipsel;
/*
* BasicDemo_2.java
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.io.ByteArrayOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.StringTokenizer;




public class BasicDemo_2 extends JFrame {
    public BasicDemo_2() {
        super("Basic Demo 2");
        setSize(750, 550);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        createActions();

       
        //JComponents erzeugen:
        toolBar = new JToolBar();
        KnownClientsPanelBtn = new JButton("");
        DownloadFilesPanelBtn = new JButton("");
        UploadFilesPanelBtn = new JButton("");
        SearchPanelBtn = new JButton("");
        SharedFilesPanelBtn = new JButton("");
        LoggingPreferencesPanelBtn = new JButton("");
        mainPanel = new JPanel();
        KnownClientsPanel = new JPanel();
        DownloadFilesPanel = new JPanel();
        UploadFilesPanel = new JPanel();
        SearchPanel = new JPanel();
        SharedFilesPanel = new JPanel();
        LoggingPreferencesPanel = new JPanel();
       
      
        //Layout:
        //toolbar.add(connectAction);
        toolBar.add(KnownClientsPanelBtn);
        toolBar.add(DownloadFilesPanelBtn);
        toolBar.add(UploadFilesPanelBtn);
        toolBar.add(SearchPanelBtn);
        toolBar.add(SharedFilesPanelBtn);
        toolBar.add(LoggingPreferencesPanelBtn);
        getContentPane().add(toolBar, BorderLayout.NORTH);
        cardLayout = new CardLayout();
        mainPanel.setLayout(cardLayout);
        
                
        KnownClientsPanel.setBorder(BorderFactory.createTitledBorder("Clients"));
        mainPanel.add(KnownClientsPanel, NUMMER1);
        
        DownloadFilesPanel.setBorder(BorderFactory.createTitledBorder("Downloads"));
        mainPanel.add(DownloadFilesPanel, NUMMER2);
        
        UploadFilesPanel.setBorder(BorderFactory.createTitledBorder("Uploads"));
        mainPanel.add(UploadFilesPanel, NUMMER3);
        
        SearchPanel.setBorder(BorderFactory.createTitledBorder("Search"));
        mainPanel.add(SearchPanel, NUMMER4);
        
        SharedFilesPanel.setBorder(BorderFactory.createTitledBorder("Shared Files"));
        mainPanel.add(SharedFilesPanel, NUMMER5);
        
        LoggingPreferencesPanel.setBorder(BorderFactory.createTitledBorder("Logging"));
        mainPanel.add(LoggingPreferencesPanel, NUMMER6);
        
        getContentPane().add(mainPanel, BorderLayout.CENTER);
        
        
        ImageIcon connect = createImageIcon("/img/connect_established.png");
        ImageIcon disconnect = createImageIcon("/img/connect_no.png");
        ImageIcon clients = createImageIcon("/img/clients.png");
        ImageIcon downloads = createImageIcon("/img/downloads.png");
        ImageIcon uploads = createImageIcon("/img/uploads.png");
        ImageIcon search = createImageIcon("/img/kview.png");
        ImageIcon sharedfiles = createImageIcon("/img/sharedfiles32.png");
        ImageIcon logging = createImageIcon("/img/toggle_log32.png");
        ImageIcon settings = createImageIcon("/img/kservices.png");
        ImageIcon node = createImageIcon("/img/node3.png");
        ImageIcon share = createImageIcon("/img/preferences3.png");
        ImageIcon performence = createImageIcon("/img/konquest.png");
        ImageIcon exit = createImageIcon("/img/exit.png");
        
        
        KnownClientsPanelBtn.setIcon(clients);
        DownloadFilesPanelBtn.setIcon(downloads);
        UploadFilesPanelBtn.setIcon(uploads);	
        SearchPanelBtn.setIcon(search);
        SharedFilesPanelBtn.setIcon(sharedfiles);
        LoggingPreferencesPanelBtn.setIcon(logging);
        
       
        //Listeners:
        KnownClientsPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                KnownClientsPanelBtnActionPerformed(evt);
            }
        });
        DownloadFilesPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                DownloadFilesPanelBtnActionPerformed(evt);
            }
        });
        UploadFilesPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                UploadFilesPanelBtnActionPerformed(evt);
            }
        });
        SearchPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                SearchPanelBtnActionPerformed(evt);
            }
        });
        SharedFilesPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                SharedFilesPanelBtnActionPerformed(evt);
            }
        });
        LoggingPreferencesPanelBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                LoggingPreferencesPanelBtnActionPerformed(evt);
            }
        });
    }
    private void KnownClientsPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER1);
    }
    private void DownloadFilesPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER2);
    }
    private void UploadFilesPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER3);
    }
    private void SearchPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER4);
    }
    private void SharedFilesPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER5);
    }
    private void LoggingPreferencesPanelBtnActionPerformed(ActionEvent evt) {
        cardLayout.show(mainPanel, NUMMER6);
    }
    
    
     
	private void createActions() {
		connectAction = new AbstractAction("Connect") {

			public void actionPerformed(ActionEvent actionEvent) {
				actionConnect();
			}
		};
		//connectAction.putValue(Action.SMALL_ICON, IconLoader.loadIcon("/img/connect_established.png"));
		connectAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK));
		connectAction.putValue(Action.SHORT_DESCRIPTION, "Start all services and connect to Freenet");

	}
		
	public void actionConnect() {
		connectAction.setEnabled(false);

	
	}


    
     /** Returns an ImageIcon, or null if the path was invalid. */
    	protected static ImageIcon createImageIcon(String path) {
        	java.net.URL imgURL = BasicDemo_2.class.getResource(path);
        	if (imgURL != null) {
            	return new ImageIcon(imgURL);
        	} else {
            	System.err.println("Couldn't find file: " + path);
            	return null;
        	}
    	}

    
    
    public static void main(String args[]) {new BasicDemo_2().setVisible(true);}
    private JToolBar toolBar; 
    private JPanel mainPanel;
    private CardLayout cardLayout;
    private JButton KnownClientsPanelBtn, DownloadFilesPanelBtn, UploadFilesPanelBtn, SearchPanelBtn, SharedFilesPanelBtn, LoggingPreferencesPanelBtn;

    private JPanel KnownClientsPanel, DownloadFilesPanel, UploadFilesPanel, SearchPanel, SharedFilesPanel, LoggingPreferencesPanel;
    private final String NUMMER1 = "1";
    private final String NUMMER2 = "2";
    private final String NUMMER3 = "3";
    private final String NUMMER4 = "4";
    private final String NUMMER5 = "5";
    private final String NUMMER6 = "6";
    
    private Action connectAction;
    
  
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Interface Nach "package"-Nennung keine Toolbar-Icons mehr Java Basics - Anfänger-Themen 5
B Toolbar mit Java programmieren? Java Basics - Anfänger-Themen 3
S Toolbar im CardLayout Java Basics - Anfänger-Themen 4
G SWT - eine Toolbar und ein Menu - addSelectionListener Java Basics - Anfänger-Themen 3
G Toolbar problem! Java Basics - Anfänger-Themen 4
G Toolbar bei JTabbedPane Java Basics - Anfänger-Themen 5
O JToolBar wird Tab in JTabbedPane statt Toolbar in JFrame Java Basics - Anfänger-Themen 6
G Besonderer Toolbar-Button! Java Basics - Anfänger-Themen 6
G Funktion von toolbar button bei mouseover anzeigen Java Basics - Anfänger-Themen 4
C Swing-Fenster mit Menü- und Toolbar Java Basics - Anfänger-Themen 3
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
D Custom Buttons oder Custom Combobox Java Basics - Anfänger-Themen 30
A Aktualisierung eines Buttons Java Basics - Anfänger-Themen 18
S Runde Buttons erstellen Java Basics - Anfänger-Themen 10
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
T Buttons... Java Basics - Anfänger-Themen 1
U Javafx Array aus Buttons Java Basics - Anfänger-Themen 2
L Buttons außerhalb der sichtbaren Activity Java Basics - Anfänger-Themen 8
E Hilfe bei Buttons (GUI) Java Basics - Anfänger-Themen 3
D Mit Buttonklick Farbe der anderen Buttons verändern? Java Basics - Anfänger-Themen 2
L Buttons ansprechen Java Basics - Anfänger-Themen 1
F Mehrfaches Clicken eines Buttons Java Basics - Anfänger-Themen 1
H Buttons zeigen keine Reaktion Java Basics - Anfänger-Themen 6
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
H Java Buttons ausblenden bei inaktivität Java Basics - Anfänger-Themen 1
A Nach Druck eines Buttons reagieren andere Button nicht Java Basics - Anfänger-Themen 3
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
D Variable Anzahl an Buttons per Schleife Java Basics - Anfänger-Themen 7
U Best Practice Buttons sollen ÜBER Labeln liegen, also quasi im Vordergrund. WIE? Java Basics - Anfänger-Themen 4
TheSorm Anzeige fehler eines Buttons Java Basics - Anfänger-Themen 3
M Icons auf Buttons Java Basics - Anfänger-Themen 9
S Variablen Variable bei drücken eines Buttons ändern Java Basics - Anfänger-Themen 1
M Buttons funktionieren nicht Java Basics - Anfänger-Themen 4
lord239123 Buttons werden nicht angezeigt Java Basics - Anfänger-Themen 3
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
W Buttons sollen bei Mausklick einen String schreiben Java Basics - Anfänger-Themen 11
J Aktivierung eines Buttons nach Eingabe in Textfeldern (DocumentListener) Java Basics - Anfänger-Themen 4
O Position des Buttons wird nicht geändert.. Java Basics - Anfänger-Themen 6
K Erste Schritte GUI - Hintergrundbild und darauf Buttons Java Basics - Anfänger-Themen 2
J BlueJ canvas Buttons adden? Java Basics - Anfänger-Themen 2
U Methoden Methode zur Erstellung von Buttons Java Basics - Anfänger-Themen 11
H Icons in Buttons resizable? Java Basics - Anfänger-Themen 3
C Buttons über Textfeld beschriften Java Basics - Anfänger-Themen 10
L OOP Buttons mit Pfeilen miteinander verbinden Java Basics - Anfänger-Themen 5
A Dropdown Liste - mit je zwei Verlinkungen und zwei ausführende Buttons Java Basics - Anfänger-Themen 3
I Dynamisch erzeugten Buttons Methoden zuweisen Java Basics - Anfänger-Themen 6
P Listener für mehrere Buttons Java Basics - Anfänger-Themen 3
S Hilfe bei Buttons Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
B Die Hintergrundfarbe eines deaktivierten buttons ändern? Java Basics - Anfänger-Themen 4
SheldoN Töne abspielen auf verschiedenen Buttons Java Basics - Anfänger-Themen 17
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
Fab1 Buttons auf ein Hintergrundbild(JFrame) setzen Java Basics - Anfänger-Themen 24
H Methode aufrufen beim Drücken eines Buttons im Boxlayout Java Basics - Anfänger-Themen 6
M Tabelle mit Buttons Java Basics - Anfänger-Themen 24
M Variablen via actionPerformed mit Buttons ändern Java Basics - Anfänger-Themen 7
K Durch ändern eines Buttons String füllen Java Basics - Anfänger-Themen 14
J Buttons Java Basics - Anfänger-Themen 19
G Buttons in ein Array umformen Java Basics - Anfänger-Themen 11
S Buttons übereinander legen - Reihenfolge Java Basics - Anfänger-Themen 2
M Buttons erscheinen erst bei Mouse-Over Java Basics - Anfänger-Themen 8
B Buttons Java Basics - Anfänger-Themen 9
T Buttons (auf denen bilder sind) random vertauschen Java Basics - Anfänger-Themen 11
1 Menü mit Buttons erstellen Java Basics - Anfänger-Themen 10
M Durchsichtige Buttons Java Basics - Anfänger-Themen 12
P OnClickListener für mehrere Buttons Java Basics - Anfänger-Themen 5
U Buttons einfügen (Leiste verschwunden!?) Java Basics - Anfänger-Themen 2
M Gui - Probleme mit Buttons Java Basics - Anfänger-Themen 4
C Swing, Buttons Wert zuweisen Java Basics - Anfänger-Themen 3
E Android: OnClickListener erkennt Buttons nicht Java Basics - Anfänger-Themen 7
E Buttons in Android generieren? Java Basics - Anfänger-Themen 4
D Link over Buttons Java Basics - Anfänger-Themen 4
B Identifikation eines einzelnen Buttons aus mehreren Buttons per Schleife erzeugten Java Basics - Anfänger-Themen 4
Nicer Radio Buttons Gruppe Java Basics - Anfänger-Themen 2
G getControlPanelComponent JMF Buttons verstecken? Java Basics - Anfänger-Themen 7
K Buttons Funktionieren Nicht!!! Java Basics - Anfänger-Themen 8
manunana89 2 ActionListener auf 2 Buttons??? Java Basics - Anfänger-Themen 6
Mike90 verschieben von Buttons, ... Java Basics - Anfänger-Themen 18
F Buttons und Aktionen Java Basics - Anfänger-Themen 20
M dynamisches Clipboard mit Buttons Java Basics - Anfänger-Themen 5
H Buttons um sprache zu ändern. Java Basics - Anfänger-Themen 6
B Calculator - Buttons zusammenfassen Java Basics - Anfänger-Themen 8
0 Buttons mit Absatz Java Basics - Anfänger-Themen 6
B Buttons erstellen! Wie? Java Basics - Anfänger-Themen 2
D Buttons-die Wahrheit über sie Java Basics - Anfänger-Themen 11
G Buttons mit MouseOver Java Basics - Anfänger-Themen 5
M "Selbst erstellte" Buttons nicht sichtbar. Java Basics - Anfänger-Themen 20
Mörmel Variable Anzahl von Buttons erzeugen Java Basics - Anfänger-Themen 6
K Fenster mit Buttons hin und her schieben ? Java Basics - Anfänger-Themen 23
A in jTextField mit Hilfe von Buttons schreiben Java Basics - Anfänger-Themen 2
J Buttons Java Basics - Anfänger-Themen 3
M Buttons auf allen Masken Java Basics - Anfänger-Themen 4
G Alle Buttons in einer For Schleife ändern Java Basics - Anfänger-Themen 5
G Nicht benannte Buttons - Wenn gedrückt > Action Java Basics - Anfänger-Themen 24

Ähnliche Java Themen

Neue Themen


Oben