2021-06-19

17 篇文章 0 订阅
该博客展示了几个使用JavaSwing库创建图形用户界面的实例,包括文本框布局管理、面板布局、滚动面板以及鼠标监听事件的实现。通过这些例子,读者可以了解如何在Java中创建和布局GUI组件,以及如何响应用户的交互操作。
摘要由CSDN通过智能技术生成

Java学习
1.TestText文本框编辑package demo01;

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class TestText extends JFrame{
public TestText() {
Container container=this.getContentPane();
JTextField textfield=new JTextField(“Hello world”);
JTextField textfield2=new JTextField(“大数据五班”);
container.add(textfield,BorderLayout.NORTH);
container.add(textfield2,BorderLayout.SOUTH);

this.setVisible(true);
this.setSize(500,350);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

}
public static void main(String[] args) {
new TestText();
}
}

后 代码
package glc1;

import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class JPaneGlc extends JFrame {
public JPaneGlc() {
Container container1=this.getContentPane();
container1.setLayout(new GridLayout(2,1,10,10));
JPanel panel=new JPanel(new GridLayout(1,3));
panel.add(new JButton(“1”));
panel.add(new JButton(“2”));
panel.add(new JButton(“3”));
container1.add(panel);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new JPaneGlc();
}
}

package glc1;

import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class JScrollGlc extends JFrame {
public JScrollGlc() {
Container container1=this.getContentPane();
JTextArea textarea=new JTextArea(20,50);
textarea.setText(“大数据五班”);
JScrollPane scrollpane=new JScrollPane(textarea);
//JPanel scrollpane=new JPanel();

//scrollpane.add(textarea);
container1.add(scrollpane);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);

}
public static void main(String[] args) {
new JScrollGlc();
}
}

然后 代码
package glc2;

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class TestFlowLayout {
public static void main(String[] args) {
JFrame j=new JFrame();
j.setVisible(true);
j.setBounds(100,100,700,500);
j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

JButton east=new JButton("east");
JButton west=new JButton("west");
JButton south=new JButton("south");
JButton north=new JButton("north");
JButton center=new JButton("居中");
j.add(east,BorderLayout.EAST);
j.add(west,BorderLayout.WEST);
j.add(south,BorderLayout.SOUTH);
j.add(north,BorderLayout.NORTH);
j.add(center,BorderLayout.CENTER);

}
}

package glc3;

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JRadioButton;

public class CheckBox extends JFrame {
public CheckBox() {
Container container1=this.getContentPane();
JCheckBox checkbox1=new JCheckBox(“自动登录”);
JCheckBox checkbox2=new JCheckBox(“记住密码”);
JCheckBox checkbox3=new JCheckBox(“checkbox3”);
//在一个group里面只能有一个container1.add(checkbox1,BorderLayout.CENTER);被选中
container1.add(checkbox1,BorderLayout.CENTER);
container1.add(checkbox2,BorderLayout.NORTH);
container1.add(checkbox3,BorderLayout.SOUTH);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new CheckBox();
}
}
8.TextMouseListener 鼠标监听事件
1.当用户点击弹窗内并出现颜色(就可以可以触发鼠标监听事件,当按钮获得监听器之后,
2.如果激活按钮,比如用鼠标单击按钮,就可以触发鼠标监听事件,
监听器将显示在文本区显示当前点击位置坐标
然后
package demo03;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;

import javax.swing.JFrame;

public class TextMouseListener {
public static void main(String[] args) {
new MyFrame(“我的画图”);
}

}
class MyFrame extends JFrame{
ArrayList points;
public MyFrame(String title) {
super(title);
this.setBounds(200,200,410,410);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
points=new ArrayList<>();
this.addMouseListener(new MyMouseListener());
}

public void paint(Graphics g) {
Iterator iterator=points.iterator();
while(iterator.hasNext()) {
Point point=(Point)iterator.next();
g.setColor(Color.red);
g.fillOval(point.x, point.y,10,10);

}

}

public void addPaint(Point point) {
	points.add(point);
}
private class MyMouseListener extends MouseAdapter{
	
	@Override
	public void mousePressed(MouseEvent e) {
		MyFrame myFrame=(MyFrame) e.getSource();
		System.out.println("x坐标: "+e.getX()+"y坐标: "+e.getY());
		myFrame.addPaint(new Point(e.getX(),e.getY()));
		myFrame.repaint();
	}
	
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值