-3

奇妙なものを手に入れましたt。あるクラスで使用する変数があり、それが変更され(たとえば、1が5になります)、別のクラスから呼び出してそのクラスで使用します。問題は、渡されたときに常に0であるということです。私は何を間違っているのですか

これが編集されているクラスのtです

public int t = 1; //defualt value for amount of seconds in the future the job should wait untill sent

    public int getT() {
        return (t);
    }

    public void setT(int t) {
        this.t = t;
    }

これは私が使用しているクラスで、上記のクラスからtを呼び出して使用します。

public class DealyTillPrint {

    public int t;

    public String CompletefileName;
    private String printerindx;
    private static int s;
    private static int x;
    public static int SecondsTillRelase;

    public void countDown() {
        System.out.println("Countdown called");
        s = 1; // interval 
        t = (t * 60); // number of seconds
        System.out.println("t is : " + t);
        while (t > 0) {
            System.out.println("Printing in : " + t);
            try {
                Thread.sleep(s * 1000);
            } catch (Exception e) {
            }
            t--;
        }

ここがtスピナーを使って設定したところです

<p:spinner min="1" max="1000" value="#{printerSettings.t}"  size ="1">
                    <p:ajax update="NewTime"/>
                </p:spinner>

ゼロではない値が渡される場所でtを呼び出すにはどうすればよいですか?

4

2 に答える 2

1

DealyTillPrintあなたが宣言することは、最初のコードサンプルで宣言することpublic int t;tは異なります。t値を指定しないため、デフォルト値の0が割り当てられます。t最初のサンプルと2番目のサンプルで共有することは何もしていませんt

t = (t * 60); // number of secondsに変更t = (printerSettings.getT() * 60);

于 2013-02-11T17:14:50.480 に答える
0

printerSettingsWebページからオブジェクトにオブジェクトを取得する必要がありDealyTillPrintます。あなたが提出したコードを見て、それを行う方法をあなたに伝えることはできません。

于 2013-02-11T17:23:45.643 に答える