Was stimmt mit Main-Methode nicht?

annelala

Mitglied
Hallo,

Ich habe hier einen Code, ich kann ihn jedoch nicht zum laufen bringen, da meine main-methode (ganz unten im code) von eclipse nicht akzeptiert wird. "Unhandled exeception type IO Exception" ist die Fehlermeldung. Kann mir jemand weiterhelfen?
Vielen Dank schon jetzt :)
Java:
package carcasonne.chat;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.text.JTextComponent;

import carcasonne.menue.GameView;
import carcasonne.user.User;

 

public class ChatView extends JFrame implements ActionListener



{
	private JPanel contentPane;
	private JPanel containsTextPanel;
	private JList <String> list;
	private JTextField textField;

	DefaultListModel <String> model;
	
	ChatControler aControler;


	
	File file;
	BufferedImage img; 
	Graphics graphic;

	
		
    

	public void startView(ChatControler aControler)
	{
		this.aControler = aControler;

		this.setVisible(true);
	}
	
	/**
	 * Erzeugen der Ausgabe
	 * @throws IOException 
	 */
	public ChatView() throws IOException 
	{
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//Festlegung der Größe und Position; manuelle Größenveränderung nicht möglich
		setBounds(0, 0, 500, 600);
		setResizable (false);
		JPanel contentPane = new JPanel ();
		contentPane.setLayout(new BorderLayout());
		setContentPane(contentPane);
		

		File file = new File("paintings/schriftRolle01.jpg");
        final BufferedImage image = ImageIO.read(file);
        JPanel imagePanel = new JPanel() 
        {
            @Override
            public void paintComponent(Graphics g) {
            	//Anpassung der Fenstergröße an Bildgröße durch getter
                g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), null);
            }
        };
         
        
        
        //imagePanel mit CardLayout -> JList und JTextfield können darauf angeordnet werden
	    imagePanel.setLayout(new CardLayout(0, 0));

      
	    //containsTextPanel mit absolute Layout 
	    JPanel containsTextPanel = new JPanel ();
	    containsTextPanel.setBackground(new Color(102, 51, 0));
	    //auf durchsichtig setzen
	    containsTextPanel.setOpaque (false);
	    //absolute Layout setzen -> manuelle Positionierung möglich
	    containsTextPanel.setLayout(null);
		 	     	
	    //beinhaltet den Chatverlauf
	    			model = new DefaultListModel<String>();
	    			list = new JList<String>();
	    			list.setForeground(new Color(51, 0, 0));
	    			list.setFont(new Font("Papyrus", Font.BOLD, 18));
	    			list.setModel(model);
	    			
	    			list.setBounds(205, 105, 200, 308);
	    			//auf durchsichtig setzen
		 	     	list.setOpaque(false);
		 	     	list.setBackground(new Color (0, 0, 0, 0));
		 	     	containsTextPanel.add(list);	
		 	     	
		   		  	// Erzeugen eines neuen Textfeldes - Eingabefenster	      		  
		  		 	textField = new JTextField();
		  		 	textField.setFont(new Font("Papyrus", Font.BOLD, 13));
		  		 	//auf durchsichtig setzen
		  		 	textField.setOpaque(false);
		 	     	textField.setBackground(new Color(0, 0, 0));
		  		 	//festgelegte Position
		  		 	textField.setBounds(204, 485, 230, 25);
		  		 	textField.setColumns(10);
		  		 	
		  		 	containsTextPanel.add(textField);
		  		 	textField.addActionListener(this);
		 
		//containsTextPanel zu imagePanel hinzufügen  		 	
		imagePanel.add (containsTextPanel);
		
		contentPane.add (imagePanel, BorderLayout.CENTER);
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		  
		if (e.getSource() == textField ) {
			//model.addElement(textField.getText());
			list.setModel(model);
			aControler.sendMessage(textField.getText()); 
			this.revalidate();
		}
	}
	
	public void printToScreen(String sMessage)
	{
		model.addElement(sMessage);
	}
	 



	
	public static void main(String[] args) {
		
		new ChatView();

		
	}
		}
 
