javaswing增删改查功能怎么实现(java中,想在界面上显示多行文本,并能对选中文本进行增删改查操作,应该选什么控件啊)

本文目录
- java中,想在界面上显示多行文本,并能对选中文本进行增删改查操作,应该选什么控件啊
- 有没有大神可以帮助用java创建一个swing页面,能实现jdbc增删改查的内容
- Java swing,从数据库获取读者信息放入JLable,怎样在对数据库增删改查后,使表格自动刷新显示内容
- 用JAVA图形界面做一个学生管理系统,要有增删改查功能,不要连接数据库的那种,急用~~
- 谁能给个java的小例子,实现swing调用sql的表,并能进行增删改查操作
- 如何使用java写一个增删改查的通用类,不需要连接数据库
- 想做一个JAVA连接oracle的简单的用swing实现界面的对表单的增删改查的小实例有人有相关代码吗
- 如何在Swing中点击按钮组件来实现jdbc的增删改查
java中,想在界面上显示多行文本,并能对选中文本进行增删改查操作,应该选什么控件啊
如果你是Java-Swing的话,那你在左边的控件栏找JTextArea,添加就是了。
如果我的回答没能帮助您,请继续追问。
你的采纳是我前进的动力。记得好评和采纳。
有没有大神可以帮助用java创建一个swing页面,能实现jdbc增删改查的内容
class demo {
/**页面布局*/
/**add button1 **/
/**add button2 **/
/**add button3 **/
/**add button4 **/
/**同时给四个按钮添加监听*/
}
class button1Listener{
/**add*/
insert into tablename values(1,2,3,4,...);
//或者
insert(数组);
}
class button2Listener{
/**delete*/
delete tablename where 列名 = ‘’;
//或者
deletebyperimery(主键);
}
/**修改*/
/**查询*/
Java swing,从数据库获取读者信息放入JLable,怎样在对数据库增删改查后,使表格自动刷新显示内容
···你的TableModel 继承了DefaultTableModel 就可以实时更新数据了啊
你把所有行删了 再插入查询的行
或者你直接移除table再插入table
用JAVA图形界面做一个学生管理系统,要有增删改查功能,不要连接数据库的那种,急用~~
你试一下这个。
应该都达到你说的了。
-------------------------------------------------------------------------------------------------------------------
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class AppStudent extends JFrame {
private JTextField nameField;
private JTextField sexField;
private JTextField ageField;
private JTextField stunoField;
private JTextField clazzField;
private JTextField facultyField;
private JTable table;
private DefaultTableModel model;
private String columns = { "姓名", "性别", "年龄", "学号", "班级", "系别" };
private List data;
private Student tmp;
// 姓名,性别,年龄,学号,班级,系别
public AppStudent() {
data = new ArrayList();
getContentPane().setLayout(null);
JLabel lblName = new JLabel("姓名");
lblName.setBounds(12, 10, 50, 13);
getContentPane().add(lblName);
nameField = new JTextField();
nameField.setBounds(74, 7, 96, 19);
getContentPane().add(nameField);
nameField.setColumns(10);
JLabel lblSex = new JLabel("性别");
lblSex.setBounds(182, 10, 50, 13);
getContentPane().add(lblSex);
sexField = new JTextField();
sexField.setBounds(244, 7, 96, 19);
getContentPane().add(sexField);
sexField.setColumns(10);
JLabel lblAge = new JLabel("年龄");
lblAge.setBounds(352, 10, 50, 13);
getContentPane().add(lblAge);
ageField = new JTextField();
ageField.setBounds(414, 7, 96, 19);
getContentPane().add(ageField);
ageField.setColumns(10);
JLabel lblStuno = new JLabel("学号");
lblStuno.setBounds(12, 36, 50, 13);
getContentPane().add(lblStuno);
stunoField = new JTextField();
stunoField.setColumns(10);
stunoField.setBounds(74, 33, 96, 19);
getContentPane().add(stunoField);
JLabel lblClass = new JLabel("班级");
lblClass.setBounds(182, 36, 50, 13);
getContentPane().add(lblClass);
clazzField = new JTextField();
clazzField.setColumns(10);
clazzField.setBounds(244, 33, 96, 19);
getContentPane().add(clazzField);
JLabel lblFaculty = new JLabel("系别");
lblFaculty.setBounds(352, 36, 50, 13);
getContentPane().add(lblFaculty);
facultyField = new JTextField();
facultyField.setColumns(10);
facultyField.setBounds(414, 33, 96, 19);
getContentPane().add(facultyField);
JButton btnAdd = new JButton("add");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
add();
}
});
btnAdd.setBounds(192, 59, 67, 21);
getContentPane().add(btnAdd);
JButton btnDel = new JButton("del");
btnDel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
del();
}
});
btnDel.setBounds(271, 59, 58, 21);
getContentPane().add(btnDel);
JButton btnUpdate = new JButton("update");
btnUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
update();
}
});
btnUpdate.setBounds(352, 59, 77, 21);
getContentPane().add(btnUpdate);
JButton btnFind = new JButton("find");
btnFind.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
find();
}
});
btnFind.setBounds(441, 59, 69, 21);
getContentPane().add(btnFind);
model = new DefaultTableModel(columns, 0);
table = new JTable(model);
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int row = table.getSelectedRow();
nameField.setText((String) table.getValueAt(row, 0));
sexField.setText((String) table.getValueAt(row, 1));
ageField.setText((String) table.getValueAt(row, 2));
stunoField.setText((String) table.getValueAt(row, 3));
clazzField.setText((String) table.getValueAt(row, 4));
facultyField.setText((String) table.getValueAt(row, 5));
tmp = getInput();
}
});
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setBounds(12, 90, 571, 248);
getContentPane().add(scrollPane);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(601, 380);
setResizable(false);
setVisible(true);
}
private Student getInput() {
Student stu = new Student();
stu.name = nameField.getText();
stu.sex = sexField.getText();
stu.age = ageField.getText();
stu.stuno = stunoField.getText();
stu.clazz = clazzField.getText();
stu.faculty = facultyField.getText();
return stu;
}
private void add() {
data.add(getInput());
showTable();
}
private void del() {
for (int i = 0; i 《 data.size(); i++) {
if (tmp.equals(data.get(i))) {
data.remove(i);
break;
}
}
showTable();
}
private void update() {
Student stu = getInput();
for (int i = 0; i 《 data.size(); i++) {
if (tmp.equals(data.get(i))) {
data.remove(i);
data.add(i, stu);
break;
}
}
showTable();
}
private void find() {
removeRows();
Student stu = getInput();
for (int i = 0; i 《 data.size(); i++) {
Student tmp = (Student) data.get(i);
if (tmp.equals(stu)) {
model.addRow(tmp.toArray());
break;
}
}
}
private void showTable() {
removeRows();
for (int i = 0; i 《 data.size(); i++) {
Student stu = (Student) data.get(i);
model.addRow(stu.toArray());
}
}
private void removeRows() {
while (model.getRowCount() 》 0) {
model.removeRow(0);
}
}
public static void main(String args) {
new AppStudent();
}
}
class Student implements Serializable {
public String name;
public String sex;
public String age;
public String stuno;
public String clazz;
public String faculty;
public boolean equals(Object obj) {
return equals((Student) obj);
}
public boolean equals(Student obj) {
boolean isName = true;
if (obj.name != null && !"".equals(obj.name)) {
isName = name.equals(obj.name);
}
boolean isSex = true;
if (obj.sex != null && !"".equals(obj.sex)) {
isSex = sex.equals(obj.sex);
}
boolean isAge = true;
if (obj.age != null && !"".equals(obj.age)) {
isAge = age.equals(obj.age);
}
boolean isStuno = true;
if (obj.stuno != null && !"".equals(obj.stuno)) {
isStuno = stuno.equals(obj.stuno);
}
boolean isClazz = true;
if (obj.clazz != null && !"".equals(obj.clazz)) {
isClazz = clazz.equals(obj.clazz);
}
boolean isfaculty = true;
if (obj.faculty != null && !"".equals(obj.faculty)) {
isfaculty = faculty.equals(obj.faculty);
}
return isName && isSex && isAge && isStuno && isClazz && isfaculty;
}
public String toArray() {
return new String { name, sex, age, stuno, clazz, faculty };
}
}
谁能给个java的小例子,实现swing调用sql的表,并能进行增删改查操作
LZ要得是代码,就给楼主代码嘛,对于刚学java的人来说肯定对API看得不是很明白,要有比较明确的例子才可以更好的去理解每一个方法,对于楼主的问题,我想说的,首先你要有一个很明确的思路,首先你要写一个DefaultTableModel,这个model是决定你如何显示这些信息的,比如说,第一行显示姓名,然后显示性别。等等。然后从数据库里获得数据,然后传入到这个model中。
其次在你的swing中定义一个table,然后实例化你定义的这个model,然后用table.setMode(DefaultTableModel),把你实例化的那个model传入到table中,这样就会在tabale中显示了你要的结果,至于你说要与数据库连接操纵,这里你就需要加入相关的鼠标listener了,在这个例子中,我给你加入了删除和修改两个操作,就是当对这表格点击鼠标的时候,会出现相应的选择。这你需要用到JPopupMenu, 和JPopupMenu的元素JMenuItem了
首先给你tablemodel的类:
//这个类定义了你如何在表格中显示数据和如何获得表格中的数据,需要把二维数组传入这个类,所以在构造函数中传入了二维数组
public class FriendTableModel extends DefaultTableModel {
private String columns = {"学号","姓名","性别","年龄","邮箱"};
private Object a;
public FriendTableModel(Object a) {
this.a=a;
}
public Object getUserAt(int rowIndex)
{
Object;
return u;
}
public void removeRow(int row) {
a=null;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Object;
switch(columnIndex) {
case 0:
return u;
case 1:
return u;
case 2:
return u;
case 3:
return u;
case 4:
return u;
default:
return "";
}
}
@Override
public int getColumnCount() {
return columns.length;
}
@Override
public int getRowCount() {
if (a==null) return 0;
return a.length;
}
@Override
public boolean isCellEditable(int r, int c) {
return false;
}
@Override
public String getColumnName(int columnIndex) {
return columns;
}
}
然后给你主类,这个类中包含了与数据连接,把数据转换二维数组,定义各个操作的listener,等
public class DataFrame extends JFrame implements ActionListener
{
public static void main(String args)
{
new DataFrame();
}
Connection con;
Statement stmt;
ResultSet rs;
Object a就是一个i行j列的表,用来显示数据库中数据用的
Object b; //从tablemode返回的一行数据, 当你修改数时,向数据库更新的时候,数据从这个对象中获得;
int row;//你修改或者要删除的行
int i=0; //输据的条数
JTable jTable = null;//用来显示表格
JPopupMenu jPopupMenu;//用来显示你对表格的操作
private JMenuItem delete; //删除操作
private JMenuItem upload;//修改操作
Object header={"学号","姓名","性别","年龄","邮箱"};//e是一个j列的表头,用来存储字段名称的,比如说上面的"学号","姓名"等字符串
DataFrame()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println("Error:"+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:mySql","sa","123");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("select * from student");
while(rs.next())//把数据库数据写入二维数组
{
a=rs.getInt(1);
a=rs.getString(2);
a=rs.getString(3);
a=rs.getInt(4);
a=rs.getString(5);
i++;
}
}
catch(SQLException e)
{
System.out.println("SqlError:"+e);
}
jTable = new JTable();
jTable.addMouseListener(new inMouseEven()); //给鼠标定义事件,就是你点击鼠标的时候,会发生的事情
jTable.setShowGrid(false);
jPopupMenu = new JPopupMenu();
delete = new JMenuItem();
delete.setText("删除");
delete.addMouseListener(new Delete_mouseAdapter());//给点击删除时增加事件
upload = new JMenuItem();
upload.setText("修改");
upload.addMouseListener(new Uoload_mouseAdapter());//给点击更新时增加事件
jPopupMenu.add(delete);
jPopupMenu.add(upload);
FriendTableModel ftm = new FriendTableModel(a); //实例化tablemodel,把二维数组传进去
if (ftm.getRowCount() 》 0) {
jTable.setModel(ftm);//把Tablemodel传入table中
}
Container con=getContentPane();
getContentPane().add(new JScrollPane(jTable),BorderLayout.CENTER);
setSize(400,300);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
//当你点击表格中的一行,出现选项,让你选择具体操作,此处是点击鼠标事件的具体代码
private class inMouseEven extends MouseAdapter {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() 《 1) {
return;
}
row = jTable.getSelectedRow(); //返回你点击的行数
if (row 》= 0) {
FriendTableModel ftm =(FriendTableModel) jTable.getModel();
b= ftm.getUserAt(row ); //返回此行的数据
jPopupMenu.show(DataFrame.this, e.getX() + 160, e.getY() + 75);//出现操作选项
}
}
}
//删除操作的listenr,对应的code
private class Delete_mouseAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
try {
String sql = "delete from **where id = " + b中对应的是表格中一行数据。
stmt.executeQuery(sql);
FriendTableModel ftm =(FriendTableModel) jTable.getModel();
ftm.removeRows(0, row );
jTable.updateUI();
} catch (SQLException ex) {
Logger.getLogger(DataFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
//更新操作对应的code
private class Uoload_mouseAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
String sql ="UPDATE Student SET Address = %s, City = %s WHERE id = %s" %b中获得
stmt.executeQuery(sql);
}
}
}
其中一些sql语句没有给你写出,这个你照着你的数据库写,还有数据库的链接你需要改一下,上面的代码没有经过测试,因为我没有链接数据库,但是整体思路就应该是这样,对应你的具体要求,修改代码,我想应该可以运行起来的,你需要去理解这些代码,然后写出sql语句,给出正确的数据库配置,修改其中可能的错误。
所有代码都是亲手写的,希望对刚接触java的你有用。
如果你从中得到帮助,记得肯定我的劳动,给我分哦。
如何使用java写一个增删改查的通用类,不需要连接数据库
import java.util.LinkedList;
import javax.swing.text.html.HTMLDocument.Iterator;
public class TestKnow {
public static void main(String args) {
Student s1 = new Student(1,"s1",15);
Student s2 = new Student(2,"s2",15);
Student s3 = new Student(3,"s3",15);
Grade g = new Grade(1);
g.add(s1);g.add(s2);g.add(s3);//增
g.delete(s1);//删
Student s4 = new Student(4,"s4",12);
g.change(s2, s4);//改
Student ss = g.check(3);//查
System.out.println(ss.name);
}
}
class Student{
int num;//学号
String name;
int age;
public Student(int num,String name,int age){
this.num = num;
this.name = name;
this.age = age;
}
}
class Grade{
int gnum;
LinkedList《Student》 grade;
public Grade(int gnum){
this.gnum = gnum;
grade = new LinkedList《Student》();
}
public void add(Student s){
grade.add(s);
}
public Student check(int n){
java.util.Iterator《Student》 it = grade.iterator();
while(it.hasNext()){
Student temp = it.next();
if(temp.num==n)
return temp;
}
return null;
}
public void delete(Student s){
if(grade != null)
if(check(s.num)!=null)
grade.remove(s);
else
System.out.println("没有此人");
else
System.out.println("班里没人");
}
public void change(Student s1,Student s2){
if(grade != null)
if(check(s1.num)!=null)
{
grade.remove(s1);
grade.add(s2);
}
else
System.out.println("没有要替换的人");
else
System.out.println("班里没人");
}
}
想做一个JAVA连接oracle的简单的用swing实现界面的对表单的增删改查的小实例有人有相关代码吗
代码都太大了都是一个工程的。15M,
说下思路,写4个class,一个用来画主界面,一个用来处理逻辑操作,一个用来增加,修改界面,一个用来处理增加,修改逻辑。
主界面类用3个panle,北,中,南,上面放查询控件,查询按钮,中间放table,下面放其他按钮。
将主界面类作为逻辑处理操作类的一个属性。让他能访问到主界面类中相应的控件。写上对于的控件事件出来就可以了。
如何在Swing中点击按钮组件来实现jdbc的增删改查
你的java和图片放在一个目录,
我都是放在C盘根目录了,
给你稍微改了一下代码:
import java.awt.*;
import javax.swing.*;
public class TestGra extends JFrame {
Container c = getContentPane();
JLabel lb;
Image image;
public TestGra() {
// 就改这里了
ImageIcon img = new ImageIcon(System.getProperty("user.dir") + "\\1.jpeg");
lb = new JLabel(img);
add(lb, BorderLayout.CENTER);
setSize(800, 600);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String as) {
new TestGra();
}
}

更多文章:
form表单制作(为什么制作的form表单会在网页显示中多出一行)
2026年10月11日 09:10
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50





