使用按键使窗口大小增加

时间:2014-03-04 19:57:00

标签: java

我选择了我在java中找到的傻瓜,我正在做的事情不起作用?我想解决一下我是否应该关注更简单的事情。

这是代码......

package frame;
import java.util.Scanner;
import javax.swing.JFrame ;

public class Frame_create {`enter code here`
public static void main(String args[]) {
JFrame myFrame = new JFrame() ;
String myTitle = "blank frame" ;
myFrame.setTitle(myTitle) ;
myFrame.setSize(width, height) ;
myFrame.setDefaultCloseOperation
(JFrame.EXIT_ON_CLOSE) ;
myFrame.setVisible(true) ;
}

static int width = 600 ; 
static int height = 200 ;
private Scanner readyread; 



public void input(String args[]){
    readyread = new
    Scanner(System.in);
    int inputNumber = readyread.nextInt();
    int increase = inputNumber*100 ;
    width += increase ;
}}

1 个答案:

答案 0 :(得分:0)

您是否在任何地方调用input(String args[])方法?下面是一个修改,它创建一个Frame_create对象,然后在其上调用input方法。 input方法也会更改为将JFrame对象作为第二个参数,以便可以再次调用setSize方法来设置增加的宽度。需要在控制台中输入表示大小增加的数字。

package frame;
import java.util.Scanner;
import javax.swing.JFrame ;

public class Frame_create {
public static void main(String args[]) {
  Frame_create fc = new Frame_create();
  JFrame myFrame = new JFrame() ;
  String myTitle = "blank frame" ;
  myFrame.setTitle(myTitle) ;
  myFrame.setSize(width, height) ;
  myFrame.setDefaultCloseOperation
      (JFrame.EXIT_ON_CLOSE) ;
  myFrame.setVisible(true) ;
  fc.input(args, myFrame);
}

static int width = 600 ; 
static int height = 200 ;
private Scanner readyread; 

public void input(String args[], JFrame myFrame){
    readyread = new
    Scanner(System.in);
    int inputNumber = readyread.nextInt();
    int increase = inputNumber*100 ;
    width += increase ;
    myFrame.setSize(width, height);
  }
}

这似乎有效。希望这可以帮助。请注意,如果要连续输入更改的大小并查看宽度增加,则必须在循环中调用input方法。

虽然这可能会回答这个问题,但在现实世界的应用程序中,以这种方式一起使用控制台和GUI可能并不是最佳选择。