[英]How To create a If Statement for an ActionEvent with JButtons
How do I make only the text belonging to the button the user presses only shows. 如何仅显示属于用户按下的按钮的文本。 As of right now this code opens all of the windows showing the texts of the other buttons.I was thinking of a IF statement but I am not sure what do put in for a button clicked.If anyone knows how to generate a if-statement for a button clicked please share the information.
到现在为止,这段代码打开了所有显示其他按钮文本的窗口。我在想一个IF语句,但是我不确定按钮被按下时该怎么做。如果有人知道如何生成if语句对于单击的按钮,请共享信息。
The first class 头等舱
import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
@SuppressWarnings("serial")
public class rohwcg extends JFrame
{
// adds the buttons
private JButton minerbutton;
private JButton farmerbutton;
private JButton lumberjackbutton;
private JButton blacksmithbutton;
public rohwcg()
{
super ("Realms of Havenwood Class Guide");
setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
setBackground(Color.GREEN);
//miner button
Icon mbutton = new ImageIcon (getClass() .getResource("miner.png"));
minerbutton = new JButton(mbutton);
add(minerbutton);
//farmer button
Icon fbutton = new ImageIcon (getClass() .getResource("farmer.png"));
farmerbutton = new JButton(fbutton);
add(farmerbutton);
//lumberjack button
Icon lbutton = new ImageIcon (getClass() .getResource("lumberjack.png"));
lumberjackbutton = new JButton(lbutton);
add(lumberjackbutton);
//blacksmith button
Icon bbutton = new ImageIcon (getClass() .getResource("blacksmith.png"));
blacksmithbutton = new JButton(bbutton);
add(blacksmithbutton);
//the action of the button.
HandlerClass handler = new HandlerClass();
minerbutton.addActionListener(handler);
farmerbutton.addActionListener(handler);
lumberjackbutton.addActionListener(handler);
blacksmithbutton.addActionListener(handler);
//sets the position of the button to center.
blacksmithbutton.setAlignmentX(Component.CENTER_ALIGNMENT);
minerbutton.setAlignmentX(Component.CENTER_ALIGNMENT);
lumberjackbutton.setAlignmentX(Component.CENTER_ALIGNMENT);
farmerbutton.setAlignmentX(Component.CENTER_ALIGNMENT);
}
private class HandlerClass implements ActionListener
{
//what happens when you click the button, below.
public void actionPerformed(ActionEvent event)
{
//farmer
String farmertext = "null farmer";
JOptionPane.showMessageDialog(farmerbutton,farmertext,"The Farmer Class",JOptionPane.PLAIN_MESSAGE);
//miner
String minertext = "null miner";
JOptionPane.showMessageDialog(minerbutton,minertext, "The Miner Class", JOptionPane.PLAIN_MESSAGE);
//blacksmith
String blacksmithtext ="null blacksmith";
JOptionPane.showMessageDialog(blacksmithbutton,blacksmithtext, "The BlackSmith Class", JOptionPane.PLAIN_MESSAGE);
//lumberjack
String lumberjacktext = "null lumberjack";
JOptionPane.showMessageDialog(lumberjackbutton, lumberjacktext, "The Lumberjack Class", JOptionPane.PLAIN_MESSAGE);
}
}
}
The 2nd class 二等
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class thehandler {
public static void main(String args [])
{
rohwcg classes1 = new rohwcg();
classes1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
classes1.setSize(700,300);
classes1.setVisible(true);
//Sets the position of the window to a comman ratio.
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
int x = d.width / 2;
int y = (d.height / 2 ) - classes1.getHeight();
classes1.setLocation(x,y);
}
}
Never-mind i found an answer! 没关系,我找到了答案! quite easy all you need to do is add an object get clicked
非常简单,您需要做的就是添加一个对象并单击
private class HandlerClass implements ActionListener
{ {
public void actionPerformed(ActionEvent click) {
Object source = click.getSource();
if(source == farmerbutton)
{
String farmertext = "Blocks a Farmer cannot break:" +"\r\n" +"\r\n" + "Any type of logs" + "\r\n" + "Stone" + "\r\n" + " Coal ore" + "\r\n" + "Iron ore" + "\r\n" + "Gold ore" + "\r\n" + "Diamond Ore" + "\r\n" + "Redstone ore" + "\r\n" + "Lapiz ore";
JOptionPane.showMessageDialog(farmerbutton,farmertext,"The Farmer Class",JOptionPane.PLAIN_MESSAGE);
}
if(source == minerbutton)
{
String minertext = "null miner";
JOptionPane.showMessageDialog(minerbutton,minertext, "The Miner Class", JOptionPane.PLAIN_MESSAGE);
}
if(source == blacksmithbutton)
{
//blacksmith
String blacksmithtext ="null blacksmith";
JOptionPane.showMessageDialog(blacksmithbutton,blacksmithtext, "The BlackSmith Class", JOptionPane.PLAIN_MESSAGE);
}
if(source == lumberjackbutton)
{
//lumberjack
String lumberjacktext = "null lumberjack";
JOptionPane.showMessageDialog(lumberjackbutton, lumberjacktext, "The Lumberjack Class", JOptionPane.PLAIN_MESSAGE);
}
}
} }
} }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.