小编the*_*ton的帖子

这个原型GUI在Java中是否可行

先生们,

作为练习更多关于类和函数可访问性(例如公共,私有,静态等)的练习,我想编写一个具有以下属性的Java GUI(在Netbeans IDE中):

  1. 只有一个jButton和一个jTextField - 没有其他GUI组件.
  2. 启动程序后第一次按下jButton会在jTextField中显示"0".
  3. 再次按下jButton会将jTextField中的数字增加1(即jButton扮演增量器的角色).
  4. jButton无法从jTextField获取现有文本,读取/解析文本,获取最新数字,然后递增数字.

    例如:

String someString = jTextField.getText();
int someInt = String.valueOf(someString);
someInt++;
String newString = new String();
newString = String.valueOf(someInt);
jTextField.setText()
Run Code Online (Sandbox Code Playgroud)

不被允许.

鉴于上述要求,该项目比看上去困难得多.根据要求,我将不得不在其他地方创建一个可以跟踪计数器值的类(请记住,禁止从TextField中提取当前计数器值).但是,由于Netbeans似乎不允许调用在别处(按钮外)实例化的对象的类方法,这似乎是不可能的.

在所有尝试之后,鉴于其限制,似乎在Netbeans中不可能满足上述4标准的GUI.

我最好的失败尝试 - 因此到目前为止(如果有意义的话)是这样的:

private void IncrementButtonActionPerformed(...){
    CountObject C = new CountObject();
    int i = C.IncrementCounter();// CountObject has a method for this.
    // line or two here to typecast i into a String
    jTextField.setText("i");
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,因为每次重新按下IncrementButton时,它都会简单地实例化一个新的CountObject.在此IncrementButtonActionPerformed事件处理程序之外实例化CountObject,然后从事件处理程序中调用CountObject.IncrementCounter()方法是不允许的,或者看起来如此.

我是否正确地认为上述要求1-4根本无法在Java Netbeans中完成?

谢谢,the_photon

java user-interface swing netbeans

-1
推荐指数
1
解决办法
136
查看次数

标签 统计

java ×1

netbeans ×1

swing ×1

user-interface ×1