如何从一列使用鼠标单击事件改变的JTable图像另一列?

我尝试使用以下Java类为JTable中。它添加图片是工作properly.My问题是,当我将尝试使用鼠标点击来改变第三栏图片过第二栏(交换)event.but不会干活。改变testIcon2,testIcon1的发生在鼠标点击事件。

首先我加载像对象[] [] =数据图像{{testIcon,“BOOK1”},{testIcon1,“BOOK2”},{testIcon2,“BOOK3”},{testIcon3,“book4”}}; 在鼠标点击:对象[] [] = DATA1 {{testIcon,“BOOK1”},{testIcon2,“BOOK2”},{testIcon1,“BOOK3”},{testIcon3,“book4”}};

如何将第二列的图像切换到第一栏时,请单击该行?

package pointer; import java.awt.BorderLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.net.URL; import javax.swing.*; import javax.swing.event.MouseInputAdapter; import javax.swing.plaf.OptionPaneUI; import javax.swing.table.*; import sun.swing.ImageIconUIResource; public class TableIcon1 extends JFrame { private JTable table; private int pHeight = 60; public TableIcon1() { URL url = getClass().getResource("image/Pointer.GIF"); final ImageIcon testIcon = new ImageIcon(url); URL url1 = getClass().getResource("image/1.jpg"); final ImageIcon testIcon1 = new ImageIcon(url1); URL url2 = getClass().getResource("image/2.jpg"); final ImageIcon testIcon2 = new ImageIcon(url2); URL url3 = getClass().getResource("image/3.jpg"); final ImageIcon testIcon3 = new ImageIcon(url3); String[] columnNames = {"Picture", "Description"}; Object[][] data = {{testIcon , "book1"}, {testIcon1, "book2"}, {testIcon2, "book3"},{testIcon3, "book4"}}; DefaultTableModel model = new DefaultTableModel(data, columnNames); table = new JTable(model) { public Class getColumnClass(int column) { return getValueAt(1, column).getClass(); } }; table.setRowHeight(pHeight); table.setPreferredScrollableViewportSize(table.getPreferredSize()); JScrollPane scrollPane = new JScrollPane(table); add(scrollPane, BorderLayout.CENTER); table.addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent event) { String[] columnNames1 = {"Picture", "Description"}; Object[][] data1 = {{testIcon , "book1"}, {testIcon2, "book2"}, {testIcon1, "book3"},{testIcon3, "book4"}}; DefaultTableModel model1 = new DefaultTableModel(data1, columnNames1); table = new JTable(model1) { public Class getColumnClass(int column) { return getValueAt(1, column).getClass(); } }; } }); } public static void main(String[] args) { TableIcon1 frame = new TableIcon1(); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); frame.setLocation(150, 150); frame.pack(); frame.setVisible(true); } }

分类:java的 时间:2012-01-01 人气:0
分享到:

相关文章

  • Java的JTable中改变电池图标 2015-02-13

    这已被要求出现一百万次,但因为我仍然有问题我一定感觉特别密集今晚. 我的第一个问题是,当我打电话 ImageIcon icon = new ImageIcon(getClass().getResource("images/x.jpg")); 它在哪儿寻找图像文件夹? 我试图使它成为一个文件夹下我的项目,在src. 我在想什么? 我使用Eclipse. 正如你可能已经猜到了,我没有做太多的Java. 我真正想要做的是一个表中的第一列设置为初始图标,然后允许用户双击它,然后更改图标. 可能

  • Java的JTable中通过JPA结合 2013-11-28

    我试图寻找合适的答案,但没有任何帮助了我那么远. 我很新到Java GUI编程,实际上,Java本身..我有但是管理者了解JPA,如何检索,插入和使用JPA删除. 现在,我想在一个JTable中显示在我的数据库中的数据. 目前,我有以下MySQL表(我想在一个JTable显示 游戏PK编号INT标题出版商体裁RELEASEDATE 至于编码的关注,我已成功检索包含在利用以下表中的数据: public List<Game> getGames(){ List<Game> games;

  • 从Java打印JTable中 2014-12-25

    我有四个JTable中这对于用户看起来像一个表. (为什么4,而不是一个呢?这是一个很长的故事,但我们要保持这种方式)什么是打印这四个表的最佳方式,所以他们仍然看起来像一个表? 打印()方法行的事不是真的允许我们打印四个表在一起吗? 我们也希望在顶部关于表的一些描述性信息,以添加一个传奇. --------------解决方案------------- 谢谢您的回答! 我们找到了一个很好的解决方案! 使用的飞碟XHTMLrenderer生成一个HTML / CSS页面. 在网页然后可以与XHTM

  • java的JTable中:怎么知道行号? 2015-03-09

    我写了一个实现的TableCellRenderer,因为我想把复选框JTable的内部类. 在这个类的getTableCellRendererComponent方法,我有以下条件: 如果(isSelected){做.....} 这一点,如果条件里面,我怎么能知道行号? 代码: private static class ValueRenderer extends JCheckBox implements TableCellRenderer { private static final Color

  • java的JTable中,希望的DefaultTableModel addRow 2012-10-16

    我想行添加到JTable中这样 DefaultTableModel model = new DefaultTableModel(); try { Builder builder = new Builder(); Document doc = builder.build(Config.PATH +"incasation.xml"); Element root = doc.getRootElement(); Elements childs = root.getChildElements(&

  • Java的JTable中导出为PDF 2013-07-04

    目前,我使用的iText我的JTable数据转换为PDF格式. private void print() { Document document = new Document(); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("jTable.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent

  • 秋千JTable中的行执行崩溃和扩大 2012-09-26

    我不得不实行类似下面一个JTable 我想实现行扩大和崩溃,我不知道那是什么电话,不知道如何从谷歌找到. 我希望当有子数据(如学生证报名费,学生证签发费)教育行能够展开和折叠以显示子数据. --------------解决方案------------- 使用JTreeTable看看下面的文章: http://java.sun.com/products/jfc/tsc/articles/treetable1/index.html http://java.sun.com/products/jfc/t

  • 爪哇 - 秋千 - JTable中 - 设置颜色所选行,但不是细胞 2013-08-11

    我试图让我的表中选择一整行,当你点击一个单元格(可以通过关闭列中选择来完成),但是,我不希望你点击加以强调特定的细胞周围多余的粗边框. 我希望这将是容易的,但很明显,所以我做了很多的研究,我可以得到的最接近的是这涉及到渲染器: JTable contactTable = new JTable(tableModel); contactTable.setCellSelectionEnabled(true); contactTable.setColumnSelectionAllowed(false);

  • Java的JTable中的TableCellRenderer问题 2013-12-19

    我已经实现了一个名为scrTbl在程序中的JTable,我希望能够改变文字颜色在此表中的一列,是根据所谓的"向上"的外部的布尔变量. 我的代码与此相关的努力是如下. TableColumn tcol = scrTbl.getColumnModel().getColumn(9); tcol.setCellRenderer(new CustomTableCellRenderer()); public class CustomTableCellRenderer extends Default

  • Java的JTable中的TableCellRenderer随着ImageIcon的柱 2014-06-12

    我有一个表,其中有两列的自定义表格模型. 列0是一个ImageIcon类,第1列是一个String类. public Class<?> getColumnClass(int col) { if (col == 0) { return ImageIcon.class; } else { return String.class; } } 当我定义一个新的TableCellRenderer的类被添加到列,所以我可以样式化细胞,它覆盖了ImageIcon的类,它设置为一个字符串. public cla

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.471 (s). 10 q(s)