有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用Java中的Jbuttons更改字符串数据

我有一个String叫做s

我有四个JButtons b1 b2 b3 b4 默认情况下String sHello World b1使String s toUpperCase b2使String s toLowerCase b3允许用户更改字符串 b4将字符串重置为Hello World

当我运行程序时,我将s设置为Hello World,但当我单击我的按钮时,字符串不会更改为它的新属性

import java.awt.EventQueue;
import java.awt.event.*;
import javax.swing.*;

public class Driver {
    String s = "Hell World";
    String up;
    String low;

    private JFrame f;
    private JPanel p;

    JFrame frame = new JFrame("Add Some Text");

    JButton b1 = new JButton("Uppercase");
    JButton b2 = new JButton("Lowercase");
    JButton b3 = new JButton("New");
    JButton b4 = new JButton("Reset");

    JLabel jl = new JLabel(s);

    public Driver () {      
        gui();  

    }

    public void gui() { 
        f = new JFrame("Hello World");      
        p = new JPanel();   
        f.add(p);
        p.setLayout(null);

        p.add(b1);
        p.add(b2);
        p.add(b3);
        p.add(b4);

        p.add(jl);

        b1.setLocation(27, 80);
        b2.setLocation(300, 80);
        b3.setLocation(27, 180);
        b4.setLocation(300, 180);

        jl.setLocation(240, 20);

        b1.setSize(230, 80);
        b2.setSize(230, 80);
        b3.setSize(230, 80);
        b4.setSize(230, 80);

        jl.setSize(230, 20);

        // pack the frame for better cross platform support
        f.pack();
        // Make it visible
        f.setVisible(true);
        f.setSize(560,300); // default size is 0,0
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        b1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                 up = s.toUpperCase();
          }
      });

        b2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                low = s.toLowerCase();    
          }
      });

        b3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
                s = JOptionPane.showInputDialog(frame, "");          
          }
      });

        b4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e){
             s = "Hello World";      
          }
      });

    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
           public void run() {
                new Driver();

           }
        });
    } // End main Method

       } // End class Driver

共 (0) 个答案