1. 设计一程序,创建一个用户界面,设计一块显示图片的空间及“开始”与“停止”两个按钮,当你按下“开始”按钮时连续显示10次图片,同时有一个进度条显示进度,显示的速度可以通过滑杆调节。
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
public class MyProgressMonitor implements ActionListener,ChangeListener {
JFrame f = null; //创建全局的类对象和变量,先赋空值,以备在各个方法中使用;
Timer timer = null;//计时器
ImageIcon[] icons = null;
JSlider slider = null;//滑动杆
JLabel label = null;
int index=0;//图片数组的索引
int total=0;//图片的总数
ProgressMonitor pMonitor;
public MyProgressMonitor() { //写该类的构造方法:
f = new JFrame("进度条例题");
Container contentPane = f.getContentPane();
icons = new ImageIcon[10];
for (int i=0 ; i<10 ; i++)
icons[i] = new ImageIcon((i+1)+".gif");
label = new JLabel(icons[0]);
//实例化滑动杆对象:为水平放置,最小值0,最大值100,初始设置为50;
slider = new JSlider(JSlider.HORIZONTAL,0, 100,50);
slider.setPaintTicks(true); //进度条刻度显示方式为True,下面的两个语句才起作用
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setPaintLabels(true);
slider.addChangeListener(this);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1,2));
JButton b1 = new JButton("Start");
b1.addActionListener(new ButtonListener());
panel.add(b1);
JButton b2 = new JButton("Stop");
b2.addActionListener(new ButtonListener());
panel.add(b2);
panel.setPreferredSize(new Dimension(200,30));
timer = new Timer(slider.getValue()*10,this);
contentPane.add(slider,BorderLayout.NORTH);
contentPane.add(label,BorderLayout.CENTER);
contentPane.add(panel,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
public static void main(String[] args){
new MyProgressMonitor();
}
public void actionPerformed(ActionEvent e){
if (pMonitor.isCanceled()){
timer.stop();index = 0;total = 0;
}
else {
pMonitor.setProgress(total*10);
}
if (total < 10){
if (index == 5)
index = 0;
label.setIcon(icons[index]);
label.repaint();
index++;
total++;
}
else
timer.stop();
}
public void stateChanged(ChangeEvent e1){
timer.setDelay(slider.getValue()*10);
}
class ButtonListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if (e.getActionCommand().equals("Start")){
pMonitor = new ProgressMonitor(f,"Showing Progress Monitor","",0,100);
pMonitor.setNote("Changing Photo....");
pMonitor.setMillisToDecideToPopup(0);
pMonitor.setMillisToPopup(1000);
pMonitor.setProgress(0);
index = 0;total = 0;
timer.start();
}
if (e.getActionCommand().equals("Stop")){
timer.stop();
}
}
}
}
2编写一个商品类别类:属性有:类别好id,类别名name。
package myshop;
/**
* 商品类别信息类
*/
public class Category {
/** 商品类别ID */
private int id;
/** 商品类别名称 */
private String name;
/** 空构造方法 */
public Category() {
}
/**
* 构造方法
* @param id int 商品类别ID
* @param name String 商品类别名称
*/
public Category(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
}
分享到:
相关推荐
Java编程练习题
Java编程练习题.Java编程练习题.Java编程练习题.Java编程练习题.Java编程练习题.Java编程练习题.
java经典练习题 -网络编程 TCP Socket通信
java课后编程练习题答案
Java面向对象编程练习题.pdf
50道经典java练习题..........
很好的java基础编程练习题,对初学java编程者有所帮助,谢谢。
30道经典的编程练习题,适合用来作为考核java的编程能力
java编程练习题,内有许多基础、经典的java编程练习题,快来下载吧!
java多态、继承练习题,包含题目与答案,............................................................................................................
Java数组阶段的选择题、填空题、编程题、判断题都有,适合想自己测试下的学生以及准备出题的老师
java程序设计教程_第七版_练习题答案
50道Java经典编程练习题 提高自己的编程能力
java编程思想练习题答案,各个练习源码,以java文件形式保存。
【Java编程练习题资源】 学习配套博客地址:https://blog.csdn.net/qq_36631076/article/details/136791045 在学习Java编程时,熟练掌握常用的Java类和API是至关重要的。以下是关于Java编程基础、面向对象和常用类...
java基础if选择题练习题,文档包含了答案与分析,适合学习用,本文档仅仅用于学习分享,不得用于商业用途
练习题一、填空题 1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是( JAVA SE )、( JAVA EE )、( JAVA ME )。 2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为(D:JDK\bin )、...
JAVA编程题全集(100题及答案)