[英]Make a window increase in size using keystrokes
我使用了我在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 ;
}}
您是否在任何地方調用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在現實應用程序中可能不是最佳選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.