我选择了我在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 ;
}}
答案 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可能并不是最佳选择。