내 어드벤처 게임에 입력 내용을 기반으로 무언가를 출력하는 중첩 된 if 문이 있지만 JTextField는 하나의 입력 만 가져온 다음 사라집니다. JTextField에 무제한 입력을 받아서 .append를 사용하여 jtextarea에 표시하려고합니다. if 문에서 이야기 경로가 끝날 때까지 사용자 입력을 계속 받도록하고 싶습니다. 만약 JTextField로부터 입력을 받아서 JTextArea에 출력을 저장하고 싶다면.자바 인터랙티브 소설을 만들고 있지만 JTextArea가 사라집니다.
import java.awt.Dimension;
import java.awt.Font;
import java.awt.KeyboardFocusManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.IOException;
import java.util.Scanner;
import java.io.Reader;
import javax.swing.*;
import javax.swing.text.BadLocationException;
/*JakeBarcelona
*Date:May 5, 2016
*Program Name:StoryTester.java
*Description:
*/
public class StoryTester extends JFrame
{
static JTextField input = new JTextField(30);
static JTextArea fields = new JTextArea(30,50);
static Story ARoom=new Story();
public static void main(String[] args) throws BadLocationException
{
JFrame frame = new JFrame();
String story=new String();
JLabel intro = new JLabel(story);
//Sets the JLabels font and color
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//puts a red x to close it
Story wow = new Story();
String introduction=wow.intro();
//creates array field for text editing
fields.insert(introduction, 0);
String name= fields.getText(0,30);
//creates new Panel
JPanel myPanel=new JPanel();
//creates label for text box
myPanel.setPreferredSize(new Dimension(600,600));
myPanel.add(fields);
myPanel.add(input);
//puts a scroll bar and cancel and ok button
JScrollPane scroll = new JScrollPane(fields, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
myPanel.add(scroll);
int result = JOptionPane.showConfirmDialog(null, myPanel, "Story", JOptionPane.OK_CANCEL_OPTION);
if(result==JOptionPane.OK_OPTION);
{
String jake = input.getText();
String need = ARoom.storyStatements(jake);
System.out.println(need);
fields.append(need);
}
}
}
OK를 들어
은, 지금은 혼란 스러워요. 두 번째로 코드를보고 있는데 myPanel이 JOptionPane에 추가 된 것을 볼 수 있습니다. JOptionPane에 표시 될 예정입니까, 아니면 기본 JFrame GUI에 표시되어야합니까? –
JOptionPane에 JTextField에서 입력 한 내용을 표시하고 JTextArea에 텍스트를 표시한다고 가정합니다. –
질문을 편집하고 가능한 정확하게 수행 할 수 있도록 철자를 입력하십시오. myPanel이해야 할 일,보기에 그대로 있어야하고 기본 GUI가되어야하는지, JFrame과 어떻게 관련되는지, 프로그램과 문제를 더 잘 이해하는 데 도움이되는 모든 것. –