第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java GUI 計算器上未顯示文本的問題

Java GUI 計算器上未顯示文本的問題

炎炎設計 2023-10-19 14:56:10
當我運行該程序時,GUI 就會出現(xiàn)。當我單擊按鈕時,屏幕上沒有任何內(nèi)容。在我的操作執(zhí)行方法中,屏幕無法解析,因為我尚未在方法中聲明它。screen 在我的 init 方法的開頭聲明。我不明白第二種方法中的代碼將如何應用于第一種方法(GUI)。有小費嗎?import acm.program.*;import javax.swing.*;import java.awt.*;    // for graphics import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import acm.gui.*;public class Calculator extends DialogProgram implements ActionListener{     public void init() {    JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bm,bd,ba,bs,bdec,bc;    DoubleField screen;    //create a panel     JPanel P= new JPanel();     // main panel     JPanel P1= new JPanel();    // panel for buttons     JPanel P2= new JPanel();    // panel for screen    // adding panel to dialog box    add(P);        // main panel     P.add(P2);     // adding screen    P.add(P1);     // adding panel of buttons     // set panel color     P.setBackground(Color.yellow);                     // grid layout for buttons     P1.setLayout(new GridLayout(4,4,4,4));           // layout for button panel     P.setLayout(new GridLayout(2,1));                // layout for main panel     // create screen     screen = new DoubleField();                      // creating screen     screen.setPreferredSize(new Dimension(200,40));  // setting screen size     screen.setEditable(false);                       // screen can not be edited     // integer buttons     b0 = new JButton("0");    b1 = new JButton("1");    b2 = new JButton("2");    b3 = new JButton("3");    b4 = new JButton("4");    b5 = new JButton("5");    b6 = new JButton("6");    b7 = new JButton("7");    b8 = new JButton("8");    b9 = new JButton("9");    // operator buttons     bm = new JButton("*");    bd= new  JButton("/");    ba = new JButton("+");    ba.addActionListener(this);     bs = new JButton("-");    // decimal button     bdec = new JButton(".");    // clear button    bc = new JButton("C");    } 
查看完整描述

1 回答

?
互換的青春

TA貢獻1797條經(jīng)驗 獲得超6個贊

將所有 GUI 組件的變量聲明移出init()方法,但仍在Calculator類內(nèi),這樣它們對于actionPerformed可能需要訪問它們的其他方法(例如 )是可見的:


public class Calculator extends DialogProgram implements ActionListener{ 


    JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bm,bd,ba,bs,bdec,bc;

    DoubleField screen;

    JPanel P, P1, P2;


    public void init() { 

        P= new JPanel();     // main panel 

        P1= new JPanel();    // panel for buttons 

        P2= new JPanel();    // panel for screen

        // continue setting up the rest of the GUI...

    }


    public void actionPerformed (ActionEvent e) {

         String clicked = e.getActionCommand();

         if (clicked.equals("ba")) {

             screen.setText("+");

         }

    }   

}


查看完整回答
反對 回復 2023-10-19
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號