저는이 대학의 프로젝트에서이 학기를 공부하고 있습니다. 나는이 버튼들을 통해 JButtons
을 추가 할 때까지 잘 작동하는 3 가지 방법을 만들었습니다.이 메서드는 입력을 기다리고 있습니다. 사용자 (나는 스캐너를 사용하고 또한 BufferReader
을 시도했다)하지만 지금은 프로그램이 실행을 멈추고 terminal.Also에서 어떤 종류의 오류도 발생하지 않는다. 여기에는 코드가있다. JButtons
: 동일한 문제JButtons - 입력 할 수 없습니다.
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();
}
}
에 이르게
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();
}
}}
보다 단순화 된 코드
}
그리고 문제는 3 개 마지막 methods.These 방법에서 발생
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);
}
}
당신의 시간에 대한 주 class.Thanks에 존재하는 간단한 주요
!
글쎄, 무엇보다도 IDE (Netbeans, Eclipse, IntelliJ)는 "실행이 중지되었습니다"라고 말하는가? 아무 일도 일어나지 않고 모든 것이 잘되는 것처럼 0으로 끝나나요? – Shiki
BlueJ.It에서 일하고 있어요. 첫 번째 Scanner.nextLine()에서 addHotel()을 호출 할 때 실행을 멈 춥니 다. 입력을 제공해야하지만 터미널에 쓸 수 없습니다. 또한 호출 할 수 없습니다. 다른 방법. –