求解一道Java的程序设计题

如题所述

package com.demo;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class myTest extends JFrame {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new myTest();

    }
    
    public myTest() {
        
        myBorder();
        this.setTitle("标题");
        this.setLocation(200, 200);
        this.setSize(240, 80);
        this.setVisible(true);
        
        this.addWindowListener(new WindowAdapter() {
            
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        
    }
        
        
    public void myBorder() {
        
        String [] score = {"90", "70", "85", "80"};
        String [] name = {"张三","李四","王五","小明"};
        
        JLabel jlName, jlSubject, jlScore;
        jlName = new JLabel("姓名");
        jlSubject = new JLabel("语文");
        jlScore = new JLabel(score[0]);
        
        JComboBox jcb = new JComboBox(name);
        /*
        jcb.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                int index = jcb.getSelectedIndex();
                jlScore.setText(score[index]);
            }
        });
        **/
        
        jcb.addItemListener(new ItemListener() {
            
            @Override
            public void itemStateChanged(ItemEvent arg0) {
                // TODO Auto-generated method stub
                int index = jcb.getSelectedIndex();
                jlScore.setText(score[index]);
            }
        });
        
        this.setLayout(new FlowLayout());
        this.add(jlName);
        this.add(jcb);
        this.add(jlSubject);
        this.add(jlScore);
    }

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-04
import java.awt.FlowLayout;
import javax.swing.*;
import java.awt.event.*;
public class Demo1 extends JFrame implements ItemListener{
public static void main(String[] args){
new Demo1();
}
JComboBox box=null;
String[] name={"王红","张庆","吴扬","何望"};
String[] score={"90","74","85","97"};
String text=null;
JLabel label2=null;
public Demo1(){
JPanel p=new JPanel(new FlowLayout(0,5,5));
JLabel label1=new JLabel("姓名:");
box=new JComboBox(name);
label2=new JLabel();
p.add(label1);
p.add(box);
p.add(label2);
add(p);

setSize(200,100);
setLocationRelativeTo(null);
setVisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});

box.addItemListener(this);
int index=box.getSelectedIndex();
text="英语:"+score[index];
label2.setText(text);
}

public void itemStateChanged(ItemEvent e) {
int index=box.getSelectedIndex();
text="英语:"+score[index];
label2.setText(text);
}
}

相似回答