加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

SwingBuilder中使用Jtable,例3

发布时间:2020-12-14 17:05:50 所属栏目:大数据 来源:网络整理
导读:import java.awt.*import javax.swing.*import javax.swing.table.*import groovy.swing.SwingBuilderclass MyTableCellRenderer extends JLabelimplements TableCellRenderer { public Component getTableCellRendererComponent( JTable table,Object value
import java.awt.*
import javax.swing.*
import javax.swing.table.*
import groovy.swing.SwingBuilder

class MyTableCellRenderer extends JLabel
implements TableCellRenderer {
    public Component getTableCellRendererComponent(
                        JTable table,Object value,boolean isSelected,boolean hasFocus,int rowIndex,int vColIndex) {
        
        setText(value.toString())

        File file = new File(value)

        if( !file.exists() ) { setForeground(Color.red) }

        return this
    }
}

///////////////////////////////////////////////////////////////
// static public void main(String[] args)
//
// args[0] = env var to view

final String DELIMITER = ';'   // change this for Unix

String envVar = System.getenv(args[0])

// Build data

String[] columns = [ args[0] ]

String[] values = envVar.split(DELIMITER)
Object[][] data = new String[values.length]

for( i in 0..values.length-1 ) {
    String[] row = new String[1]
    row[0] = values[i]
    data[i] = row
}

// Build GUI. Note that this is quick-n-dirty stuff,// that illustrates a SwingBuilder more than proper
// Swing techniques.

builder = new SwingBuilder()

JTable table = new JTable(data,columns)
def renderer = new MyTableCellRenderer()
table.columnModel.getColumn(0).setCellRenderer(renderer)
JScrollPane scrollPane = new JScrollPane(table)

gui = builder.frame( title:'Code to Joy',size:[520,500] ) {
    panel( layout: new BorderLayout(),constraints: BorderLayout.NORTH ) {
       widget(scrollPane)   // THIS is a revelation
   }
}

gui.show()

http://codetojoy.blogspot.com/2007/08/groovy-swingbuilder-and-secret-methods.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读