我正在尝试按下按钮时显示一条消息,它不起作用。谁能告诉我我错过了什么?
最后我有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);
}
答案 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)
下面的代码将帮助您在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);
}
}