「javaswing入门」Java Swing
本篇文章给大家谈谈javaswing入门,以及Java Swing对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java图形界面初学者提问 swing atm(大概是这个名字) Javafx的区别是什么
- 2、Java Swing(初学者):有6个文本框竖直排列和两个按钮(bt1和bt2),默认焦点在第一个文本框上。
- 3、Java Swing初学,JFrame中的JLabel等元素紧靠边界,这个距离怎么写?
- 4、Java的Swing入门,继承JFrame报错问题
- 5、JAVA初学者:swing是什么
- 6、java中的swing用法
java图形界面初学者提问 swing atm(大概是这个名字) Javafx的区别是什么
AWT ,SWING , JavaFX 都是java推出的图形界面框架.
简单的描述三者的区别如下:
awt 组件较少, 运行时占用系统资源较少, 适合嵌入式平台等
swing组件略多,运行时占用系统资源较多, 有较多的技术参考资料, 适合PC等
javaFX 组件丰富. 支持3D ,动画, 特效, 多媒体, 也支持html5 ,方便的属性绑定,UI层和事件层分离 ,是更加现代化的图形界面框架.但是资料教材有点少
所以写PC上的java图形界面一般推荐使用swing或JavaFX
Java Swing(初学者):有6个文本框竖直排列和两个按钮(bt1和bt2),默认焦点在第一个文本框上。
以前写的,功能差不多,用1,2,3,4。。代替了。自己看一下吧
ctrl+1 表示选择编号为1的按钮。上下键控制位置变化
package eventDemo;
import java.awt.FlowLayout;
import java.awt.KeyEventPostProcessor;
import java.awt.KeyboardFocusManager;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class KeyEventDemo implements KeyListener{
JButton []b = new JButton[10];
int x,y;
JFrame jf;
KeyboardFocusManager manager;
public static void main(String []args){
new KeyEventDemo();
}
KeyEventDemo(){
manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();//看这里。。。。。。。。。。。。。。。改成setCurrentKeyboardFocusManager(),其他在改一下就可以了
manager.addKeyEventPostProcessor(new KeyEventPostProcessor() {
@Override
public boolean postProcessKeyEvent(KeyEvent e) {
// TODO Auto-generated method stub
if ((e.getModifiersEx() InputEvent.CTRL_DOWN_MASK) !=0){
if (e.getKeyCode()==KeyEvent.VK_1){
//System.out.println("11");
b[1].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_2){
System.out.println("11");
b[2].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_3){
System.out.println("11");
b[3].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_4){
System.out.println("11");
b[4].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_5){
System.out.println("11");
b[5].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_6){
System.out.println("11");
b[6].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_7){
System.out.println("11");
b[7].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_8){
System.out.println("11");
b[8].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_9){
System.out.println("11");
b[9].requestFocus();
}
if (e.getKeyCode()==KeyEvent.VK_0){
System.out.println("11");
b[0].requestFocus();
}
}
return false;
}
});
jf = new JFrame("KeyEventDemo");
jf.setLayout(new FlowLayout());
for (int i = 0; i =9; i++) {
b[i] = new JButton(i+"");
jf.add(b[i]);
b[i].addKeyListener(this);
}
jf.setBounds(600,200,200,200);
jf.setVisible(true);
jf.validate();
jf.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
if (e.getKeyCode() == KeyEvent.VK_0)
System.out.println('0');
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
JButton temp = (JButton) e.getSource();
x = temp.getBounds().x;
y = temp.getBounds().y;
//System.out.println(x*y);
if (e.getKeyCode() == KeyEvent.VK_UP)
y = y - 20;
if (e.getKeyCode() == KeyEvent.VK_DOWN)
y = y + 20;
if (e.getKeyCode() == KeyEvent.VK_RIGHT)
x = x + 20;
if (e.getKeyCode() == KeyEvent.VK_LEFT)
x = x - 20;
temp.setLocation(x, y);
}
}
Java Swing初学,JFrame中的JLabel等元素紧靠边界,这个距离怎么写?
先要新建一个JPanel主面板,然后设置边距
jPanel.setBorder(new EmptyBorder(10, 10, 10, 10)); // 设置边距
具体实例
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class JPanelTest {
public static void main(String[] args) {
JFrame jFrame=new JFrame("JPanel面板测试");
JPanel jPanel=new JPanel();
jPanel.setLayout(new GridLayout(3, 2, 10, 10));
jPanel.setBorder(new EmptyBorder(10, 10, 10, 10)); // 设置边距
jFrame.add(jPanel);
JLabel jl1=new JLabel("用户名:");
JTextField jtf=new JTextField();
JLabel jl2=new JLabel("密码:");
JPasswordField jpf=new JPasswordField();
JButton jb1=new JButton("登陆");
JButton jb2=new JButton("重置");
jPanel.add(jl1);
jPanel.add(jtf);
jPanel.add(jl2);
jPanel.add(jpf);
jPanel.add(jb1);
jPanel.add(jb2);
jFrame.setLocation(400, 200);
jFrame.setSize(250, 150);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
运行效果图
Java的Swing入门,继承JFrame报错问题
应该是你环境变量配置的问题,先确认下环境变量是否正确,如果还有问题再看看下面的解决办法:Eclipse 默认把这些受访问限制的API设成了ERROR。只要把Windows-Preferences-Java-Complicer- Errors/Warnings里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过。
JAVA初学者:swing是什么
看看这个就知道了
Java应用程序用户界面开发包
Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。
工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event
用Swing创建图形界面步骤:
(1)导入Swing包
(2)选择界面风格
(3)设置顶层容器
(4)设置按钮和标签
(5)将组件放到容器上
(6)为组件增加边框
(7)处理事件
(8)辅助技术支持
1。导入Swing包
下面语句导入Swing包
import javax.swing.*;
大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包:
import java.awt.*;
import java.awt.event.*;
如果图形界面中包括了事件处理,那么还需要导入事件处理包:
import javax.swing.event.*;
2.选择界面风格
Swing允许选择程序的图形界面风格常用的有java风格,windows风格等
下面的代码用于选择图形界面风格,这里选择的是跨平台的Java界面风格。
try { UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName( )); }
catch (Exception e) { }
(3) 设置顶层容器
图形界面至少要有一个顶级Swing容器
顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持
常用的顶级容器:
JFrame(框架):表示主程序窗口
JDialog(对话框):每个JDialog对象表示一个对话框,对话框属于二级窗口
JApplet(小程序):在浏览器内显示一个小程序界面
一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要部分的窗格
窗格也可以看作是一种面板,但它是框架的一个组成部分
组件不会直接放到框架上,而是放在若干个面板上,这些面板再放到窗格上
用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板
public static void main(String[ ]args){JFrame frame=new JFrame("SwingApplication");
JPanel panel1=new JPanel();
frame.getContentPane().add(panel1,BorderLayout.CENTER);
......//添加其他组件
frame.pack();frame.setVisible(true);}
java中的swing用法
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class TestRegister extends JDialog {
// setup the variable
String name="";
String password="";
JLabel nameL,passwordL;
JTextField nameArea;
JPasswordField passwordArea;
JButton register,login,cancel;
ArrayList User userData = new ArrayList User();
public static void main(String[] args) {
TestRegister test = new TestRegister();
test.setupLayout();
}
public void setupLayout(){
this.setBounds(300, 200,280,120);
this.setTitle("Register");
this.setResizable(false);
this.setModal(true);
setupTypeArea();
this.getData();
this.setVisible(true);
}
public void setupTypeArea(){
JPanel typeArea = new JPanel();
typeArea.setLayout(new FlowLayout());
nameL = new JLabel("name: ");
passwordL = new JLabel("password: ");
nameArea = new JTextField(15);
passwordArea = new JPasswordField(15);
typeArea.add(nameL);
typeArea.add(nameArea);
typeArea.add(passwordL);
typeArea.add(passwordArea);
this.add(typeArea);
JPanel buttonArea = new JPanel();
register = this.addButton("Register", buttonArea);
login = this.addButton("Login", buttonArea);
cancel = this.addButton("Cancel", buttonArea);
this.add(buttonArea,BorderLayout.SOUTH);
}
public JButton addButton(String name,JPanel panel){
JButton temp = new JButton(name);
temp.addActionListener(new ButtonMonitor());
panel.add(temp);
return temp;
}
public void showMessage(String m){
JOptionPane.showMessageDialog(this, m);
}
public void getData(){
try {
Scanner input = new Scanner(new FileReader("D:/data.txt"));
while(input.hasNextLine()){
this.addUser(input.nextLine());
}
} catch (FileNotFoundException e) {
return;
}
}
public void addUser(String data){
String [] s = data.split(" ");
String name = s[0];
String password = s[1];
userData.add(new User(name,password));
}
public void updateData(){
try {
FileWriter saver = new FileWriter("D:/data.txt");
String data = "";
for(int i=0; iuserData.size();i++){
data += userData.get(i).toString()+"\n";
}
saver.write(data);
saver.close();
} catch (IOException e) {
return;
}
}
public void doRegister(){
String name = nameArea.getText();
String password = passwordArea.getText();
if(!name.isEmpty()!password.isEmpty()){
for(int i=0;iuserData.size();i++){
if(name.equals(userData.get(i).getName())){
String m = "这个用户名已经注册!!";
this.showMessage(m);
doCancel();
return;
}
}
userData.add(new User(name,password));
updateData();
doCancel();
}
else{
String m="用户名或者密码是空!!!";
this.showMessage(m);
doCancel();
}
}
public void doLogin(){
String name = nameArea.getText();
String password = passwordArea.getText();
for(int i=0;iuserData.size();i++){
if(name.equals(userData.get(i).getName())password.equals(userData.get(i).getPassword())){
String m = "登陆成功";
this.showMessage(m);
this.doCancel();
return;
}
}
String m ="用户名和密码不匹配!!";
this.showMessage(m);
this.doCancel();
}
public void doCancel(){
nameArea.setText("");
passwordArea.setText("");
}
class ButtonMonitor implements ActionListener{
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("Register")){
doRegister();
}else if(e.getActionCommand().equals("Login")){
doLogin();
}else if(e.getActionCommand().equals("Cancel")){
doCancel();
}
}
}
class User{
String name;
String password;
public User(String name, String password) {
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public String getPassword() {
return password;
}
public String toString(){
return name+" "+password;
}
}
}
给你随便写了一下。。。简单登陆用的话用JDialog就够了不必要用JFrame
其实最好是用数据库
关于javaswing入门和Java Swing的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。