有大神说一下Java这种组合框显示图片具体的代码,谢谢了 5
4个回答
展开全部
效果图如下
swing和awt写法差别不大,我使用的是swing的组件
参考代码和注释如下
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//本窗口继承自JFrame 实现了 ActionListener接口
public class JCBFrame extends JFrame implements ItemListener{
JComboBox<String> jcb;
JLabel jlimg;
// 文字
String[] ss = {"樱桃","香蕉","西瓜"};
//文字对应图片位置
String[] icons = {"img/1.jpg","img/2.jpg","img/3.jpg"};
int init = 2;//初始选择的下标-->西瓜
public JCBFrame() {
jcb = new JComboBox<String>(ss);
jcb.setSelectedIndex(init);//初始选择的项目
jcb.addItemListener(this);//设置条目事件响应 ,比如选中某个条目的处理
add(jcb,BorderLayout.NORTH);
jlimg = new JLabel();
jlimg.setHorizontalAlignment(JLabel.CENTER);
add(jlimg);
showImg(init);//初始显示的图片
//窗口属性的设置
setTitle("测试窗口");//标题
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(260, 300);//大小
setLocationRelativeTo(null);//居中
}
//显示图片
private void showImg(int index) {
jlimg.setIcon( new ImageIcon(this.getClass().getResource(icons[index])));
}
//main方法
public static void main(String[] args) {
new JCBFrame().setVisible(true);//实例化并可见
}
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange()==ItemEvent.SELECTED) {//当选择某个条目时
showImg(jcb.getSelectedIndex());//显示的图片改变
}
}
}
追问
照片放在桌面上只把路径改一下可以吗
追答
如果是桌面上的图片,比如
String[] icons = {"C:\\Users\\Administrator\\Desktop\\1.jpg","C:\\Users\\Administrator\\Desktop\\2.jpg","C:\\Users\\Administrator\\Desktop\\3.jpg"};
那么修改显示图片的方法 代码如下
//显示图片
private void showImg(int index) {
jlimg.setIcon(new ImageIcon(icons[index]));
}
展开全部
用combobox存储字符串,用label来显示图片
追问
能说一下具体的代码吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是一个borderlayour,一个在北,一个在中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文件写好了,私信我,发给你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |