📄 buttondemo.java
字号:
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class ButtonDemo extends JFrame implements ActionListener {
// Create a panel for displaying message
protected MessagePanel messagePanel
= new MessagePanel("Welcome to Java");
// Declare two buttons to move the message left and right
private JButton jbtLeft = new JButton("Left");
private JButton jbtRight = new JButton("Right");
public static void main(String[] args) {
ButtonDemo frame = new ButtonDemo();
frame.setTitle("ButtonDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 200);
frame.setVisible(true);
}
public ButtonDemo() {
// Set the background color of messagePanel
messagePanel.setBackground(Color.yellow);
// Create Panel jpButtons to hold two Buttons "<=" and "right =>"
JPanel jpButtons = new JPanel();
jpButtons.setLayout(new FlowLayout());
jpButtons.add(jbtLeft);
jpButtons.add(jbtRight);
// Set keyboard mnemonics
jbtLeft.setMnemonic('L');
jbtRight.setMnemonic('R');
// Set icons and remove text
jbtLeft.setIcon(new ImageIcon("image/left.gif"));
jbtRight.setIcon(new ImageIcon("image/right.gif"));
jbtLeft.setText(null);
jbtRight.setText(null);
// Set tool tip text on the buttons
jbtLeft.setToolTipText("Move message to left");
jbtRight.setToolTipText("Move message to right");
// Place panels in the frame
getContentPane().setLayout(new BorderLayout());
getContentPane().add(messagePanel, BorderLayout.CENTER);
getContentPane().add(jpButtons, BorderLayout.SOUTH);
// Register listeners with the buttons
jbtLeft.addActionListener(this);
jbtRight.addActionListener(this);
}
/** Handle ActionEvent */
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jbtLeft) {
messagePanel.moveLeft();
}
else if (e.getSource() == jbtRight) {
messagePanel.moveRight();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -