有没有办法在 Java AWT 中创建表?我需要创建简单的 Java AWT 程序,用于从数据库中插入、编辑、删除和读取用户。
问问题
3100 次
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 回答