欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA技术及其应用实验七(GUI编程之常用组件与布局)

程序员文章站 2022-06-24 12:44:17
实验目录1、基本控件布局2、基本空间布局3、菜单基本操作4、嵌套布局5、CardLayout布局练习【实验名称】 实验七 【实验内容】1、基本控件布局package one;import javax.swing.*;import static javax.swing.JFrame.*;import java.awt.*;class MyJFrame extends JFrame{MyJFrame(String s,int x,int y,int...


【实验名称】 实验七
【实验内容】

1、基本控件布局

JAVA技术及其应用实验七(GUI编程之常用组件与布局)

package one;
import javax.swing.*;
import static javax.swing.JFrame.*;
import java.awt.*;

class MyJFrame extends JFrame{
	MyJFrame(String s,int x,int y,int w,int h){
		setTitle(s);
		setBounds(x,y,w,h);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
}

public class JButtonDome{
	public static void main(String[] args) {
		MyJFrame myJFrame=new MyJFrame("FlowLayout Demo",100,100,300,100);
		myJFrame.setLayout(new FlowLayout());
		myJFrame.setVisible(true);
		
		JButton button1=new JButton("北");
		myJFrame.add(button1);
		JButton button2=new JButton("东");
		myJFrame.add(button2);
		JButton button3=new JButton("西");
		myJFrame.add(button3);
		JButton button4=new JButton("南");
		myJFrame.add(button4);
		JButton button5=new JButton("中");
		myJFrame.add(button5);
		myJFrame.pack();
	}
}

【实验结果】
JAVA技术及其应用实验七(GUI编程之常用组件与布局)

2、基本空间布局

JAVA技术及其应用实验七(GUI编程之常用组件与布局)

package two;
import javax.swing.*;
import static javax.swing.JFrame.*;
import java.awt.*;

public class MyJFrame extends JFrame{
	MyJFrame(String s,int x,int y,int w,int h){		
		setTitle(s);
		setBounds(x,y,w,h);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}

	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MyJFrame myJFrame = new MyJFrame("BorderLayoutDome",100,100,160,130);
		myJFrame.setLayout(new BorderLayout());
		myJFrame.setVisible(true);
		
		JButton button1 = new JButton("北");
		JButton button2 = new JButton("南");
		JButton button3 = new JButton("中");
		JButton button4 = new JButton("西");
		JButton button5 = new JButton("东");
		myJFrame.add(button1,BorderLayout.NORTH);
		myJFrame.add(button2,BorderLayout.SOUTH);
		myJFrame.add(button3,BorderLayout.CENTER);
		myJFrame.add(button4,BorderLayout.WEST);
		myJFrame.add(button5,BorderLayout.EAST);
		myJFrame.pack();
	}
}

【实验结果】
JAVA技术及其应用实验七(GUI编程之常用组件与布局)

3、菜单基本操作

JAVA技术及其应用实验七(GUI编程之常用组件与布局)

import java.awt.BorderLayout;
import javax.swing.*;

public class Test
{
    public static void main(String args[])
    {
        MyJFrame myJFrame = new MyJFrame("带菜单的基本操作", 100, 100, 300300);
        myJFrame.setLayout(new BorderLayout());
        JMenuBar jMenuBar = new JMenuBar();

        JMenu file = new JMenu("file");
        file.add(new JMenuItem("open"));
        file.add(new JMenuItem("close"));
        file.add(new JMenuItem("exit"));
        file.addSeparator();

        JMenu edit = new JMenu("edit");
        edit.add(new JMenuItem("copy"));

        JMenu find_and_replacer = new JMenu("find and replace");
        find_and_replacer.add(new JMenuItem("find"));
        find_and_replacer.add(new JMenuItem("replace"));
        edit.add(find_and_replacer);

        jMenuBar.add(file);
        jMenuBar.add(edit);
        myJFrame.add(jMenuBar, BorderLayout.NORTH);
        JPanel jPanelp = new JPanel();
        jPanelp.setSize(200, 200);
        myJFrame.add(jPanelp, BorderLayout.SOUTH);
        myJFrame.pack();
        myJFrame.setVisible(true);
    }
}

【实验结果】
JAVA技术及其应用实验七(GUI编程之常用组件与布局)

4、嵌套布局

JAVA技术及其应用实验七(GUI编程之常用组件与布局)

import java.awt.*;
import javax.swing.*;

class MyJPanel extends JPanel
{
    MyJPanel(Color c)
    {
        setBackground(c);
    }
}

public class Forth {
    public static void main(String args[])
    {
        MyJFrame myJFrame = new MyJFrame("JPanel Demo", 300, 300, 300, 300);
        myJFrame.setLayout(new GridLayout(5, 1));
        myJFrame.add(new MyJPanel(Color.red));
        myJFrame.add(new MyJPanel(Color.orange));
        myJFrame.add(new MyJPanel(Color.yellow));
        myJFrame.add(new MyJPanel(Color.green));
        myJFrame.add(new MyJPanel(Color.blue));
        myJFrame.pack();
        myJFrame.setVisible(true);
    }
}

【实验结果】
JAVA技术及其应用实验七(GUI编程之常用组件与布局)

5、CardLayout布局练习

JAVA技术及其应用实验七(GUI编程之常用组件与布局)

package Fifth;

import javax.swing.*;
import static javax.swing.JFrame.*;
import java.awt.*;
class MyJFrame extends JFrame{

   MyJFrame(String s,int x,int y,int w,int h){
      setTitle(s);
      setBounds(x,y,w,h);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
   }

   public static void main(String args[]){
      MyJFrame myJFrame=new MyJFrame("CardLayout Demo",100,100,500,500);
      JPanel panel1=new JPanel();
      panel1.setLayout(new CardLayout());
      panel1.setBackground(Color.red);
      JPanel panel2=new JPanel();
      myJFrame.add(panel1,BorderLayout.CENTER);
      myJFrame.add(panel2,BorderLayout.SOUTH);
      String[] names = {"第一张" , "第二张" , "第三张" , "第四张" , "第五张"};
      JLabel label;
      for (int i = 0 ; i < names.length ; i++){
         label=new JLabel(names[i],SwingConstants.CENTER);
         label.setFont(new Font("宋体",Font.PLAIN,28));
         panel1.add(names[i],label);
      }
      JButton button1=new JButton("上一张");
      JButton button2=new JButton("下一张");
      JButton button3=new JButton("第一张");
      JButton button4=new JButton("最后一张");
      panel2.add(button1);
      panel2.add(button2);
      panel2.add(button3);
      panel2.add(button4);
      myJFrame.setVisible(true);
   }
}

【实验结果】
JAVA技术及其应用实验七(GUI编程之常用组件与布局)

本文地址:https://blog.csdn.net/Onlyone_1314/article/details/110928496