Zuletzt bearbeitet von einem Moderator:

eMmiE

Bekanntes Mitglied
Unhandled Exception irgendwas deutet immer auf etwas hin, was passieren könnte...
In Verbindung mit IOException könnte zum Beispiel die Datei nicht gefunden werden o.Ä.
Um die unhandled Exception zu umgehen, steckst du den Code einfach in einen try-catch-Block
Code:
try {/*Zu sichernder Code*/} catch (IOException io) {/*Wenn ne Exception geschmissen wird*/}


Gruß eMmiE
 

Gucky

Top Contributor
@X5-599
Wo wird die Exception denn dann hingeworfen? Es ist doch keiner mehr da, der sie abfangen könnte.

@annelala
Nächstes mal bitte die java-Tags verwenden. ;)
 

X5-599

Top Contributor
Tja... wie soll man das sagen? Genauen Ablauf kenne ich auch nicht, also: Alle Angaben ohne Gewähr! Die main() wird vom "System" aufgerufen um das Programm zu starten.
Es könnte sein, daß bei Programmstart intern so etwas passiert (wie gesagt, ich weiß es nicht):
Java:
try
{
    IrgendEinProgramm.main(besorgtDieStartArguments());
}
catch(Exception e)
{
   e.printStackTrace();
}

Das Programm würde einfach gestartet. Egal, ob die main() eine checked Exception werfen kann (z.B. throws IOException) oder nicht.
Also steht es einem frei eine solche Exception selbst in der main() nicht zu behandeln (catch) sondern weiter zu werfen (throws).

