Hilfe ich habe hier einen Java Code könnt ihr mir helfen zu finden was falsch ist?

3 Antworten

Bitte lies zunächst hier: https://www.gutefrage.net/frage/warum-funktioniert-dieser-java-code-nicht-wenn-ich-ihn-ausfuehre?foundIn=list-answers-by-user#answer-277711507

Die Fehlermeldung, die du bekommst, solltest du dir durchlesen. So wie es aussieht, schließt du deine Pfadangabe nicht in einem Literal ein.

ib1 = ImangeIO.read(new File("rcs/b1.png"));
44

Korrektur, da ich es heiter fröhlich von oben abkopiert habe:

ib1 = ImageIO.read(new File("rcs/b1.png"));

(ImageIO ohne n)

0

Ergänzend zu "regex9" seiner Antwort:

Sicher, dass deine Library "ImangeIO" heißt, und nicht evt. "ImageIO"?

MFG xGlumi

Ich kenn mich nicht mit Java aus, aber der code ist nicht einheitlich eingerückt.

Wie füge ich hier ein JScrollPane ein?

Hallo,

Kann mir jemand sagen wie ich beim JPanel ein JScrollPane einfüge.

import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.*;
public class button extends JFrame{



public static void main(String[] args) {
    button frame = new button();
    frame.setVisible(true);
    frame.setSize(500,600);
    frame.setDefaultCloseOperation(EXIT_ON_CLOSE);


}

public button(){
    super();

    getContentPane().setLayout(null);
    



    JPanel panel = new JPanel();
    panel.setBounds(10,30,100,101);
    add(panel);
    
    int j = 0;

    for (int i =0;i  grösserzeichen 200 ;i++ ) {
        
    
        JLabel label = new JLabel();
        label.setText(String.valueOf(i));
        
        label.setBounds(10,j,40,10);
        panel.add(label);   
        j = j +20;
    }
}
}

Danke

...zur Frage

Verbindung von Netzwerken, wer kann mir den Sinn von folgenden Geräten erklären (siehe unten)?

Also ich schreib bald Abitur in meiner Fachrichtung (IT) und weiß die Funktion folgender Geräte noch nicht, das muss ich aber drauf haben:

Repeater, Hub, Switch, Bridge, Netzwerkkarte, Router, Gateway, Proxy

Also was ein Router ist weiß ich das ist wie zu Hause der dich ans Internet verbindet. Ein Switch weiß ich auch was das ist, ein Switch erweitert nur die Ports am Router mehr nicht, zb wenn der Router nur 4 Eingänge für LAN Kabel hat dann kann man sich eine Switch mit 20 Eingängen kaufen und halt mehr Geräte anschließen. Eine netzwerkkarte weiß ich auch was das ist die dient ja zum senden der Netzwerkdaten etc aber was ist der Rest?

Was ist ein repeater? Welchen Zweck hat er? Was ist eine Bridge, Gateway, Hub, USW? Bei mir zu Hause gibt’s keine Bridge, keinen hub, keine Gateway und wir haben dennoch Internet also was ist der Sinn dieser Geräte?

Mit freundlichen Grüßen

...zur Frage

Java Chat-Programm: Namen und Nachricht tabellarisch ausgeben

Hallo,

ich schreibe zur Zeit einen einfachen Chat Client in Java. Die GUI besteht aus 3 Teilen: einer AWT TextArea, einem TextField und einem Button. In der TextArea werden (Absender-)Namen und Nachricht angezeigt. Sind die Namen aber untersciedlich lang, fängt alles an, unübersichtlich zu werden. Meine Frage: Ist es möglich, Namen und Nachrichten "tabellarisch" darzustellen, dh alle Nachrichten unabhängig der länge des Namens an der gleichen Stelle beginnen zu lassen?

Ich hatte schon mehrere Lösungsversuche, u.a. angleichen der Name -Strings mit Leerzeichen(erfolglos), JTable(zu kompliziert für mich, leider anfänger), zwei textAreas (funktioniert maximal solange wie nachricht und name beide einzeilig sind), ...

Hat jemand ne idee?

GUI Code:

package paket;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import java.awt.TextArea;
import java.awt.Color;


public class GUI extends JFrame {

private static final long serialVersionUID = 1696775456153992537L;
private JPanel contentPane;
public JTextField textField;
public JButton btnSend = new JButton("Send");
private static TextArea textArea = new TextArea(null, 0, 0, TextArea.SCROLLBARS_VERTICAL_ONLY);

/**
 * Create the frame.
 */
public GUI() {
    setResizable(false);
    setTitle("Chat");

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);
    
    textField = new JTextField();
    textField.setBounds(10, 226, 330, 40);
    contentPane.add(textField);
    textField.setColumns(10);
    
    textField.addKeyListener(new Drücker());
    textField.setEditable(false);
    
    btnSend.setBounds(345, 226, 89, 40);
    contentPane.add(btnSend);
    
    btnSend.addActionListener(new DerHandler());
    btnSend.setEnabled(false);
    
    JSeparator separator = new JSeparator();
    separator.setBounds(10, 220, 424, 2);
    contentPane.add(separator);
    
    textArea.setBackground(Color.WHITE);
    textArea.setEditable(false);
    textArea.setBounds(10, 10, 424, 204);
    
    contentPane.add(textArea);
    
