Ich arbeite dieses Semester an Projekt an meiner Universität.Ich habe 3 Methoden gemacht, die gut funktionierten, bis ich JButtons
hinzufügte. Ich rufe sie durch diese buttons.These Methoden warten Eingabe von der Benutzer (ich benutze Scanner für das und ich habe auch versucht BufferReader
), aber jetzt hört das Programm einfach zu laufen und ich kann nicht am Terminal schreiben.Auch bekomme ich keine Art von Fehler von der BlueJ.Hier ist der Code für der JButtons
:JButtons-kann keine Eingabe geben
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Window extends JFrame implements ActionListener {
JButton b1 = new JButton("Load from file");
JButton b2 = new JButton("Save to file");
JButton b3 = new JButton("Add hotel and resrvations");
JButton b4 = new JButton("Search hotel by id");
JButton b5 = new JButton("Search reservation by name");
Main m0 = new Main();
public Window(Main main0) {
super("Management");//Name
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
FlowLayout flow = new FlowLayout();
setLayout(flow);
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
pack();
setVisible(true);
m0 = main0;
}
public void actionPerformed(ActionEvent ae) {
Object source = ae.getSource();
if(source == b1) {
m0.loadFile();
}else if(source == b2) {
m0.saveFile();
}else if(source == b3) {
m0.addHotel();
}else if(source == b4) {
m0.searchById();
}else if(source == b5) {
m0.searchByName();
}
}}
ein vereinfachten Code, die
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Window extends JFrame implements ActionListener {
JButton b1 = new JButton("Get input");
Main m0 = new Main();
public Window(Main main0) {
super("Management");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b1.addActionListener(this);
FlowLayout flow = new FlowLayout();
setLayout(flow);
add(b1);
pack();
setVisible(true);
m0 = main0;
}
public void actionPerformed(ActionEvent ae) {
Object source = ae.getSource();
if(source == b1) {
m0.userInput();
}
}
zum gleichen Problem führt,
}
Und eine einfache Haupt
import java.io.*;
import java.util.*;
public class Main{
public void userInput(){
Scanner scan = new Scanner(System.in);
System.out.println("Give hotel's name : ");
String name = scan.nextLine();
System.out.println(name);
}
public static void main(){
Main m0 = new Main();
Window w = new Window(m0);
}
}
Das Problem bei den drei letzten methods.These Methoden an dem Haupt class.Thanks für Ihre Zeit existieren kommt !!
Nun, in erster Linie, was macht Ihr IDE (Netbeans, Eclipse IntelliJ) sagen, wenn es "nicht mehr läuft"? Beendet es mit einer Rückkehr 0 wie nichts passiert ist und alles ist gut? – Shiki
Ich arbeite in BlueJ.Es stoppt zu laufen, wenn ich addHotel() an der ersten Scanner.nextLine() aufrufen. Dort soll ich Eingabe geben, aber ich kann nicht am Terminal schreiben.Auch kann ich nicht anrufen jede andere Methode. –