2015-02-12 4 views
0

Как получить введенные значения из моего основного метода в метод создания GUI. Я создал кадр, и у меня есть пользователь, чтобы ввести значение в мой основной метод. им в настоящее время хочет значения, которые пользователь, введенные для отображения на рамеВозвращаемое значение от одного метода к другому

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.util.Scanner; 

/** 
* This program displays an empty frame. 
*/ 
public class SimpleFrame extends JFrame 
{ 

/** 
* The main launcher method 
*/ 
public static void main(String[] args) 
{ 
SimpleFrame frame = new SimpleFrame(); 



    final int FRAME_WIDTH = 240; 
    final int FRAME_HEIGHT = 360; 
    final int FRAME_X = 150; 
    final int FRAME_Y = 245; 



    frame.setLocation(FRAME_X, FRAME_Y); 
    frame.setSize(FRAME_WIDTH, FRAME_HEIGHT); 
    frame.setTitle("New Frame Title"); 

    frame.createGUI(); 
    frame.setVisible(true); 

    Scanner scan = new Scanner(System.in); 
    System.out.println("Enter an integer"); 

    int a = scan.nextInt(); 


    System.out.println(a); 



} 

/** 
* This method sets up the graphical user interface. 
*/ 
private void createGUI() 
{ 
    setDefaultCloseOperation(EXIT_ON_CLOSE); 
    Container window = getContentPane(); 
    window.setLayout(new FlowLayout()); 

    int a; 

    // Nothing in the window yet! 
+0

читать информацию о прослушивателях событий http://c2.com/cgi/wiki?JavaEventHandling – Tschallacka

ответ

0

Theres различные способы, которыми Вы могли бы сделать это, но, судя по вашему коду, вам нужно будет только отображать одно значение (как вы делаете не имеют петли). Вы можете поместить это значение в JLabel и вызвать функцию для обновления текста JLabel.

public void showValue(int a){ 
    label.setText(Integer.toString(a)); 
} 

Если это слишком просто, посмотрите на прослушивателях событий, как предложено в комментариях

0

Пример для обновления метки:

public static void main(String[] args) { 
    JFrame frame = new JFrame(); 
    JLabel label = new JLabel(); 
    frame.getContentPane().add(label, BorderLayout.CENTER); 
    frame.pack(); 
    frame.setVisible(true); 

    Scanner scan = new Scanner(System.in); 
    System.out.println("Enter an integer"); 
    label.setText(String.valueOf(scan.nextInt())); 
} 
0

Вы можете добиться чего-то подобного от ниже приведенного примера , Как только пользователь вводит Value, текст Get отображается в графическом интерфейсе: label

Scanner scan = new Scanner(System.in); 
    System.out.println("Enter an integer"); 
    while(youWantToTakeTheInput){ //Break this on some condtion of your choice 
       int a = scan.nextInt(); 
       System.out.println(a); 

       // Now call the below method with the reference of label 

       displayInputIntoMyGUI(label,a); 
    } 
    public void displayInputIntoMyGUI(label,a){ 
     label.setText(a); // This will replace the previous text 
     // If you want to Append the Text then this is the way , 
     label.setText(label.getText() + "text u want to append"); 

    } 
Смежные вопросы