简体   繁体   中英

Netbeans Swing jButton

I have two buttons and in the second one I want to use a variable made in the first button. So Netbeans is generating code of the button. ActionEvent generated by netbeans is "private void buttonActionPerformed(java.awt.event.ActionEvent evt)" and I cant change it. I tried to change button to public in button setting. I changed it to public but in code it is still private. I dont know what to do. Anyone know where the problem might be? Thanks.

What you want to do is, there is a blank line above the private void buttonActionPerformed(ActionEvent evt) you create your variable in that line the example: int a; now the a will turn green. This is called a global variable

    JFrame jtfMainFrame;
    JButton jbnButton1, jbnButton2;
    JTextField jtfInput;
    JPanel jplPanel;
    //Declaring the string variable setText
    String setText;
    public JButtonDemo2() {
        jtfMainFrame = new JFrame("Which Button Demo");
        jtfMainFrame.setSize(50, 50);
        jbnButton1 = new JButton("Button 1");
        jbnButton2 = new JButton("Button 2");
        jtfInput = new JTextField(20);
        jplPanel = new JPanel();
        jbnButton1.setMnemonic(KeyEvent.VK_I); //Set ShortCut Keys
        jbnButton2.setMnemonic(KeyEvent.VK_I);




      jbnButton1.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            //Setting the setText variable
            setText = "Do whatever you want";
        }
    });

    jbnButton2.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            //Displaying the setText variable
            jtfInput.setText(setText);
        }
    });





        jplPanel.setLayout(new FlowLayout());
        jplPanel.add(jtfInput);
        jplPanel.add(jbnButton1);
        jplPanel.add(jbnButton2);
        jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
        jtfMainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jtfMainFrame.pack();
        jtfMainFrame.setVisible(true);
    }

当类定义在那时开始时,只需将其声明为全局方法即可。在两个按钮上单击并声明您要使用的变量,然后根据您的用途更改变量的值。

No need to change the ActionPerformed() . All you have to do is declare the variable as a global variable and then do whatever the task inside the button's ActionPerformed().

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM