运行效果
代码
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SwingComponentDemo {
//创建窗口对象
JFrame f = new JFrame("测试组件");
//声明菜单的相关组件
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("文件");
JMenu editMenu = new JMenu("编辑");
JMenuItem auto = new JMenuItem("自动换行");//创建菜单项
JMenuItem copy = new JMenuItem("复制");
JMenuItem paste = new JMenuItem("粘贴");
JMenu format = new JMenu("格式");
JMenuItem comment = new JMenuItem("注释");
JMenuItem cancelComment = new JMenuItem("取消注释");
//声明文本域
JTextArea ta = new JTextArea(8,20);
String[] colors = {"红色","蓝色","绿色"};
//声明列表框
JList<String> colorList = new JList<String>(colors);
//声明选择相关按钮组件
JComboBox<String> colorset = new JComboBox<String>();
//创建按钮组
ButtonGroup group = new ButtonGroup();
JRadioButton radioButton1 = new JRadioButton("男",false);
JRadioButton radioButton2 = new JRadioButton("女",false);
//复选框
JCheckBox isMarried = new JCheckBox("是否已婚",false);
//声明底部
JTextField tf = new JTextField(40);
JButton ok = new JButton("确定");
//声明右键菜单
JPopupMenu jPopupMenu = new JPopupMenu();
ButtonGroup poupButton = new ButtonGroup();
JRadioButtonMenuItem metal1 = new JRadioButtonMenuItem("风格1");
JRadioButtonMenuItem metal2 = new JRadioButtonMenuItem("风格2");
JRadioButtonMenuItem metal3 = new JRadioButtonMenuItem("风格3",true);
JRadioButtonMenuItem metal4 = new JRadioButtonMenuItem("风格4");
JRadioButtonMenuItem metal5 = new JRadioButtonMenuItem("风格5");
//初始化界面
public void init(){
//组装视图
//组装底部
JPanel buttonPanel = new JPanel();
buttonPanel.add(tf);
buttonPanel.add(ok);
f.add(buttonPanel, BorderLayout.SOUTH);
//组装选择相关的组件
JPanel selctPanel = new JPanel();
colorset.addItem("红色");
colorset.addItem("绿色");
colorset.addItem("蓝色");
selctPanel.add(colorset);
group.add(radioButton1);
group.add(radioButton2);
selctPanel.add(radioButton1);
selctPanel.add(radioButton2);
selctPanel.add(isMarried);
//组装文本域和选择相关组件
Box topLeft = Box.createVerticalBox();
topLeft.add(ta);
topLeft.add(selctPanel);
//组装顶部
Box top = Box.createHorizontalBox();
top.add(topLeft);
top.add(colorList);
f.add(top);
//组装顶部菜单
format.add(comment);
format.add(cancelComment);
editMenu.add(auto);
editMenu.addSeparator();
editMenu.add(copy);
editMenu.add(paste);
editMenu.addSeparator();
editMenu.add(format);
menuBar.add(fileMenu);
menuBar.add(editMenu);
f.setJMenuBar(menuBar);
//组装右键菜单
poupButton.add(metal1);
poupButton.add(metal2);
poupButton.add(metal3);
poupButton.add(metal4);
poupButton.add(metal5);
jPopupMenu.add(metal1);
jPopupMenu.add(metal2);
jPopupMenu.add(metal3);
jPopupMenu.add(metal4);
jPopupMenu.add(metal5);
//设置按键动作,不需要再监听鼠标事件。
ta.setComponentPopupMenu(jPopupMenu);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
public static void main(String[] args){
new SwingComponentDemo().init();
}
}
最后
考公进面了,然而拔完智齿不想学面试,先摆烂两天吧。吃也没法吃,玩也不踏实,所以找个视频,敲两行代码,学着做东西玩玩。。。
这几年没怎么学技术,以至于大四了,那么水的东西还想发博客。没事,发着玩、敲着玩,自娱自乐。