大佬教程收集整理的这篇文章主要介绍了如何在JTable中隐藏网格线,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
你必须设置两个东西
在代码中:
table.setShowGrID(false);
table.seTintercellSpacing(new Dimension(0, 0));
或使用JXtable(来自SwingX项目)为您执行此操作:
xtable.setShowGrID(false, falsE);
我正在尝试隐藏JTable的网格线,但没有结果。即使尝试更改网格线的颜色也不起作用。这是我的代码:
// build the table
tableView = new JTable(ttm);
//Specifify the SELEction Listener and model
listSELEctionModel = tableView.getSELEctionModel();
listSELEctionModel.addListSELEctionListener(new SharedListSELEctionHandler(tableView));
tableView.setSELEctionModel(listSELEctionModel);
//Add a mouse listener to our table and implement double click event
tableView.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent E){
//if Double click in a message show the message Details window
if (e.getClickCount() == 2){
showmessageDetail();
}
}
} );
// set my own renderer
CustomcatellRenderer mtr = new CustomcatellRenderer();
tableView.setDefaultRenderer(Object.class,mtr);
// table properties
tableView.setGridColor(Color.black);
tableView.setShowGrid(false);
//tableView.setShowVerticalLines(false);
//tableView.setShowHorizontalLines(false);
tableView.setSELEctionMode(ListSELEctionModel.SINGLE_SELECTION);
//hide header
tableView.setTableHeader(null);
// hide the id column
String columname = tableView.getcolumnName(TableModel.COLUMN_ID);
tableView.getcolumn(columname).setMaxWidth(0);
tableView.getcolumn(columname).setMinWidth(0);
tableView.getcolumn(columname).setWidth(0);
//load the messages in the table
loadmessages();
//adjust column width
tableView = autoResizeColWidth(tableView,ttm);
public class CustomcatellRenderer extends JPanel implements TableCellRenderer {
/**
* First gradient color
*/
private static final Color COLOR_1 = new Color(255,255,200);
/**
* Second gradient color
*/
private static final Color COLOR_2 = new Color(255,200);
/**
* Controls gradient direction
*/
private static final float SIDE = 50;
private GradientPaint gradientPaint = new GradientPaint(0,COLOR_1,SIDE,COLOR_2,truE);
private JLabel label = new JLabel();
public CustomcatellRenderer() {
setOpaque(true);
setLayout(new BorderLayout());
add(label,BorderLayout.CENTER);
label.setHorizontalAlignment(SwingConstants.CENTER);
}
public Component getTableCellRendererComponent(JTable table,Object value,Boolean isSELEcted,Boolean hasFocus,int row,int column) {
label.setText(value.toString());
return this;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(gradientPaint);
g2.fillRect(0,getWidth(),getHeight());
}
}
始终绘制白色网格线。我被困在这里&Hellip;
我是否必须实现自定义视口才能摆脱这种情况?
预先感谢,亚历克斯
以上是大佬教程为你收集整理的如何在JTable中隐藏网格线全部内容,希望文章能够帮你解决如何在JTable中隐藏网格线所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。