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、基本控件布局
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();
}
}
【实验结果】
2、基本空间布局
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();
}
}
【实验结果】
3、菜单基本操作
import java.awt.BorderLayout;
import javax.swing.*;
public class Test
{
public static void main(String args[])
{
MyJFrame myJFrame = new MyJFrame("带菜单的基本操作", 100, 100, 300,300);
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);
}
}
【实验结果】
4、嵌套布局
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);
}
}
【实验结果】
5、CardLayout布局练习
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);
}
}
【实验结果】
本文地址:https://blog.csdn.net/Onlyone_1314/article/details/110928496
上一篇: 夯实基础,彻底掌握js的核心技术(三):堆栈内存及闭包详解
下一篇: VC中function函数解析