JButton没有回应,为什么?

时间:2014-11-16 10:53:41

标签: java swing jbutton

我正在尝试按下按钮时显示一条消息,它不起作用。谁能告诉我我错过了什么?

最后我有KeyListener和if JOptionPane,但网站不允许我发布(我是新手)。

无论如何,如果有人能告诉我我做错了什么,那将是非常好的,谢谢。

public javalearning(){

FlowLayout f = new FlowLayout();
setLayout(f);
this.setSize(200,200);

JFrame j = new JFrame();
this.setTitle("this is a tittle");

JButton button = new JButton();
    button.setText("Button");
    this.add(button);

    JButton button2 = new JButton();
    button2.setText("Button2");
    this.add(button2);

    this.setVisible(true);
}

3 个答案:

答案 0 :(得分:2)

你说:

  

最后我有KeyListener和if for JOptionPane,

正如tutorial that I've linked to in my comment所解释的那样,你不要将KeyListeners与JButton一起使用,而是使用ActionListeners。

如,

myButton.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent evt) {
       System.out.println("Button pressed");
   }
});

你说:

  

但该网站不允许我发布它(我是新手)。

此网站将允许您发布任何合理数量的代码。如果您在发布时遇到问题,请告诉我们错误的具体情况,也许我们可以帮助您。同样,如果您尝试将代码作为图像发布,请不要。它应该是格式化为代码的文本,而不是图像。但最重要的是,不要让我们陷入黑暗,否则我们无法帮助你。

答案 1 :(得分:2)

请按照此代码中的示例进行操作,您将没事。如果在一天结束时您无法解决它。你可以回信。我相信这会对你有所帮助。

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

public class ChangeButtonLabel{
  JButton button;
  public static void main(String[] args){
  ChangeButtonLabel cl = new ChangeButtonLabel();
  }



  public ChangeButtonLabel(){
  JFrame frame = new JFrame("This is a Frame");
  button = new JButton("Button");
  button.addActionListener(new MyAction());
  frame.add(button);
  frame.setSize(400, 400);
  frame.setVisible(true);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  public class MyAction implements ActionListener{
  public void actionPerformed(ActionEvent e){
  String text = (String)e.getActionCommand();
  if (text.equals("Button2")){
  button.setText("I am Sectona");
  }
  else{
  button.setText("Click Me");
  }
  }
  }
}

答案 2 :(得分:0)

像Hovercraft说的那样,你需要设置ImagIcon(String image_name)

下面的代码将帮助您在JButton上嵌入图像。如果你仍然觉得难以整合,请给我一个喊叫

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

public class IconButton{
  public static void main(String[] args){
  JFrame frame = new JFrame("Icon on button");
  JButton button = new JButton("Image button fro Sectona");
  Icon imgicon = new ImageIcon("sectona.gif");
  JPanel panel = new JPanel();
  button.setIcon(imgicon);
  panel.add(button);
  frame.add(panel, BorderLayout.NORTH);
  frame.setSize(400, 400);
  frame.setVisible(true);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}