java jtable扩展包_访问包含JTable的JScrollpane - java

我在JScrollpane中有一个JTable。我无权访问JScrollpane变量。但是我可以访问JTable。现在,如何使用JTable访问JScrollpane。

For Example -> mytable.getAncestor(...) or something?

参考方案

如果要从JTable使用中获取JScrollPane

JTable jTable = new JTable(rowData, colData);

JScrollPane scrollPane = new JScrollPane(jTable);

// now you have the ViewPort

JViewport parent = (JViewport)jTable.getParent();

JScrollPane enclosing = (JScrollPane)parent.getParent();

请尝试下面的代码。

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.Dimension;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JRootPane;

import javax.swing.JScrollBar;

import javax.swing.JScrollPane;

import javax.swing.JTable;

/**

*

* @author Patrick Ott

* @version 1.0

*/

public class MainFrame extends JFrame {

private String[][] rowData =

{

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Max", "Mustermann", "Musterhausen"},

{"Petra", "Mustermann", "Musterhausen"}

};

private String[] columnData =

{

"Firstname", "Lastname", "City"

};

private JTable jTable;

public MainFrame() {

jTable = new JTable(rowData, columnData);

jTable.setName("CRM Table");

}

public void createAndShowGui() {

this.setTitle("JTable in JScrollPane");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.getContentPane().add(new JLabel("CRM System"), BorderLayout.NORTH);

JScrollPane scrollPane = new JScrollPane(jTable);

this.getContentPane().add(scrollPane, BorderLayout.CENTER);

this.setSize(new Dimension(1024, 768));

this.setVisible(true);

Container parent = jTable.getParent().getParent();

JScrollPane enclosing = (JScrollPane)parent;

parent.remove(jTable);

parent.add(new JLabel("Test"));

// System.out.println(enclosing.getClass().getSimpleName());

}

}

帕特里克

Java-搜索字符串数组中的字符串 - java

在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…Java Scanner读取文件的奇怪行为 - java

因此,在使用Scanner类从文件读取内容时,我遇到了一个有趣的问题。基本上,我试图从目录中读取解析应用程序生成的多个输出文件,以计算一些准确性指标。基本上,我的代码只是遍历目录中的每个文件,并使用扫描仪将其打开以处理内容。无论出于何种原因,扫描程序都不会读取其中的一些文件(所有UTF-8编码)。即使文件不是空的,scanner.hasNextLine()在…Java Globbing模式以匹配目录和文件 - java

我正在使用递归函数遍历根目录下的文件。我只想提取*.txt文件,但不想排除目录。现在,我的代码如下所示:val stream = Files.newDirectoryStream(head, "*.txt") 但是这样做将不会匹配任何目录,并且返回的iterator()是False。我使用的是Mac,所以我不想包含的噪音文件是.DS_ST…直接读取Zip文件中的文件-Java - java

我的情况是我有一个包含一些文件(txt,png,...)的zip文件,我想直接按它们的名称读取它,我已经测试了以下代码,但没有结果(NullPointerExcepion):InputStream in = Main.class.getResourceAsStream("/resouces/zipfile/test.txt"); Buff…Java RegEx中的单词边界\ b - java

我在使用\b作为Java Regex中的单词定界符时遇到困难。对于text = "/* sql statement */ INSERT INTO someTable"; Pattern.compile("(?i)\binsert\b");找不到匹配项Pattern insPtrn = Pattern.compile(&…

实现 JTable 数据的动态更新可以通过以下步骤完成: 1. 创建 JTable 对象并设置表格模型。 2. 创建一个数据模型并将其与表格模型绑定。 3. 创建一个数据源,可以是数据库或者其他数据来源。 4. 将数据源中的数据填充到数据模型中。 5. 将数据模型中的数据更新到表格模型中。 6. 调用 JTable 的 repaint() 方法刷新表格。 下面是一个简单的示例代码,演示了如何在 JTable 中实现数据动态更新: ```java import javax.swing.*; import javax.swing.table.DefaultTableModel; public class DynamicTableDemo extends JFrame { private DefaultTableModel model; private JTable table; public DynamicTableDemo() { // 创建表格模型 model = new DefaultTableModel(new String[]{"ID", "Name", "Age"}, 0); // 创建 JTable 并设置表格模型 table = new JTable(model); // 将 JTable 添加到窗口 add(new JScrollPane(table)); // 添加数据 addData(1, "Alice", 25); addData(2, "Bob", 30); addData(3, "Charlie", 35); // 设置窗口参数 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400, 300); setLocationRelativeTo(null); setVisible(true); } private void addData(int id, String name, int age) { // 添加数据到数据模型中 model.addRow(new Object[]{id, name, age}); // 刷新 JTable table.repaint(); } public static void main(String[] args) { new DynamicTableDemo(); } } ``` 在上面的示例中,我们创建了一个 JTable 并设置了表格模型。然后通过调用 addData() 方法向表格中添加数据。在 addData() 方法中,我们首先向数据模型中添加数据,然后调用 JTable 的 repaint() 方法刷新表格。这样就可以实现 JTable 数据的动态更新了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值