Java jTable在我创建的面板中不可见
我已经创建了我自己版本的面板,因此我可以创建一些可拖动的表,但目前没有任何内容添加到我创建的面板上 面板类别:Java jTable在我创建的面板中不可见,java,swing,layout,jtable,Java,Swing,Layout,Jtable,我已经创建了我自己版本的面板,因此我可以创建一些可拖动的表,但目前没有任何内容添加到我创建的面板上 面板类别: import javax.swing.*; import java.awt.event.*; import java.awt.Dimension; import java.awt.Point; public class Workspace extends JPanel implements MouseListener,MouseMotionListener{ private
import javax.swing.*;
import java.awt.event.*;
import java.awt.Dimension;
import java.awt.Point;
public class Workspace extends JPanel implements MouseListener,MouseMotionListener{
private JTable t;
private DatabaseHandler d;
public Workspace(DatabaseHandler d ){
super();
this.d = d;
setPreferredSize(new Dimension(1000, 1000));
this.setLayout(null);
addMouseListener(this);
addMouseMotionListener(this);
}
public void load(String table){
t = new JTable(d.getTable(table));
//JScrollPane js=new JScrollPane(t);
this.add(t);
}
}
调用它的代码:
public class Display{
private JPanel leftPanel = new JPanel(new BorderLayout());
public JList list;
public JFrame frame;
private DatabaseHandler d = new DatabaseHandler("imdb");
private Workspace w = new Workspace(d);
public Display(){
//create the window
frame = new JFrame("FYP - Database Refactoring");
frame.getContentPane().add(w, BorderLayout.CENTER);
frame.setSize(1000,1000);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
list = new JList(d.getTableNames());
list.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
JList l = (JList)e.getSource();
w.load((String)l.getSelectedValue());
frame.setVisible(true);
}
});
leftPanel.add(list);
JLabel l = new JLabel("workbench");
w.add(l);
frame.getContentPane().add(leftPanel, BorderLayout.LINE_START);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
new Display();
}
}
如有任何帮助,我们将不胜感激
JDesktopPane
和JInternalFrames
。您可以轻松地在桌面上拖动内部框架。然后您只需将JTable\JScrollPane
添加到内部框架,就像添加到普通JFrame一样
有关更多信息和工作示例,请阅读上Swing教程的部分
所以我可以创建一些可拖动的表
如果您需要能够拖动JTable,我建议您使用JDesktopPane
和JInternalFrames
。您可以轻松地在桌面上拖动内部框架。然后您只需将JTable\JScrollPane
添加到内部框架,就像添加到普通JFrame一样
有关更多信息和工作示例,请阅读上Swing教程的部分。使用空布局是个坏主意。你应该使用我知道,我会在我刚刚测试的时候添加一个布局,事实上,空布局把你搞砸了@你应该回答这个问题。@有点不知所措,那么这是一个糟糕的测试,再一次完全把你搞砸了。您的JTable也应该保存在JScrollPane中。使用空布局是个坏主意。你应该使用我知道,我会在我刚刚测试的时候添加一个布局,事实上,空布局把你搞砸了@你应该回答这个问题。@有点不知所措,那么这是一个糟糕的测试,再一次完全把你搞砸了。您的JTable也应该保存在JScrollPane中。