In Produktivcode ist eher darauf zu verzichten Exceptions bis zur main() weiter zu werfen. Denn, man sollte schon sinnvoll darauf reagieren. Wenn man das nicht macht, treten sie einfach auf (Code oben) und beenden dann wahrscheinlich das ganze Programm... (Ich weiß nicht wie es sich verhält wenn noch mehrere Threads parallel laufen und die main() eine Exception wirft. Wäre aber mal interessant das zu wissen.)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
B Dekorator Muster - Irgendwas stimmt hier doch nicht? Java Basics - Anfänger-Themen 4
Henri Die Ausgabe stimmt leider nicht Java Basics - Anfänger-Themen 9
Z Irgendwas stimmt da nicht :/ Java Basics - Anfänger-Themen 4
H Caesar-Verschlüsselung - Was stimmt nicht? Java Basics - Anfänger-Themen 6
Z Fibonacci rekursiv meine Erklärung stimmt so? Java Basics - Anfänger-Themen 2
P Listen Size stimmt nicht Java Basics - Anfänger-Themen 5
S Code stimmt nicht für vorgegebenen JUnit-Test Java Basics - Anfänger-Themen 2
B Aufgabe: Arrayliste ausgeben, stimmt es so? Java Basics - Anfänger-Themen 8
J Was stimmt nicht? Java Basics - Anfänger-Themen 6
S Zahl aufgerundet stimmt dennoch nicht? Java Basics - Anfänger-Themen 17
D was stimmt hier nicht? Java Basics - Anfänger-Themen 7
G fibonacci was stimmt an meinem code nicht? Java Basics - Anfänger-Themen 2
L Was stimmt hier nicht Java Basics - Anfänger-Themen 2
J JTable + Vectoren. was stimmt da nicht? Java Basics - Anfänger-Themen 2
P Mit Konstruktor stimmt was nicht? Java Basics - Anfänger-Themen 10
N Was stimmt da nicht? Java Basics - Anfänger-Themen 4
bernd Was stimmt an dem Code nicht? Java Basics - Anfänger-Themen 27
M HashMap durchlaufen: Was stimmt nicht? Java Basics - Anfänger-Themen 7
F Was stimmt nicht??? Java Basics - Anfänger-Themen 5
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
N Throw an Main Methode übergeben Java Basics - Anfänger-Themen 7
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
I Jetty starten von Programm (Main) Java Basics - Anfänger-Themen 27
Denix The public type Main must be defined in its own fileJava(16777541) Java Basics - Anfänger-Themen 13
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
S Array über ein Ausgabemethode in main ausgeben Java Basics - Anfänger-Themen 31
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
N Wozu nutzt man in der Main Methode das args Array? Java Basics - Anfänger-Themen 10
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
J In main() Datei geöffnet, von anderer Funktion beschreiben Java Basics - Anfänger-Themen 3
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
KogoroMori21 Methode in der main ausgeben Java Basics - Anfänger-Themen 2
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
C Methodenrückgabe wird in der main nicht berücksichtigt Java Basics - Anfänger-Themen 2
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
T Main startet nicht bei vorgegebenen Code Java Basics - Anfänger-Themen 41
G main Methode Java Basics - Anfänger-Themen 5
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
J main methode Java Basics - Anfänger-Themen 1
B No Main Classes Found Java Basics - Anfänger-Themen 7
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
E Was kommt in ein Objekt und was in die Main Methode? Java Basics - Anfänger-Themen 8
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
M String außerhalb der main-Methode Java Basics - Anfänger-Themen 4
scratchy1 ArrayOutOfBoundException in main-Methode Java Basics - Anfänger-Themen 17
B File öffnen in src/main/webapp Java Basics - Anfänger-Themen 4
P Parameterübergabe, von Methode zu Methode zu main Java Basics - Anfänger-Themen 4
J Kapselung Array in Set ändern und in Main ausgeben lassen Java Basics - Anfänger-Themen 4
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
V Collections Objekte einer ArrayList in der main() ausgeben Java Basics - Anfänger-Themen 9
D Compiler-Fehler Aufrufen einer Methode von Main Java Basics - Anfänger-Themen 4
G Was als main Method Java Basics - Anfänger-Themen 6
M Methode mit Array als Parameter an Main übergeben Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
J Compiler-Fehler Java findet main Klasse nicht Java Basics - Anfänger-Themen 16
B Parameterübergabe in main Java Basics - Anfänger-Themen 1
A Variablen Main Klasse soll auf eine andere Klasse zugreifen Java Basics - Anfänger-Themen 3
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
J Parameter in main verwenden Java Basics - Anfänger-Themen 3
M Methodenaufruf in der Main Datei funzt nicht Java Basics - Anfänger-Themen 13
M Maven Main-Methode Interface und Klasse Java Basics - Anfänger-Themen 2
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
G Instanzvariable in main-Methode verboten? Java Basics - Anfänger-Themen 3
M Objekt starten von der main-Methode Java Basics - Anfänger-Themen 1
S Fehler: Editor does not contain a main type Java Basics - Anfänger-Themen 3
G Programm wird nicht ausgeführt: Editor does not contain a main type Java Basics - Anfänger-Themen 10
A Methode aufrufen in main-Methode Java Basics - Anfänger-Themen 5
B Linux - Error: Could not find or load main class application.Main Java Basics - Anfänger-Themen 28
C Erste Schritte (Netbeans) no main classes found Java Basics - Anfänger-Themen 5
U Klassen IntelliJ14.1.1 Ultimate startet eine Main-Klasse NICHT MEHR Java Basics - Anfänger-Themen 0
P Methoden private int[] in main Java Basics - Anfänger-Themen 16
W JLabel in Main aus Thread verändern. Java Basics - Anfänger-Themen 4
AssELAss Klassen Java Klasse in main-methode ausführen Java Basics - Anfänger-Themen 7
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
P could not find main class obwohl da Java Basics - Anfänger-Themen 17
J Methode in main-Methode aufrufen Java Basics - Anfänger-Themen 5
B OOP Wie benutze ich die Main Funktion richtig? Java Basics - Anfänger-Themen 10
M Klassen Main Methode in einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 13
TheMenox Methoden Auslagerung von Code aus der "main" Methode sinnvoll? Java Basics - Anfänger-Themen 70
quecksilver if-Abfrage in main ausführen Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
S Methode auf Main zugreifen Java Basics - Anfänger-Themen 5
D String aus Main in Klasse übergeben Java Basics - Anfänger-Themen 4
S Methoden main-Methode integrieren Java Basics - Anfänger-Themen 2
K Methoden Programm ohne Main Methode starten Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben