您的位置:首页 > 编程语言 > Java开发

[java]下拉框显示图文详情

2014-04-02 18:33 267 查看
先来看一下效果图:





代码分段解释

csdnZyb001.java

//导入包

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//主类继承于JFrame

public class csdnZyb001 extends JFrame{

private String[] titles={"BlackBerry9700","palybook"};//声明存储标题的数组
private ImageIcon[] image={new ImageIcon("src/9700.jpg"),new ImageIcon("src/playbook.jpg")};  //图片资源
private String[] flag=new String[2];//存储简介的数组
private DPanel dP=new DPanel();//类DPanel的一个实例,用于显示图片文本,包含JLabel,JTextArea
private JComboBox jcbo=new JComboBox(titles);//新建一个下拉框

public static void main(String[] args){
csdnZyb001 frame=new csdnZyb001();//调用构造方法来产生一个新的对象

//对象的各种设置
frame.pack();
frame.setTitle("分类浏览");//设置框架标题
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}

//构造方法

public csdnZyb001(){
flag[0]="北京时间2009年10月15日,加拿大黑莓制造商RIM公司在德国发布了新款手机黑莓9700,该款手机在机身方面更灵巧,运行速度更快。售价预计为600美元左右。并确定了这款手机将在今年(2009年)11月份发售。黑莓9700是RIM公司的新一代旗舰级手机,有人习惯叫这款手机Bold 2或者Onyx。不过正式发行之后,已经确认该款手机为bold9000的后续机型,9700之后还有今年(2010年)上市的9650也一同属于bold阵营。";
flag[1]="RIM于2010年9月27日下午4点(北京时间28日凌晨4点)发布平板电脑PlayBook,用以挑战苹果iPad。RIM日前发布黑莓PlayBook平板机,而苹果iPad又将遭遇劲敌了。据悉,黑莓PlayBook将采用名为Tablet OS的全新操作系统,这一操作系统源于RIM今年早些时候收购QNX。这个新系统类似黑莓OS 6和Palm WebOS的混合体。 黑莓PlayBook主要瞄准商务人士,不过大量的多媒体功能也会吸引普罗大众的注意。";
setDisplay(0);
add(jcbo,BorderLayout.NORTH);//将下拉栏加入Frame中
add(dP,BorderLayout.CENTER);//加入显示模块

//设置监听器来响应用户动作,
jcbo.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
setDisplay(jcbo.getSelectedIndex());
}
});

}

//控制显示的方法

public void setDisplay(int index){
dP.setTitle(titles[index]);
dP.setImageIcon(image[index]);
dP.setDescription(flag[index]);

}

}

//显示模块

class DPanel extends JPanel {
  /** Label for displaying an image icon and a text */
  private JLabel jlblImageTitle = new JLabel();

  private JTextArea jtaDescription = new JTextArea();

  public DPanel() {
  
    jlblImageTitle.setHorizontalAlignment(JLabel.CENTER);
    jlblImageTitle.setHorizontalTextPosition(JLabel.CENTER);
    jlblImageTitle.setVerticalTextPosition(JLabel.BOTTOM);

 
    jlblImageTitle.setFont(new Font("SansSerif", Font.BOLD, 16));
    jtaDescription.setFont(new Font("Serif", Font.PLAIN, 14));

    
    jtaDescription.setLineWrap(true);
    jtaDescription.setWrapStyleWord(true);
    jtaDescription.setEditable(false);

  
    JScrollPane scrollPane = new JScrollPane(jtaDescription);

    
    setLayout(new BorderLayout(5, 5));
    add(scrollPane, BorderLayout.CENTER);
    add(jlblImageTitle, BorderLayout.WEST);
  }

  //设置标题
  public void setTitle(String title) {
    jlblImageTitle.setText(title);
  }

  
  public void setImageIcon(ImageIcon icon) {
    jlblImageTitle.setIcon(icon);
  }

  public void setDescription(String text) {
    jtaDescription.setText(text);
  }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: