.
jButton13.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
jButton14.setText(\);
jButton14.addActionListener(new
});
}
jButton13ActionPerformed(evt);
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
jButton15.setText(\);
jButton15.addActionListener(new
});
}
jButton14ActionPerformed(evt);
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
});
}
jButton15ActionPerformed(evt);
实验题2 编写一个程序,有一个窗口,该窗口为BorderLayout布局。窗口的中心添加一个Panel容器:pCenter,pCenter的布局是7行7列的GridLayout布局,pCenter的中放置49个标签,用来显示日历。窗口北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个按钮:nextMonth和previousMonth按钮,单击nextMonth,可以显示当前月的下一个月的日历;单击previousMonth按钮,可以显示当前月的上一个月的日历。窗口的南面添加一个Panel容器pSouth,其布局是FlowLayout布局,pSouth中放置一个标签用来显示一些信息。运行结果如图所示。
.
.
图3.8 运行结果图
[基本要求] 编写完整程序。 运行结果:
主要代码:
private JLabel[] buttonDay = new JLabel[42]; private JButton[] buttonWeek = new JButton[7]; private JLabel labelMonth = new JLabel();
private JButton buttonLastMonth = new JButton(); private JButton buttonNextMonth = new JButton(); private JPanel pCenter=new JPanel(); private JPanel pNorth=new JPanel(); private JPanel pSouth=new JPanel(); private JLabel time=new JLabel();
.
.
public Calender() { super(\);
setBounds(250, 200, 600, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
buttonLastMonth.setText(\上月\);
buttonLastMonth.addActionListener(this); pNorth.add(buttonLastMonth);
buttonNextMonth.setText(\下月\);
buttonNextMonth.addActionListener(this); pNorth.add(buttonNextMonth);
getContentPane().add(pNorth,BorderLayout.NORTH);
getContentPane().add(pCenter,BorderLayout.CENTER); pCenter.setLayout(new GridLayout(7,7)); for (int i = 0; i < 7; i++) { buttonWeek[i] = new JButton();
buttonWeek[i].setText(stringWeekCn[i]); pCenter.add(buttonWeek[i]); }
for (int i = 0; i < 42; i++) { buttonDay[i] = new JLabel(); buttonDay[i].setText(\); pCenter.add(buttonDay[i]);
}
实验题3 实现如图3.9所示的布局方式
功能:前两个文本框输入整型数据。第三个文本框存放前两个文本框数据之和。 要求如下:
第一个文本框的数据是[100,200],如果超出该范围弹出对话框提示用户。弹出提示对话框的时刻是光标离开第一个文本框时。
.
.
图3.9 求和
运行结果:
检验输入数据范围:
主要代码:
class MouseHander extends MouseAdapter {
public MouseHander(JTextField c) {
current=c; }
public void mousePressed(MouseEvent event) {
if(current==result) {
double
firstNumber=Double.parseDouble(first.getText());
.
.
double
secondNumber=Double.parseDouble(second.getText());
double Result=firstNumber+secondNumber; result.setText(\+Result); }
else current.setText(\); }
private JTextField current; }
class MouseMotionHander extends MouseMotionAdapter {
public void mouseMoved(MouseEvent event) {
double number=Double.parseDouble(first.getText());
if(number<100||number>200) {
int type=JOptionPane.ERROR_MESSAGE;
JOptionPane.showMessageDialog(null,new String(\输入数字必须在100~200之间\),\提示\, 2);
} } }
实验题4 编写一个显示图像文件的Application应用程序,在该程序JFrame窗体中添加JPanel面板和一个JToolBar工具栏,在工具栏上添加一个JButton“打开”按扭,单击“打开”按纽,弹出JFileChooser文件打开选择对话框,选择图像文件后将其显示在JPnel面板中。 运行结果:
.