如何仅显示属于用户按下的按钮的文本。截至目前,这段代码打开了所有显示其他按钮文本的窗口。我在想一个 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);
}
}
}
2级
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);
}
}