1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Problem bei Java

Dieses Thema im Forum "Andere Software" wurde erstellt von Giskanne, 02.08.09.

  1. Giskanne

    Giskanne Jonagold

    Dabei seit:
    22.06.09
    Beiträge:
    22
    Hey,
    Könnt ihr mir helfen dieses Programm zum laufen zu bringen??? Ich möchte eigentlich nur, dass man etwas eingeben kann während das Programm läuft. Ich dachte mir, dass es vllt. so wie unten funktionieren könnte, aber Eclipse gibt mir nur unverständliche Fehlermeldungen.


    Programm:

    import java.io.IOException;
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;


    public class Eingabe extends Applet{
    byte [] b = new byte[100];


    try
    {

    System.in.read(b);
    }

    catch(IOException e)

    {
    System.out.println("Es ist ein Fehler:" + e);
    }

    finally{
    System.out.println(b);
    }

    }


    Fehlermeldungen:

    java.lang.Error: Unresolved compilation problems:
    Syntax error on token ";", { expected after this token
    Syntax error, insert "}" to complete ClassBody

    at Eingabe.<init>(Eingabe.java:8)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    at java.lang.Class.newInstance0(Class.java:350)
    at java.lang.Class.newInstance(Class.java:303)
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:723)
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:652)
    at sun.applet.AppletPanel.run(AppletPanel.java:326)
    at java.lang.Thread.run(Thread.java:613)
     
  2. dubb3000

    dubb3000 Braeburn

    Dabei seit:
    09.01.06
    Beiträge:
    47
    Das Problem ist dass du das Exception handling im Klassenkörper geschrieben hast. Du musst eine Methode schreiben und da erst das Einlesen machen.
    Applet ist denk ich auch nicht die super Lösung da man ja für System.in.read eine Konsole zum eintippen braucht.

    Code:
    import java.io.IOException;
    
    public class Eingabe {
    
    	byte[] b = new byte[100];
    	
    	public void eingabe() {
    		try
    		{
    			
    			System.in.read(b);
    		}
    		
    		catch(IOException e)
    		
    		{	
    			System.out.println("Es ist ein Fehler:" + e);
    		}
    		
    		finally{
    			System.out.println(b);
    		}
    	}
    	
    	public static void main(String[] args) {
    		new Eingabe().eingabe();
    	}
    
    }
    
     
  3. naich

    naich Pommerscher Krummstiel

    Dabei seit:
    22.11.08
    Beiträge:
    3.059
    Also ich nehme mal an, dass das ein einfaches Konsolen-Programm sein soll?!
    Bei uns an der Uni wurde uns eine Klasse für die Eingaben bereitgestellt, welche die Sachen bequem direkt in int, String oder was es auch sein soll umwandelt und zurückgibt. Die ist viell. die einfachste Methode: KLICK
     
  4. Giskanne

    Giskanne Jonagold

    Dabei seit:
    22.06.09
    Beiträge:
    22
    Vielen Dank euch beiden für die Antworten, werde das demnächst mal ausprobieren ;).
     
  5. Giskanne

    Giskanne Jonagold

    Dabei seit:
    22.06.09
    Beiträge:
    22
    Nun gut, jetzt weiß ich wie man ohne Applet eine Eingabe macht.


    1) Wie kann man den nun in einem Applet eine Eingabe machen?
    2) Und wie kann man einem Button in einem Applet-Fenster einen festen Platz zuweisen, sodass der/die Button/s beim groß- und kleinziehen des Fensters sich nicht verschiebt?
     
  6. bezierkurve

    bezierkurve Danziger Kant

    Dabei seit:
    12.06.05
    Beiträge:
    3.861
    Schau dir mal die Dokumentation für AWT an. Für Eingabefelder, Buttons etc. gibts fertige Klassen.

    Für die Platzierung von Elementen musst du einen Layout-Manager (sinngemäß, evtl. heißt es bei AWT anders) nutzen.
     
  7. Giskanne

    Giskanne Jonagold

    Dabei seit:
    22.06.09
    Beiträge:
    22
    Neues Problem ;)

    Erstmal der Quelltext
    Erste Class:
    import javax.swing.*;

    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.applet.*;
    import java.text.DecimalFormat;
    import java.awt.*;
    import java.applet.Applet;
    import java.awt.event.*; // für event handling
    import java.util.*;
    import java.awt.List;


    public class Erstens extends Applet implements ActionListener
    {

    private Button NewFigure;
    private Zweitens NewHelp;
    public java.awt.List multiL;
    String Steps,wich;
    public int jumpnumber;
    private Panel centerPanel,southPanel,northPanel ;
    private Label titleLabel;
    public String DrehungA [][] = new String [3][4];public String ArtA [][][] = new String [3][2][4];
    public int c,a,x,y;


    public void init()
    {
    setLayout (new BorderLayout() );





    NewHelp = new Zweitens();
    NewFigure = new Button("New Figure");
    NewFigure.addActionListener (this);
    NewFigure.setActionCommand ("BAAM");
    this.add(NewFigure);

    centerPanel = new Panel();
    centerPanel.setLayout (new FlowLayout() );
    multiL=(java.awt.List)NewHelp.getPoing();
    centerPanel.add(NewHelp);

    add (centerPanel, "Center");

    northPanel = new Panel();
    northPanel.setLayout (new FlowLayout() );
    titleLabel = new Label ("Jumpstyle Creator ");
    northPanel.add(titleLabel);
    add (northPanel, "North");


    southPanel = new Panel();
    southPanel.setLayout (new FlowLayout() );
    southPanel.add(NewFigure);
    add (southPanel, "South");


    }

    public void actionPerformed (ActionEvent e)
    {
    NewHelp = new Zweitens();


    String which = (String) e.getActionCommand();
    if ( which.equals("BAAM") )
    {
    jumpnumber = 0;
    NewHelp.init();
    jumpnumber=(int)NewHelp.getState();
    Graphics g = getGraphics();
    NewHelp.paint(g);
    centerPanel.add(NewHelp);

    }







    }




    }


    Zweite Class:
    import javax.swing.*;
    import java.awt.*;
    import java.applet.*;
    import java.util.Random;
    // für event handling
    import java.util.*;
    import java.awt.List;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    public class Zweitens extends Canvas{

    public int jumpnumber;
    public String Steps;
    public byte a,x,y;
    public int b,c,d,e,f;
    public java.awt.List multiL;
    public Panel centerPanel;
    public Erstens Springer;

    public String DrehungA [][] = new String [3][4];

    public String ArtA [][][] = new String [3][2][4];
    public String BeschaffenheitA [][] = new String [2][4];


    public void init() {

    Springer = new Erstens();
    Steps = JOptionPane.showInputDialog("Enter number of jumps for next figure.");
    this.jumpnumber = Integer.parseInt(Steps);

    DrehungA[0][0]="Rechts Drehung 90° ";
    DrehungA[0][1]="Rechts Drehung 180° ";
    DrehungA[0][2]="Rechts Drehung 270° ";
    DrehungA[0][3]="Rechts Drehung 360° ";
    DrehungA[1][0]="Links Drehung 90° ";
    DrehungA[1][1]="Links Drehung 180° ";
    DrehungA[1][2]="Links Drehung 270° ";
    DrehungA[1][3]="Links Drehung 360° ";
    ArtA [0][0][0]="Kick Rechter Fuß Front";
    ArtA [0][0][1]="Kick Rechter Fuß Tief Side";
    ArtA [0][0][2]="Kick Rechter Fuß High Side";
    ArtA [0][0][3]="Kick Rechter Fuß Back";
    ArtA [0][1][0]= "Kick Linker Fuß Front";
    ArtA [0][1][1]= "Kick Linker Fuß Tief Side";
    ArtA [0][1][2]= "Kick Linker Fuß High Side";
    ArtA [0][1][3]="Kick Linker Fuß Back";
    ArtA [1][0][0]= "Boden Rechter Fuß Nord-West";
    ArtA [1][0][1]="Boden Rechter Fuß Nord";
    ArtA [1][0][2]="Boden Rechter Fuß Nord-Ost";
    ArtA [1][0][3]="Boden Rechter Fuß Süd";
    ArtA [1][1][0]="Boden Linker Fuß Nord-West";
    ArtA [1][1][1]= "Boden Linker Fuß Nord";
    ArtA [1][1][2]= "Boden Linker Fuß Nord-Ost";
    ArtA [1][1][3]= "Boden Linker Fuß Süd";
    ArtA [2][0][0]="Am Bein Rechter Fuß Front";
    ArtA [2][0][1]="Am Bein Rechter Fuß Back";
    ArtA [2][0][2]="Am Bein Rechter Fuß Hand";
    ArtA [2][0][3]="Am Bein Rechter Fuß Back";
    ArtA [2][1][0]="Am Bein Linker Fuß Front";
    ArtA [2][1][1]="Boden Stand";
    ArtA [2][1][2]="Am Bein Linker Fuß Back";
    ArtA [2][1][3]="Am Bein Linker Fuß Hand";
    Springer.init();




    }
    public int getState() {
    return this.jumpnumber;
    }

    public List getPoing() {
    return this.multiL;
    }
    public void paint( Graphics g )
    {


    repaint();

    a = 0;
    x =10;
    y = 25;
    int paker;
    paker=jumpnumber;
    multiL = new java.awt.List(paker,false);



    while (jumpnumber > 0 ) {

    int b = (int)(Math.random() * 3);
    int c = (int)(Math.random() * 4);
    int d = (int)(Math.random() * 3);
    int e = (int)(Math.random() * 2);
    int f = (int)(Math.random() * 4);
    multiL.add(DrehungA[ b][c]+ArtA[d][e][f]);
    if (x<=150) {
    x = (byte) (x +15);
    }
    else {
    x = 10;
    y= (byte) (y+100);
    }


    jumpnumber --;
    }

    }


    }




    Mein Problem ist nun, wie kriege ich die multiL Liste sichtbar ins centerPanel??
    Und nicht über den Text wundern wollte einfach mal was ausprobieren ;)
     
  8. Guy.brush

    Guy.brush Weißer Winterkalvill

    Dabei seit:
    15.12.08
    Beiträge:
    3.544
    beschränke das Problem doch mal auf das Wesentliche und benutz bitte die CODE Tags. Sich das so anzuschauen ist einfach unübersichtlich und fördert die Motivation auch nicht gerade... ;)
     
  9. Giskanne

    Giskanne Jonagold

    Dabei seit:
    22.06.09
    Beiträge:
    22
    Okay danke für den Tipp. Spätestens Morgen Mittag ist es überarbeitet drinne bin jetzt zu schlapp ;)
     
  10. Giskanne

    Giskanne Jonagold

    Dabei seit:
    22.06.09
    Beiträge:
    22
    So, ich arbeite mal wieder an was neuem udn komm nicht weiter. Ich versuche eine Tabelle in ein GridLayout einzufügen. ICh denke das Problem liegt darin, die Tabelle einzufügen, weil ich die Tabelle schon einzelnd getestet habe, sowie das GridLayout.


    import java.awt.Container;

    import java.awt.GridLayout;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.AbstractTableModel;


    public class Hauptprogramm extends JComponent {


    public static void main(String[] args) {

    JFrame f = new JFrame();
    f.setSize(600, 600);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setLayout( new GridLayout(2,2,10,10));
    f.getContentPane().add( new Hauptprogramm());

    f.setVisible(true);
    }


    public Hauptprogramm(){

    Container cp = getRootPane();
    JTable table = new JTable(new DataModel());
    cp.add(new JScrollPane(table));




    }

    class DataModel extends AbstractTableModel {
    Object[][] data = { { "one", "two", "three", "four" },
    { "five", "six", "seven", "eight" },
    { "nine", "ten", "eleven", "twelve" }};

    // Prints data when table changes:
    class TML implements TableModelListener {
    public void tableChanged(TableModelEvent e) {

    for (int i = 0; i < data.length; i++) {
    for (int j = 0; j < data[0].length; j++);

    }
    }
    }

    public DataModel() {
    addTableModelListener(new TML());
    }

    public int getColumnCount() {
    return data[0].length;
    }

    public int getRowCount() {
    return data.length;
    }

    public Object getValueAt(int row, int col) {
    return data[row][col];
    }

    public void setValueAt(Object val, int row, int col) {
    data[row][col] = val;
    // Indicate the change has happened:
    fireTableDataChanged();
    }

    public boolean isCellEditable(int row, int col) {
    return true;
    }
    }
    }
     
  11. Giskanne

    Giskanne Jonagold

    Dabei seit:
    22.06.09
    Beiträge:
    22
    Ich habe die, meiner Meinung nach, wichtigsten Parts rot markiert. Ich hoffe ihr wisst eine Lösung für das Problem. ICh verspreche diesmal auch schnell zu antworten ;)
     
  12. Giskanne

    Giskanne Jonagold

    Dabei seit:
    22.06.09
    Beiträge:
    22
    HAbt ihr keine Idee, gibt es keine Lösung zu dem Problem??
     

Diese Seite empfehlen