如何仅显示属于用户按下的按钮的文本。截至目前,这段代码打开了显示其他按钮文本的所有窗口。我正在考虑一个IF语句,但我不确定点击一个按钮是什么。如果有人知道如何生成if语句点击按钮,请分享信息。
第一堂课
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);
}
}
}
第二课
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);
}
}
答案 0 :(得分:1)
没关系,我找到了答案!所有你需要做的就是添加一个被点击的对象
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);
}
}
}
}