java的awt下拉菜单怎样更改Menu当中的显示字体的大小?请大神指教

java的awt下拉菜单怎样更改Menu当中的显示字体的大小?请大神指教,第1张

呵呵,这个不解释,给代码吧,用swing控件就行,不要和awt件混用

import javaawtButton;
import javaawtColor;
import javaawtFont;
import javaxswingJFrame;
import javaxswingJMenu;
import javaxswingJMenuBar;
import javaxswingJMenuItem;
public class Main
{
    public Main()
    {
     JFrame frame=new JFrame("新建窗体");
        framesetSize(300,200);
        JMenuBar mb=new JMenuBar();
        Font font=new Font("微软雅黑",FontBOLD,24);
        Button button=new Button("颜色");
        buttonsetFont(font);
        JMenu me=new JMenu("颜色");
        mesetFont(font);
        JMenuItem x=new JMenuItem("红色");
        xsetForeground(ColorRED);
        JMenuItem y=new JMenuItem("橙色");
        ysetForeground(ColorORANGE);
        JMenuItem z=new JMenuItem("绿色");
        zsetForeground(ColorBLUE);
        framesetJMenuBar(mb);
        mbadd(me);
        meadd(x);
        meadd(y);
        meadd(z);
        framesetVisible(true);
        framesetDefaultCloseOperation(3);
    }
    public static void main(String args[])
    {
        new Main();
    }
}

documentform1shiNooptions[documentform1shiNolength] = new Option(subcat[i][1], subcat[i][2]);
这个添加一条列表,如我要添加一条为默认值呢,



在一个下拉列表框(我假设是JComboBox)上面加上ItemListener,来让另一个改变选择。

我试了一下,效果还行。

当然,Layout Manager我还是推荐MigLayout,强大。自带的BorderLayout还是粗糙了一点。

import javaawtBorderLayout;
import javaawteventItemEvent;
import javaawteventItemListener;
import javaxswingJComboBox;
import javaxswingJFrame;
import javaxswingSwingUtilities;
import javaxswingUIManager;
import javaxswingUnsupportedLookAndFeelException;
import comsunjavaswingplafwindowsWindowsLookAndFeel;
public class CombineJComboBox extends JFrame {
    //定义为域,让内部类可以直接使用
    private JComboBox<String> comboAirports;
    private JComboBox<String> comboCities;
    
    public CombineJComboBox() {
        begin();
    }
    private void begin() {
        try {
            UIManagersetLookAndFeel(new WindowsLookAndFeel());
        } catch (UnsupportedLookAndFeelException e1) {
            e1printStackTrace();
        }
        setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
        setLayout(new BorderLayout());
        //第一个下拉列表:机场
        comboAirports = 
                new JComboBox<String>(new String[]{"选个机场吧?", "双流机场", "通州机场", "虹桥机场", "首都国际机场", "浦东国际机场"});
        comboAirportsaddItemListener(new ItemListener() {
            
            @Override
            public void itemStateChanged(ItemEvent e) {
                //如果是选中选项动作
                if (egetStateChange() == ItemEventSELECTED) {
                    if (egetItem()toString()equals("虹桥机场") || 
                            egetItem()toString()equals("浦东国际机场")) {
                        comboCitiessetSelectedItem("上海");
                    } else if (egetItem()toString()equals("通州机场") || 
                            egetItem()toString()equals("首都国际机场")) {
                        comboCitiessetSelectedItem("北京");
                    } else if (egetItem()toString()equals("双流机场")) {
                        comboCitiessetSelectedItem("成都");//我还没有去过成都,不知道为什么想到机场就想到了这个名字。
                    } else {
                        comboCitiessetSelectedIndex(0); //选中第一个选项。
                    }
                } else if (egetStateChange() == ItemEventDESELECTED){
                    //不要做任何事。选中一个选项必定导致前面一个选项不被选中。一次选择实际上产生了两个event
                }
            }
        });
        comboAirportssetSelectedIndex(0); //初始选择第一个选项
        comboAirportssetBounds(0, 0, 150, 30);
        add(comboAirports, BorderLayoutWEST);
        
        //第二个下拉列表:城市
        comboCities = new JComboBox<String>(new String[]{"你想要去哪个城市呢?", "北京", "上海", "成都"});
        comboCitiessetSelectedIndex(0); //初始选择第一个选项
        comboCitiessetBounds(0, 0, 150, 30);
        add(comboCities, BorderLayoutEAST);
        
        
        pack();//计算所有component尺寸,妥善安排好,然后压缩到最合适尺寸。
        setBounds(0, 0, 300, 100); //重新设置窗口尺寸
        setLocationRelativeTo(null); //窗口居中
        setVisible(true);
    }
    public static void main(String[] args) {
        SwingUtilitiesinvokeLater(new Runnable() {
            @Override
            public void run() {
                CombineJComboBox frame = new CombineJComboBox();
            }
        });
    }
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13089398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存