2

有没有办法在 Java AWT 中创建表?我需要创建简单的 Java AWT 程序,用于从数据库中插入、编辑、删除和读取用户。

4

3 回答 3

0

是的:用一堆标签作为单元格和一个滚动窗格制作您自己的表格。您可以对其进行设置以即时添加更多单元格/标签,并添加您想要的任何功能。

如果您不能或不想执行上述操作,那么您可以寻找为 AWT 创建表的第三方库。

或者采取更容易和更快的选择,只使用挥杆。

于 2012-09-16T22:55:45.427 回答
0

您可以在摇摆 JTable 中制作表格。但现在你应该使用图形:

import java.awt.*;
public class name extends Frame{
 name(){
  setLayout(new FlowLayout());
  setSize(1000,1000);
  setVisible(true);
}//end of name()
public void paint(Graphics g){//opening graphics
  g.drawRect(10,50,100,100);//make a rectangle 
  g.drawRect(50,50,100,100);//another rectangle
  g.drawRect(10,100,100,100);//and another
  g.drawRect(50,100,100,100);//last rectangle
  g.drawString("SOMTHING", 30,80);//write a text in a rectangle
}//end of graphics
public static void main(String[] args){
  name n=new name();
}
}//end of Frame
于 2019-07-10T14:10:47.260 回答
0

您可以使用带有 GridLayout 的面板以及组件(标签或文本字段)来创建,然后您可以将该面板放在框架内。这是示例代码!希望这会奏效!

但唯一的问题是,我们无法为放置在 GridLayout 中的组件设置大小!谁知道如何在GridLayout中设置组件的大小,请留言!

import java.awt.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class AwtTable extends Frame{

    AwtTable(){
        
        Panel p = new Panel();
        Color c = new Color(241, 216, 252);
        
        try {
            
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database","root","password");
            
            PreparedStatement ps = con.prepareStatement("select * from table_name;");
            ResultSet rs = ps.executeQuery();
            
            TextField l1 =null,l2=null,l3=null,l4=null,l5=null,l6=null ;
            int row=1;
            while(rs.next()) {
                
                l1 = new TextField();
                l1.setText(rs.getString(1));
                l2 = new TextField();
                l2.setText(rs.getString(2));
                l3 = new TextField();
                l3.setText(Integer.toString(rs.getInt(3)));
                l4 = new TextField();
                l4.setText(rs.getString(4));
                l5 = new TextField();
                l5.setText(rs.getString(5));
                l6 = new TextField();
                l6.setText(Long.toString(rs.getLong(6)));
                
                Button add = new Button("Edit");
                Button delete = new Button("Delete");   
                add.setSize(70,20);
                delete.setSize(70,20);

                p.add(l1);p.add(l2);p.add(l3);p.add(l4);p.add(l5);p.add(l6);
                p.add(add);p.add(delete);
                p.setLayout(new GridLayout(row,8));
                row++;
            }
            p.setBackground(Color.white);
            p.setBounds(100,100,1000,400);
            add(p);
            
            setLayout(null);
            setVisible(true);
            setSize(700,500);
            setTitle("Employee Datas");
            setBackground(c);
            
        }catch(Exception e) {
            System.out.println(e);
        }   
    }
    public static void main(String[] args) {
        AwtTable at = new AwtTable();
    }
}
于 2021-09-25T07:51:34.783 回答