【问题标题】:Java Button Layouts and DisplaysJava 按钮布局和显示
【发布时间】:2014-04-09 23:44:31
【问题描述】:

我的目标是向控制台显示一条消息,显示我按下了哪个按钮(按钮从 1 到 6)。这是我得到的最远距离。

代码:

public class excercise5_1 extends JFrame {


    public excercise5_1() {
        setLayout(new FlowLayout());

        // Create two panels
        JPanel panel1 = new JPanel();
        JPanel panel2 = new JPanel();


        // Add three buttons to each panel
        panel1.add(new JButton(" Button 1 "));
        panel1.add(new JButton(" Button 2 "));
        panel1.add(new JButton(" Button 3 "));
        panel2.add(new JButton(" Button 4 "));
        panel2.add(new JButton(" Button 5 "));
        panel2.add(new JButton(" Button 6 "));


        // Add panels to frame
        add(panel1);
        add(panel2);

    }

    public static void main(String[] args) {
        excercise5_1 frame = new excercise5_1();
        frame.setTitle(" Exercise 12_1 ");
        frame.setSize(600,75);
        frame.setLocationRelativeTo(null); // center frame
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

如果我按下它,我只是不知道该怎么做才能让它显示“按钮 2”。

【问题讨论】:

标签: java swing jpanel jbutton actionlistener


【解决方案1】:
  1. 不要在 add 方法参数中创建 JButton 的内联。所以不是panel1.add(new JButton(...))
  2. 而是在自己的行上创建您的 JButton:而是 JButton myButton = new JButton(...);然后panel1.add(myButton);
  3. 使用 for 循环来简化操作。
  4. 通过addActioListener(...) 方法将ActionListener 添加到您的按钮,并让ActionListener 打印ActionEvent 的getActionCommand() 字符串。 ActionEvent 是传递给actionPerformed(ActionEvent e) 方法的参数。
  5. 阅读JButton tutorials,因为那里已经为您详细说明。您似乎还没有阅读过有关 JButtons 的任何内容。

【讨论】:

  • @Ryan:不客气。最重要的建议是我的最后一行。甚至在来到这里之前,您必须先深入研究教程。使用教程是一项学习技能,通过练习会变得更好。
猜你喜欢
  • 1970-01-01
  • 2021-09-27
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
相关资源
最近更新 更多