    this.setVisible(true);
    
}
//------------------------------------------------------------------------------------------------------------------

public void appendMessage(String text){
    
    textArea.append("[Service] :  " + text + "\n");
    
}

public void appendMessage(String text, String name){
    
    textArea.append("[" + name + "] :  " + text + "\n");
    
}

public void clearText(){
    
    textArea.setText("");
    
}

//  --------------------------------------------------------------------------------------------

Hier kommt nur noch der ActionListener für den Button
...zur Frage

Wie funktioniert bzw. die Spracheingabe bei Java?

Ich bin neu in Java und hatte mich durch die Tutorials geschaut und habe habe ein kleines Programm geschrieben. Ich habe viele Probleme z.B. das Hintergrundbild zeigt nicht an, die JMenubar kann ich nirgends was auf der Seite etwas ausführen. Und bin noch Anfänger.

Mein Vorhaben ist:

Das man bei der Jmenubar was anklickt ohne das ein neues Fenster angezeigt werden soll. es soll einfach z.B da ein Text stehen und funktionen erhalten. Das Fenster soll ein Sprach input haben, Wo man in der Einstellung am Regler waagerecht die Lautstärke der Aufnahme steuern kann. Die Wörter in umwandelt, wo es weißt, was zu tun ist. (Wie ein Diktat z.B). Bei weiteren Fragen stehe ich euch gern zur verfügung. Es ist mein erstes großes Projekt. Wenn ihr wollt könnt ihr euch darin verewigen. Die Main Klasse und die Gui schreibe ich in den kommi, sonst zu lang der Text.

Ich habe Die Klassen:

  • Main
  • Gui
  • var
  • Label

Die var Klasse:

package pack;

import java.awt.Label; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;

import javax.imageio.ImageIO; import javax.swing.JFrame;

public class var {

static JFrame jf1;
static int sreenwidth = 800, sreenheight = 500;
static int background = 0;


static Label lbl1;

static BufferedImage ib1;

public var() {
    
    try {
        //Background
        
        ib1 = ImageIO.read(new File("src/rsc/kl.png"));
    }catch (IOException e) {
        e.printStackTrace();
        System.out.println("Bilder konnte nicht geladen werden");
    }
}

}

Im Label Klasse:

package pack;

import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints;

import javax.swing.JLabel;

public class label extends JLabel{ private static final long serialVersionUID =1L;

protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    Graphics2D g2d = (Graphics2D) g;

    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    
    g.drawImage(var.ib1, 0,var.background, 800,500, null);
    
    repaint();
}

...zur Frage

Woher kommt die Fehlermeldung : Exception in thread "main" java.lang.NullPointerException?

Ich wollte zum lernen des CSV- Formats eine einfache Übungsaufgabe in Eclipse schreiben aber ich bekomme die oben stehende Fehlermeldung. Woran kann das liegen ?

1   import java.io.File;
2   import java.io.FileWriter;
3   import java.io.IOException;
4
5   public class Main {         
6
7    public static void main(String[] args) {
8        FileWriter writer;
9        File datei = new File("soundso.txt");
10
11        try {
12            writer = new FileWriter(datei, true);
13            writer.write("ich bin eine Datei");
14            writer.write(System.getProperty("line.seperator"));
15
16            writer.flush();
17            writer.close();
18
19        } catch (IOException e) {
20            e.printStackTrace();
21          }
22
23      }
24
25  }
...zur Frage

JavaFX mit Gridpane 2 Hbox in das selbe Kästchen?

Hi!

Wie kann ich dafür sorgen, dass wenn ich in ein Kästchen einer Javefx Gridpane 2 Hboxen tue, dass deren beider Komponenten noch für Events empfänglich sind. Hier ein Beispiel, dass NICHT funktioniert:

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;

public class Test extends Application {

public static void main(String[] args) {
    launch(args);
}
@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("Test");
    Button btn1 = new Button();
    btn1.setText("Knopf 1");
    btn1.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {
            System.out.println("1. Knopf");
        }
    });
    Button btn2 = new Button();
    btn2.setText("Knopf 2");
    btn2.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {
            System.out.println("2. Knopf");
        }   
    });
    HBox b1 = new HBox();
    b1.setAlignment(Pos.BASELINE_LEFT);
    b1.getChildren().add(btn1);
    
    HBox b2 = new HBox();
    b2.setAlignment(Pos.BASELINE_RIGHT);
    b2.getChildren().add(btn2);
    
    GridPane root = new GridPane();
    root.setGridLinesVisible(true);
    root.add(b2, 0, 0);
    root.add(b1, 0, 0);
    root.add(new Label("______________SPACER______________"), 0, 1);
    primaryStage.setScene(new Scene(root, 300, 250));
    primaryStage.show();
  }
}

Der 2. Knopf steht zwar am Anfang im Fokus, lässt sich aber nicht drücken/ mit Enter betätigen. Er lässt sich auch nach drücken des 1. Knopfs nicht wieder in den Fokus bringen. Wie kann ich das Lösen, OHNE beide in eine box zu bringen?

Danke für alle hilfreichen Antworten. __________________________________________________________________

Ich will NICHT sowas wie "Du köntest die knöpfe doch einfach in verschiedene Kästchen selzen." hören. Das ist nur ein BEISPIEL, bei meinem Code, für den ich das brauche, ist das vonnöten.

...zur Frage

Was möchtest Du wissen?