十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
参考代码,
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了秀屿免费建站欢迎大家使用!
注意图片的路径,拿不准的话,就使用绝对路径吧
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//我的图片路径是 src\\images\\1.gif .有四张 从1.jpg~~4.jpg
public class ImageDemo extends JFrame {
JLabel jl;
JPanel jp;
public ImageDemo() {
jp = new JPanel();
int i;
for (i = 0; i 4; i++) {
if(i ==0){//初始化的时候,默认显示的图片
jl = new JLabel(new ImageIcon("src\\images\\"+1+".gif"));
}
//按钮
JButton jb = new JButton("第"+(i+1)+"张图");
int z = i;
//当按钮点击的时候
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//设置jl的图片
jl.setIcon(new ImageIcon("src\\images\\"+(z+1)+".gif"));
}
});
jp.add(jb);
}
this.setLocation(200, 120);
this.setSize(500,200);
this.setLayout(new BorderLayout());
this.add(jl);
this.add(jp,BorderLayout.SOUTH);
this.setTitle("图片浏览");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new ImageDemo();
}
}
package bdzhidao;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Mulit_Panel extends JFrame{
JDialog frame1=new JDialog();
JDialog frame2=new JDialog();
JPanel jpf1=new JPanel();
JPanel jpf2=new JPanel();
public Mulit_Panel(){
JPanel jp=new JPanel();
JButton jbt1=new JButton("查询");
JButton jbt2=new JButton("取款");
JButton jbt3=new JButton("变色");
JButton jbt4=new JButton("变色");
jp.add(jbt1);
jp.add(jbt2);
add(jp);
jbt1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
frame1.setVisible(true);
}
});
jbt2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
frame2.setVisible(true);
}
});
jpf1.add(jbt3);
frame1.add(jpf1);
frame1.setTitle("查询");
frame1.setLocation(0,0);
frame1.setSize(100,100);
frame1.setModal(true);
jbt3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jpf1.setBackground(Color.green);
}
});
jpf2.add(jbt4);//在此面板上添加按钮和事件监听器
frame2.add(jpf2);
frame2.setTitle("取款");
frame2.setLocation(200,200);
frame2.setSize(100,100);
frame2.setModal(true);
jbt4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jpf2.setBackground(Color.pink);
}
});
}
public static void main(String[] args){
JFrame frame=new Mulit_Panel();
frame.setTitle("多个窗口");
frame.setLocationRelativeTo(null);
frame.setSize(320,120);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
//因为你说的比较少,功能都实现了。希望对你有帮助
完整代码完全是按你要求写的。
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class TESTswing extends JPanel implements ActionListener{
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JButton btn1 = new JButton("Button1");
JButton btn2 = new JButton("Button2");
public TESTswing()
{
p1.add(btn1);
p1.add(btn2);
p2.add(new JLabel("I’m is p2"));
p3.add(new JLabel("I’m is p3"));
p2.setVisible(false);
p3.setVisible(false);
this.add(p1);
this.add(p2);
this.add(p3);
btn1.addActionListener(this);
btn2.addActionListener(this);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(200, 200);
Container contentPane = frame.getContentPane();
contentPane.add(new TESTswing());
frame.show();
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String cmd = e.getActionCommand();
if (cmd.equals("Button1"))
{
p2.setVisible(true);
p3.setVisible(false);
}
else
{
p2.setVisible(false);
p3.setVisible(true);
}
}
一: 首先对需求进行分析:
两个不同的按钮,
两个事件接收器,
当按钮被点击后, 事件接收器接受到点击信息, 然后进行事件处理逻辑---修改按钮的状态
二: 其次 对需要用的知识进行分析
A. 按钮状态的设置
按钮的状态-----不可见-----通过设置属性是否可见实现
JButton button1 = new JButton("按钮一");
button1.setVisible(false); //设置为不可见的状态
按钮的状态-----不可用-----通过设置属性是否用实现
JButton button2 = new JButton("按钮二");
button2.setEnabled(false); //设置为不可用的状态
B. 事件的接收器的设置, 已经书写
一般使用匿名内部类来书写接收器, 以及处理代码
button.addActionListener(new ActionListener() {//为按钮添加事件接收器
public void actionPerformed(ActionEvent e) {
//这里写事件处理代码
}
});
三: 效果图
当点击按钮一的效果图
当点击按钮二的效果图
四: 参考代码
//导入所需要的包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameDemo extends JFrame {
//申明需要操作的按钮控件
private final JButton button1,button2;
public FrameDemo() {
setTitle("按钮测试窗口");//设置窗口标题
setSize(220, 80);//设置窗口的大小
setLocationRelativeTo(null);//设置窗口居于屏幕中央
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置点击关闭时退出虚拟机
setLayout(new FlowLayout());//布局窗口为流式布局
button1 = new JButton("按钮一");
button2 = new JButton("按钮二");
button1.addActionListener(new ActionListener() {//为按钮一设置事件接收器
public void actionPerformed(ActionEvent e) {
button1.setVisible(false);//当按钮一被点击时,该按钮设置为不可见
}
});
button2.addActionListener(new ActionListener() {//为按钮二设置事件接收器
public void actionPerformed(ActionEvent e) {
button2.setEnabled(false);//当按钮二被点击时,该按钮设置为不可用
}
});
JPanel jp = new JPanel(new GridLayout(1, 2));
jp.add(button1);
jp.add(button2);
add(jp);
}
public static void main(String[] args) {
new FrameDemo().setVisible(true);//创建按钮窗口,并且设置为可见
}
}
五: 拓展思考
java 的源代码一般都遵循java 的规范,
属性的设置使用setXXX(...)方法
属性的获得使用getXxx(); 方法
使用的时候, 可以很方便的调用
所以, 我们平时开发java的时候也应该遵循java开发的规范. 会给我们的工作带来很多的便利
JButton button=new JButton();
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//在这里做想做的事情就好了啊
}
});
比如
JButton button=new JButton();
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("点了就会输出这个");
}
});
比如
JButton button=new JButton();
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//创建一个类的对象,做点事情
Person person=new Person();
person.eat();
}
});
如果要在Javaweb切换数据源,首先你需要新建数据源常量类,此类中的常量是通过spring-db.xml映射对应的,然后配置spring-db.xml,这个是spring链接数据库的配置文件,再进行动态数据源设置,这个类是用来切换数据源,再获取jdbcTemplate的管理类。最后测试动态数据源,一般会用Junit4做单元测试。
总结:这种切换比较规范和简单,麻烦的是必须先配置多个数据源,以前是参考网上资料,自己修改的,希望对你有参考作用!