jframe的简单用法

jframe


import java.awt.Color;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

 

import javax.swing.JFrame;

 

public class MyFrame {

 

	public static void main(String[] args) {

		JFrame frame = new JFrame("我的第一个Frame");//标题

		frame.setSize(500 , 1000);//宽和高

		frame.getContentPane().setBackground(Color.RED);//颜色

		frame.setVisible(true);

		

		BufferedReader intemp = new BufferedReader(new InputStreamReader(System.in));

		System.out.println("Press return key to exit.");

		try{

			String s = intemp.readLine();

		} catch(IOException e){

			System.out.println("IOException");

		}

		

		System.exit(0);//退出

		

	

	}//main 结束

 

}

 

1

import java.awt.Color;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

 

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class FrameWithPanelTest {

 

	public static void main(String[] args) {

		JFrame frame = new JFrame("My Frame");

		frame.setSize(500 , 500);

		frame.getContentPane().setBackground(Color.BLACK);

		frame.setVisible(true);

		

		JPanel contentPane = new JPanel();

		contentPane.setSize(100 , 100);

		contentPane.setBackground(Color.yellow);

		frame.add(contentPane);

		frame.setLayout(null); //不加上这一句设置布局,contentPanel会铺满整个frame

		

		BufferedReader intemp = new BufferedReader(new InputStreamReader(System.in));

		System.out.println("Press return key to exit.");

		try{

			String s = intemp.readLine();

		} catch(IOException e){

			System.out.println("IOException");

		}

		System.exit(0);

		

		

		

	}

 

}

2

package classroom;
//public class Thread extends Object implements Runnable



import java.awt.Color;

import java.awt.FlowLayout;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class FrameWithPanelTest {

 

	public static void main(String[] args) {

		JFrame frame = new JFrame("My Frame");

		frame.setSize(500 , 500);

		frame.getContentPane().setBackground(Color.BLACK);

		frame.setLayout(new FlowLayout(FlowLayout.CENTER , 50 , 50)); //为JFrame顶层容器设置FlowLayout布局管理器

		

		

		JPanel contentPane = new JPanel();

		contentPane.setSize(100 , 100);

		//内部按钮对齐方式,水平和垂直间距

		contentPane.setLayout(new FlowLayout(FlowLayout.CENTER , 50 , 50)); //为Japnel设置布局管理器

		contentPane.setBackground(Color.yellow);

 

		JButton btn1 , btn2 , btn3 ; //定义3个按钮

		btn1 = new JButton("打开");

		btn2 = new JButton("关闭");

		btn3 = new JButton("返回");

		contentPane.add(btn1);

		contentPane.add(btn2);

		contentPane.add(btn3);

		

		frame.add(contentPane);

		frame.setVisible(true); //显示JFrame

		

		

		BufferedReader intemp = new BufferedReader(new InputStreamReader(System.in));

		System.out.println("Press return key to exit.");

		try{

			String s = intemp.readLine();

		} catch(IOException e){

			System.out.println("IOException");

		}

		System.exit(0);

		

		

		

	}

 

}

3

package classroom;
//public class Thread extends Object implements Runnable




import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseMotionListener;

 

import javax.swing.JFrame;

import javax.swing.JLabel;

 

//鼠标及按键

public class MouseControl implements MouseMotionListener , KeyListener{

	private JFrame frame;

	private JLabel tf;

	String ch = ""; //放置待显示的字符

	

	public static void main(String[] args){

		MouseControl two = new MouseControl();

		two.go();

	}

	

	

	private void go() {

		frame = new JFrame("鼠标按键测试");

		Container contentPane = frame.getContentPane();

		contentPane.add(new JLabel("get mouse and keyboard event") , BorderLayout.NORTH);

		tf = new JLabel();

		contentPane.add(tf, BorderLayout.SOUTH);

		//注册监听程序

		frame.addMouseMotionListener(this);

		frame.addKeyListener(this);

		

		frame.setSize(300 , 300);

		frame.setVisible(true);

		

	}

 

 

	//接下来为实现接口中的方法

	@Override

	public void keyTyped(KeyEvent e) { //顺序 keypress keytype keyrelease

		// TODO Auto-generated method stub

		System.out.println("2");

		int charcode = e.getKeyCode();

		ch = "有键按下2";

		if(charcode == KeyEvent.VK_SHIFT) {ch = "shift2";}

		if(charcode == KeyEvent.VK_CONTROL) ch = "control2";

	}

 

	@Override

	public void keyPressed(KeyEvent e) { //看不到显示,因为keytype覆盖了

		// TODO Auto-generated method stub

		System.out.println("1");

		int charcode = e.getKeyCode();

		ch = "有键按下1";

		if(charcode == KeyEvent.VK_SHIFT) ch = "shift1";

		if(charcode == KeyEvent.VK_CONTROL) ch = "control1";

	}

 

	@Override

	public void keyReleased(KeyEvent e) {

		// TODO Auto-generated method stub

		//ch = "有键松开";

		System.out.println("3");

	}

 

	@Override

	public void mouseDragged(MouseEvent e) { //按住鼠标拖动才会调用

		// TODO Auto-generated method stub

		String s = "鼠标拖动的坐标: X =" +e.getX() + " Y =" + e.getY() + " KEY:" + ch;

		tf.setText(s);

	}

 

	@Override

	public void mouseMoved(MouseEvent e) {

		// TODO Auto-generated method stub

		String s = "鼠标移动时的坐标: X =" +e.getX() + " Y =" + e.getY() + " KEY:" + ch;

		tf.setText(s);

	}

	

}

4

 

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用 JFrame 继承方法编写的简单乘法计算器示例: ```java import javax.swing.*; public class MultiplicationCalculator extends JFrame { private JLabel num1Label, num2Label, resultLabel; private JTextField num1Field, num2Field, resultField; private JButton calculateButton; public MultiplicationCalculator() { setTitle("Multiplication Calculator"); setLayout(null); num1Label = new JLabel("First number:"); num1Label.setBounds(20, 20, 100, 20); add(num1Label); num1Field = new JTextField(); num1Field.setBounds(130, 20, 100, 20); add(num1Field); num2Label = new JLabel("Second number:"); num2Label.setBounds(20, 50, 100, 20); add(num2Label); num2Field = new JTextField(); num2Field.setBounds(130, 50, 100, 20); add(num2Field); calculateButton = new JButton("Calculate"); calculateButton.setBounds(90, 80, 100, 20); calculateButton.addActionListener(e -> calculate()); add(calculateButton); resultLabel = new JLabel("Result:"); resultLabel.setBounds(20, 110, 100, 20); add(resultLabel); resultField = new JTextField(); resultField.setBounds(130, 110, 100, 20); resultField.setEditable(false); add(resultField); setSize(270, 180); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } private void calculate() { int num1 = Integer.parseInt(num1Field.getText()); int num2 = Integer.parseInt(num2Field.getText()); int result = num1 * num2; resultField.setText(Integer.toString(result)); } public static void main(String[] args) { new MultiplicationCalculator(); } } ``` 这个程序创建了一个继承 JFrame 类的 MultiplicationCalculator 类。它包含了一个标签、两个文本框、一个按钮和一个文本域,用于显示计算结果。当用户点击“Calculate”按钮时,程序会将两个输入的值相乘并显示结果。希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值