如何将JComboBox放入Applet中

时间:2016-01-28 05:15:18

标签: java applet

我在下面有这个代码。如何在Applet中运行此JComboBOx?我正在尝试创建一个applet,允许用户在JTextArea中选择字体并输入该字体。我一直在寻找答案,并没有取得什么进展。错误java.lang.reflect.InvocationTargetException不断弹出。如果您需要更多细节,请发表评论。

import java.applet.Applet;
import java.awt.BorderLayout;

import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GraphicsEnvironment;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Scanner;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;


public class Font_Chooser extends JApplet {

    JLabel jlbPicture;  
public Font_Chooser(){


    // Create the combo box, and set first item as Default
     GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        String[] names = ge.getAvailableFontFamilyNames();
    final JComboBox comboTypesList = new JComboBox(names);
    comboTypesList.setSelectedIndex(0);
    comboTypesList.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            JComboBox jcmbType = (JComboBox) e.getSource();
            String cmbType = (String) jcmbType.getSelectedItem();
            jlbPicture.setIcon(new ImageIcon(""
                    + cmbType.trim().toLowerCase() + ".jpg"));
            System.out.println(comboTypesList.getSelectedItem());
            //Font myFont = new Font((String)comboTypesList.getSelectedItem(), Font.BOLD, 12);

        }
    });
    // Set up the picture
    jlbPicture = new JLabel(new ImageIcon(""
            + names[comboTypesList.getSelectedIndex()] + ".jpg"));
    jlbPicture.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
    jlbPicture.setPreferredSize(new Dimension(177, 122 + 10));
    // Layout the demo
    setLayout(new BorderLayout());
    add(comboTypesList, BorderLayout.NORTH);
    add(jlbPicture, BorderLayout.SOUTH);



    }

public static void main(String s[])  {
    JFrame frame = new JFrame("JComboBox Usage Demo");
    frame.addWindowListener(new WindowAdapter() {

        public void windowClosing(WindowEvent e) {
            System.exit(0);

        }
    });
    frame.setContentPane(new Font_Chooser());
    frame.pack();
    frame.setVisible(true);


    }   
}

0 个答案:

没有答案