Java可视化界面

一。使用JFrame(创建窗口)JDialog(创建新窗口)

    //1.创建一个窗口对象
    JFrame frame = new JFrame("一个文件");
    //2.创建一个容器
    Container container = frame.getContentPane();
    //3.为容器添加颜色
    container.setBackground(Color.gray);
    //4.为窗口设置大小窗口
    frame.setBounds(100,100,500,600);
    //5.设置它的可视化窗口
    frame.setVisible(true);
    //6。设置它的关闭方式
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    //7.在窗口内部重新上设置一个新的内部窗口
    JDialog jd = new JDialog(frame,"一个新的文件");
    //8.为新窗口设置窗口大小
    jd.setBounds(150,150,100,100);
    //9.设置新窗口的背景颜色
    jd.setBackground(Color.blue);
    //10。是否可视化
    jd.setVisible(true);
    //11.设置关闭方式
    jd.setDefaultCloseOperation(jd.DISPOSE_ON_CLOSE);

二。使用JPanel(一个中间层容器)和JButton(创建一个按钮)

//1.创建一个按钮配置
JButton button1 = new JButton("按钮1");
JButton button2 = new JButton("按钮2");
//2.创建一个中间容器
JPanel panel = new JPanel(new FlowLayout());
panel.add(button1);
panel.add(button2);
frame.add(panel);

JPanel和JScrollPane都是为容器添加组件,区别在于JPanel是添加多个组件,而JScrollPane是添加一个组件

三。使用JLable(标签)可以添加文字和图片

//1.创建一个容器JPanel可以添加多个容器,以及设置颜色
JPanel jPanel = new JPanel();
jPanel.setBackground(Color.gray);
//2.添加一个图片组件,采用图片的绝对路径
ImageIcon icon = new ImageIcon("E:\\python程序空文件\\untitled\\src\\img.png");
//3.创建一个标签,将图片和文字放入标签中
JLabel  label = new JLabel(icon);
//4.创建一个文字内容
JLabel label1 = new JLabel("这是一个文件");
//5.设置文字的内容,采用居中方式
label1.setHorizontalAlignment(JLabel.CENTER);
//6.设置文字的字体样式,字体,字样,大小
label1.setFont(new Font("宋体",Font.BOLD,30));
//7.标签进行添加图片和字样
jPanel.add(label);
jPanel.add(label1);
//8.添加于外部界面
frame.add(jPanel);

四。按钮标签

1.按钮的创建

JButton jButton = new JButton("点击我",icon);//可以添加照片和文字
JButton jButton = new JButton("按钮1");//只添加文
jButton.setEnabled(true);//当为true为可按钮可点击,当为false为按钮不可点击
jButton.setBorderPainted(true);//当为true则显示按钮边框,false则不显示边框

2.单选按钮组件:

JRadioButton jRadioButton1 = new JRadioButton("男");//创建一个单选按钮
JRadioButton jRadioButton2 = new JRadioButton("女");
ButtonGroup buttonGroup = new ButtonGroup();//创建一个按钮组
buttonGroup.add(jRadioButton1);按钮组添加一个按钮
buttonGroup.add(jRadioButton2);
frame.add(jRadioButton1);进行页面的显示
frame.add(jRadioButton2);

按钮添加于按钮组中的原因:用户只能选择按钮中的其中一个,一般是性别

3.多选按钮的使用:

JCheckBox box = new JCheckBox("内容");
panel.add(new JCheckBox("面条",true));//panel是存放组件的容器
panel.add(new JCheckBox("米饭",false));//true表示开始选中,false表示不选中
panel.add(new JCheckBox("馒头",false));

五。下拉列表的使用:

JComboBox box = new JComboBox();//创建下滑列表的窗口
box.addItem("--请选择学历--");//内容的添加
box.addItem("初中");
box.addItem("高中");
box.addItem("大专");
box.addItem("本科");
panel.add(box);容器添加此下拉窗口

六:菜单栏组件:

1.创建菜单条:JMenuBar

2.创建菜单:JMenu

3.创建菜单项:JMenuITem

菜单项依附于菜单,菜单依附于菜单条

单菜单的创建:

JMenuBar bar = new JMenuBar();//创建菜单条
JMenu menu = new JMenu("菜单1");//创建菜单
JMenuItem jMenuItem1 = new JMenuItem("菜单项1");创建菜单项,即最后的内容
JMenuItem jMenuItem2 = new JMenuItem("菜单项2");
JMenuItem jMenuItem3 = new JMenuItem("菜单项3");
menu.add(jMenuItem1);//菜单项目依赖菜单
menu.add(jMenuItem2);
menu.add(jMenuItem3);
bar.add(menu);//菜单依赖于菜单条
panel.add(bar);

多级菜单的创建:(即创建多个菜单)

JMenuBar bar = new JMenuBar();
JMenu menu = new JMenu("菜单1");
JMenu menu2 = new JMenu("菜单2");
JMenu menu3 = new JMenu("菜单3");
JMenuItem jMenuItem1 = new JMenuItem("菜单项1");
JMenuItem jMenuItem2 = new JMenuItem("菜单项2");
JMenuItem jMenuItem3 = new JMenuItem("菜单项3");
menu.add(jMenuItem1);
menu2.add(jMenuItem2);
menu3.add(jMenuItem3);
bar.add(menu);
bar.add(menu2);
bar.add(menu3);
panel.add(bar);

七。组件位置的设定GridLAyout

1.FlowLayout流式对其方式:

(1)FlowLayout.lert:左对齐

(2)FlowLayout.right:右对齐

(3)FlowLayout.leading:与容器的对齐端方式一样

(4)FlowLayout.trailing:于容器的结束端对齐方式一样

(5)FlowLayout.center:中间对齐

frame.setLayout(new FlowLayout(FlowLayout.CENTER,40,40));

注释:frame里面传递的是流对齐方式,其中对齐方式为中间对齐,每个组件水平和垂直距离都是40

2.边界布局管理器BorderLayout:

(1)EAST:布局于东边

(2)WEST:布局于西边

(3)SOUTH:布局于南边

(4)CENTER:布局于中间

(5)NORTH:布局于中间

panel.setLayout(new BorderLayout());
JButton button1 = new JButton("北");
JButton button2 = new JButton("南");
JButton button3 = new JButton("东");
JButton button4 = new JButton("西");
JButton button5 = new JButton("中");
panel.add(button1,BorderLayout.NORTH);
panel.add(button2,BorderLayout.SOUTH);
panel.add(button3,BorderLayout.WEST);
panel.add(button4,BorderLayout.EAST);
panel.add(button5,BorderLayout.CENTER);

3.网络布局管理器GridLayout:

JPanel panel = new JPanel();//内网页
GridLayout gridLayout = new GridLayout(3, 3);//设置行为3,列为3的格子
panel.setLayout(gridLayout);//设置布局方式为网络布局管理器
for (int i = 1; i <= 9; i++) {
   JButton button = new JButton("Button " + i);//添加按钮
   panel.add(button);
}
frame.add(panel);

注释:要设置盒子的行和列

4.盒子布局管理器BoxLayout:

JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
for (int i = 1; i <= 9; i++) {
   JButton button = new JButton("Button " + i);
   panel.add(button);
}

frame.add(panel);

注释:BoxLayout的第一个参数是正对的对象,Y_AXIS:向下垂直方向,X_AXIS:水平方向

你可能感兴趣的:(java,python,开发语言)