2

編集が有効になっているときに制御したい JSpinner があります。キーボードで十分簡単ですが、横にある小さな矢印ウィジェットはどうですか? JSpinner ソースまたはそれに含まれるクラスのいずれかで、それらへの参照を見つけることさえできません。

4

4 に答える 4

2

メソッドを使用setUI()して Jspinner 矢印を非表示にすることができます。

public void hideSpinnerArrow(JSpinner spinner) {
        Dimension d = spinner.getPreferredSize();
        d.width = 30;
        spinner.setUI(new BasicSpinnerUI() {
            protected Component createNextButton() {
                return null;
            }

            protected Component createPreviousButton() {
                return null;
            }
        });
        spinner.setPreferredSize(d);
    }

ご覧のとおり、 makecreateNextButton()createPreviousButton()returnだけnullです。

BasicUI を使用したため、スピナーのサイズを再度設定する必要があります。使用しPreferredSizeました。

于 2016-06-11T18:04:17.003 に答える
0

これらの 2 つの矢印ボタンを制御することはできませんが、このようにすることはできます

    private void buttonActionPerformed(java.awt.event.ActionEvent evt) {                                  

          p.setEnabled(false);

} 

ボタンを押して、ユーザーが jspinner をまったく使用できないとします。これは、変更できるアクションのヒントです。

于 2013-04-29T17:32:48.167 に答える
0

を使用して、特定の値に対して jspinner untill を使用することを許可することもできます

   if(spinner.getValue()==10){
       //show error message and 
       spinner.setEnabled(false);
   }
于 2013-04-29T17:36:05.900 に答える